On 8/25/06, zouqiong <[EMAIL PROTECTED]> 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