Java High Performance Memory System
Java is well known as a high level, robust, secure, object-oriented, and platform independent language and environment. Also well known is the fact that these desirable attributes exact a significant performance penalty, which heretofore has limited Java's utility in the arena of numerically intensive, high performance computing. Unfortunately, object-oriented applications tend to be dynamic memory intensive. Dynamic memory in an object-oriented system is maintained by an Automatic Dynamic Memory Management (ADMM) System or a Garbage Collection (GC) System, which accounts for up to 43% of Java run time, up to 74% write cache misses and up to 90% read cache misses. Through the support from the ADMM, programmers are more productive and software reliability and functionality is enhanced, but traditional GC algorithms are slow, non-deterministic and power inefficient. Thus, the memory management becomes a bottleneck.
On the other hand, before an application can be executed in a system, it has to be loaded to memory. For applications such as signal and image processing, their execution complexity requires a large amount of memory that can consume 20% to 80% of global power. Furthermore, a study shows memory access can consume up to 75% of total energy in an embedded Java virtual machine such as Sun's KVM to run an application that mostly idling. Even though memory has become less expensive today, there is some room to improve by taking advantage of data compression theory to reduce memory footprints and turn off unused memory to reduce power consumption and extend operation time of mobile embedded devices.
The objectives of this project are then to develop a memory system that operates garbage collection routines bounded in small time, to improve application performance through hardware/software co-design, to reduce power consumption through compression, and to integrate software and hardware development processes and research results into system learning, training and teaching.
Journal Publication:
- W. Srisa-an, C. D. Lo and J. M. Chang, "Active Memory Processor: A Hardware Garbage Collector for Real-time Java Embedded Devices", In the IEEE Transactions on Mobile Computing, Vol. 2, No. 2, April-June 2003, pp. 89 - 101.
- C. D. Lo, W. Srisa-an, and J. M. Chang, "Who Is Collecting Your Java Garbage?", IEEE IT Professional, Volume 5, Number 2, April 2003, pp. 44 - 50.
- C. D. Lo, W. Srisa-an, and J. M. Chang, "The Design and Analysis of a Quantitative Simulator for Dynamic Memory Management," In The Journal of Systems and Software , Elsevier Science, Vol 72/3 pp 443-453, August 2004.
- W. Srisa-an, C. D. Lo and J. M. Chang, "A Performance Perspective on the Active Memory System", In International Journal of Microprocessors and Microsystems, Vol. 26/9-10, Elsevier Science, December 2002. pp. 421-432.
- J. M. Chang, W. Srisa-an, C.D. Lo, and E. F. Gehringer, "DMMX: Dynamic Memory Management Extensions," The Journal of Systems and Software , Volume 63, Issue 3, Elsevier Science, Sep. 2002. pp. 187-199.
- W. Srisa-an, C. D. Lo and J. M. Chang, "Object Resizing and Reclamation through the Use of Hardware Bit-maps," International Journal of Microprocessors and Microsystems , Elsevier Science, volume 25, 2002, pp.459-467.
- C. D. Lo, W. Srisa-an and J. M. Chang, "Performance Analysis on the Generalized Buddy System," In IEE Proceedings, Computers and Digital Techniques, Vol. 148, No. 4/5, July/September 2001, pp. 167-175
- C. D. Lo, W. Srisa-an and J. M. Chang, "A Study of Page Replacement Performance in Garbage Collection Heap," The Journal of Systems and Software, vol. 58, 2001, pp. 235-245
- W. Srisa-an, C. D. Lo and J. M. Chang, "A Hardware Implementation of Realloc function," Integration, the VLSI Journal , Volume 28, Elsevier Science, 1999. pp. 173-184.
Conference Publication:
- C. D. Lo and M. Kato, "Power Consumption Reduction by Memory Compression in Java Embedded Systems," in the 2006 International Workshop on International Workshop on Computer Architecture, VLSI, and Embedded Systems (In conjunction with ICS 2006), Taipei, Taiwan, December 04-06, 2006, Vol. 1, pp. 230-235.
- M. Kato and C. D. Lo, "Impact of Java Compressed Heap on Mobile/Wireless Communication," in the proceeding of International Conference on Information Technology Coding and Computing, ITCC 2005 (Sponsored by IEEE Computer Society), April 4-6, 2005, Las Vegas, NV, USA, pp. 2-7.
- M. Kato and C. D. Lo, "A Heap De/Compression Module for Wireless Java," in the 3rd International Conference on the Principles and Practice of Programming in JavaTM, Las Vegas, Nevada. June 16th-18th, 2004, (Acceptance Rate: 17/38) pp.91-99.
- C. D. Lo, "The Design of a Self-Maintained Memory Module for Real-Time Systems," The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, June 30 - July 2, 2003 Calgary, Alberta, Canada, pp. 337-342.
- C. D. Lo and M. Kato, "Power Consumption Reduction in Java Embedded Systems," International Conference on Computer, Communication and Control Technologies: CCCT 2003, July 31, August 1-2, Orlando, Florida, USA. (Best Paper Award) pp. 123 – 128.
- C. D. Lo, W. Srisa-an and J. M. Chang, "A High Performance Garbage Collector for Java," in the Proceeding of the 2002 International Computer Symposium, ICS 2002, National Dong Hwa University, Hualien, Taiwan, Dec. 18-21, 2002. (Acceptance Rate: 247/402)
- W. Srisa-an, C. D. Lo, and J. M. Chang "Performance Enhancements to the Active Memory System ", in the Proceedings of IEEE International Conference on Computer Design, (ICCD 2002), Freiburg, Germany, September 16-18, 2002, pp. 249-256.
- C. D. Lo, W. Srisa-an and J. M. Chang, "A multithreaded concurrent garbage collector which parallelizes the new instruction in Java," in International Parallel and Distributed Processing Symposium, Fort Lauderdale, Florida, April 15-19, 2002, pp. 59-64.
- C. D. Lo, W. Srisa-an and J. M. Chang, "A Performance Comparison between Stop-the-World and Multithreaded Concurrent Garbage Collection for Java," in 21st IEEE International Performance, Computing, And Communications Conference (IPCCC 2002), Phoenix, Arizona, April 3-5, 2002, pp. 301-308
- C. D. Lo, J. M Chang, O. Frieder and D. Grossman, “The Object Behavior of Java Object-Oriented Database Management Systems,” in Third IEEE Conference on Information Technology ITCC-2002, Las Vegas, Nevada, USA, April 8-10, 2002, pp. 247 – 252.
- W. Srisa-an, C. D. Lo and J. M. Chang, "Active Memory: Garbage-Collected Memory for Embedded Systems," Second Annual Workshop on Hardware Support for Objects and Microarchitectures for Java, Austin, Texas, Sep. 17, 2000. pp.11-15.
- J. M. Chang, W. Srisa-an and C. D. Lo, "Architectural Support for Dynamic Memory Management," Proceedings of IEEE International Conference on Computer Design, Austin, Texas, Sep. 17-20. 2000, pp.99-104.
- W. Srisa-an, C.D. Lo, and J. M. Chang, "Scalable Hardware-algorithm for Mark-sweep Garbage Collection," Proceedings of Euromicro Conference on Digital System Design , Maastricht, Netherlands, Sep. 5-7, 2000. pp. 274-279.
- J. M. Chang, W. Srisa-an, C.D. Lo, and E. F. Gehringer, "Hardware Support for Dynamic Memory Management" Workshop notes of International Symposium on Computer Architecture (ISCA) workshop on Solving the Memory Wall Problem, Vancouver, B.C. June 11, 2000.
- C.D. Lo, W. Srisa-an, J. M. Chang, "Page Replacement Performance in Garbage Collection Systems," to appear in the Proceedings of 13th International Conference on Parallel and Distributed Computing Systems, Las Vegas, Nevada, August 8-10, 2000. pp.374-379.
- J. M. Chang, W. Srisa-an, and C. D. Lo, "Hardware Support for Concurrent Garbage Collection in SMP Systems," Proceedings of Fourth IEEE International Conference on High Performance Computing in Asia-Pacific Region , Beijing, China, May. 14-17, 2000. pp.513-517.
- C.D. Lo, W. Srisa-an, J. M. Chang, "A Quantitative Simulator for Dynamic Memory Managers," the Proceedings of IEEE International Symposium on Performance Analysis of Systems and Software, Austin, TX. April 24-25, 2000. pp.64-69.
- W. Srisa-an, J. M. Chang, and C.D. Lo, "Do Generational Schemes Improve the Garbage Collection Efficiency?" Proceedings of IEEE International Symposium on Performance Analysis of Systems and Software, Austin, TX. April 24-25, 2000. pp.58-63 .
- J. M. Chang, W. Srisa-an, and C. D. Lo, "DMMX (Dynamic Memory Management Extensions): An Introduction," Workshop notes of ICCD workshop on Hardware Support for Objects and Microarchitectures for Java, Austin, Texas, Oct. 10, 1999. pp.11 – 14.
- J. M. Chang, W. Srisa-an, and C. D. Lo, " OMeX: Object Management Extensions for Embedded Systems" , The Second International Workshop on Compiler and Architecture Support for Embedded Systems (CASES'99) , Washington, D.C., October 1-3, 1999.
- W. Srisa-an, C.D. Lo, and J.M. Chang, "A Hardware Implementation of Realloc Function," Proceedings of WVLSI’99 IEEE Annual Workshop on VLSI, Orlando, FL. April 8-9, 1999. pp. 106-111.
- C.D. Lo, W. Srisa-an, and J.M. Chang, “Boundary Analysis for Buddy Systems”, Proceedings of 1998 International Computer Symposium, Tainan, Taiwan, Dec. 17-20, 1998. pp.96-103. (Acceptance Rate: 256/404).
Thesis:
- M. Kato, "Java Memory Compression ," Ph.D. Thesis, Department of Computer Science, University of Texas at San Antonio, 2007. [Zipped]