harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: performance of drlvm
Date Fri, 25 Aug 2006 10:46:51 GMT
On 8/25/06, zouqiong <ustczz@gmail.com> wrote:
>
> En, I list some paper I have read.
>
> 1.Efficient Representations and Abstractions for Quantifying and
> Exploiting
> Data Reference
>    Locality.
> 2.Bursty Tracing: A Framework for Low-Overhead Temporal Profiling
> 3.Dynamic Hot Data Stream Prefetching for General-Purpose Programs
> 4.Profile-guided Proactive Garbage Collection for Locality Optimization
>
> list 1-4 provide the framework to trace, and the algorithm to process the
> trace.


Ok, I will read all of them on this weekend and hope I will be  more
educated in algorithm you decided to use. Now, I read only 3rd paper and see
that this is not enough to  understand all of the details.

And the problems I faced now are:
> 1. Which library to choose to profile the Data Reference Trace. PAPI? We
> need to
> know the pc of the instructions which incur most of the cache miss. I am
> afraid of
> the profiling overhead.


I would suggest to try this library: http://perfmon2.sourceforge.net/
(paper: http://perfmon2.sourceforge.net/ols2006-perfmon2.pdf)
PAPI was a good library several years ago but today it's development is
frozen and AFAIK P4 support is incomplete.

Why do you worry about profiling overhead if you can counfigure PMU to store
in buffer only one event per million?

2.How to abstract the Data Reference Trace for JAVA? Egor had given some
> clue
> on it.


This is the key problem. I hope I will have an opinion on it when I read all
of the articles you mentioned.
The only idea I have now is that using an address of an object is not a
problem. Once GC moves objects we can ask it to patch our references too.

And now I want to know the schedule for this project.  I expect to join it.
> But I am not
> familiar with GC and interface for profile in drlvm, can you give me some
> clue or
> suggestion to learn them as soon as possible. Thanks.


I'm also not a guru in GC, but I think there are a lot of people here who
know the answers and can help in the area they are interested.
So the proposal is:
1) You make the schedule and lead this project. I can help you with dynamic
recompilation scenarios implementations and with JIT code generation and
optimizations.
2) Why do not to implement classic Chilimbi algorithm first and enhance it
with PMU data when it's tested?


-- 
Mikhail Fursov

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message