Title | ||
---|---|---|
Java object header elimination for reduced memory consumption in 64-bit virtual machines |
Abstract | ||
---|---|---|
Memory performance is an important design issue for contemporary computer systems given the huge processor/memory speed gap. This paper proposes a space-efficient Java object model for reducing the memory consumption of 64-bit Java virtual machines. We completely eliminate the object header through typed virtual addressing (TVA) or implicit typing. TVA encodes the object type in the object's virtual address by allocating all objects of a given type in a contiguous memory segment. This allows for removing the type information as well as the status field from the object header. Whenever type and status information is needed, masking is applied to the object's virtual address for obtaining an offset into type and status information structures. Unlike previous work on implicit typing, we apply TVA to a selected number of frequently allocated object types, hence, the name selective TVA (STVA); this limits the amount of memory fragmentation. In addition to applying STVA, we also compress the type information block (TIB) pointers for all objects that do not fall under TVA. We implement the space-efficient Java object model in the 64-bit version of the Jikes RVM on an AIX IBM platform and compare its performance against the traditionally used Java object model using a multitude of Java benchmarks. We conclude that the space-efficient Java object model reduces memory consumption by on average 15% (and up to 45% for some benchmarks). About one-half the reduction comes from TIB pointer compression; the other one-half comes from STVA. In terms of performance, the space-efficient object model generally does not affect performance; however, for some benchmarks we observe statistically significant performance speedups, up to 20%. |
Year | DOI | Venue |
---|---|---|
2007 | 10.1145/1275937.1275941 | TACO |
Keywords | Field | DocType |
64-bit implementation,space-efficient object model,64-bit virtual machine,reduced memory consumption,java object model,object header,header elimination,space-efficient java object model,memory consumption,typed virtual ad- dressing,64-bit java virtual machine,virtual address,additional key words and phrases: virtual machine,java benchmarks,object type,implicit typing,virtual machine,object model | Method,Computer science,Java annotation,Parallel computing,Java concurrency,Common Object Request Broker Architecture,Real time Java,Object model,Unreachable memory,Real-time computing,strictfp,Operating system | Journal |
Volume | Issue | ISSN |
4 | 3 | 1544-3566 |
Citations | PageRank | References |
5 | 0.44 | 17 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Kris Venstermans | 1 | 17 | 2.35 |
Lieven Eeckhout | 2 | 2863 | 195.11 |
Koen De Bosschere | 3 | 1659 | 117.74 |