Email: (comain AT gmail DOT com)
IM: comainchen AT hotmail DOT com(msn)
Project and Proposals
Idea: Implementing a 1-pass parallel compactor for DRLVM(harmony-gc-1)
Current GC implementation in DRLVM uses two parallel compactors for the compaction process: the LISP2-based sliding compactor and 2-pass parallel-move compactor. They need 3 heap passes and 2 heap passes respectively. The 1-pass compactor proposed in 1 seems a promising alternative; it achieves high scalability, high efficiency and almost perfect memory compaction.
The project aims at implementing this compactor in DRLVM GC and severing as the third choice for current compactors in the GC. The evaluation should be done to clarify:
1) Ensures the compressor works right. It must pass existing test cases and should be substitutable as a module with other compressors.
2) Whether the compressor achieves better performance than existing compressors?
3) In what scenario the compressor works best which can be contributed as a good run time adaption policy for the GC.
The new compressors should contribute to the GC implementation in two ways:
1) Supply a new compressor that only needs one heap pass.
2) Contribute a new alternative for current compaction algorithms, making the GC more adaptable for different scenarios.
The work is divided as several sub tasks:
1) Initial survey and planning. I will need a careful survey in existing compressor implementations in DRLVM and the overall design of the whole GC. Also some survey of the virtual memory operation over the porting layer should be carried out.
2) Project design. This phase will work out a clean architecture design of the compressor and setting up basic working environments.
3) Coding and documentation.
4) Testing and Evaluation.
5) Wrap up.
The harmony community is very active now and I hope I can get guidelines and feedback from the community during the project.
- Source code and clean documentation of the new compressor.
- Evaluation reports of the compressor.
- April 15-April 30: Survey of existing GC implementation especially the parallel compressor module.
- May 1-May 7: Survey of the virtual memory operations over porting layer.
- May 8-May 26: Architecture Design.
- May 27-July 7: Coding
- July 7-July 14: Preparation and submission of Mid-Term evaluation
- July 15-July 31: Evaluation
- August 1-August 7: Adding necessary documentation and user guides.
- August 7- August 11: Final release and bug fixing.
- August 11 - August 18: Preparation for Final Evaluation.
I am a third year master student in Institute of Software, the Chinese Academy of Sciences, majoring in computer software and theory. The research area I have mainly focused on is service oriented computing, with developing experiences both on a SOAP processing engine and a service discovery system (The latter is available at http://code.google.com/p/servicescout).<<BR>> I have several years of Java developing experiences and a good C programming capability. Actually the axis related projects hosted in gsoc is possibly a perfect match for my background, but I decided to choose the harmony gc project because I have great interest JVM implementation details and the gc implementation in particular.
Haim Kermany, Erez Petrank: The Compressor: concurrent, incremental, and parallel compaction. PLDI 2006 (1)