A very fast algorithm for RAM compression
ACM SIGOPS Operating Systems Review
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Practical experience with an application extractor for Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Introduction to data compression (2nd ed.)
Introduction to data compression (2nd ed.)
Code compression for low power embedded system design
Proceedings of the 37th Annual Design Automation Conference
Java bytecode compression for low-end embedded systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Profile-guided code compression
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Javacam: Trimming Java Down to Size
IEEE Internet Computing
A Just-in-Time Compiler for Memory-Constrained Low-Power Devices
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Energy savings through compression in embedded Java environments
Proceedings of the tenth international symposium on Hardware/software codesign
Data size optimizations for java programs
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Tuning Garbage Collection in an Embedded Java Environment
HPCA '02 Proceedings of the 8th International Symposium on High-Performance Computer Architecture
Heap compression for memory-constrained Java environments
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Algorithms and data structures for compressed-memory machines
IBM Journal of Research and Development
SAMC: a code compression algorithm for embedded processors
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Utilizing field usage patterns for Java heap space optimization
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Java object header elimination for reduced memory consumption in 64-bit virtual machines
ACM Transactions on Architecture and Code Optimization (TACO)
Proceedings of the 6th international symposium on Memory management
No bit left behind: the limits of heap data compression
Proceedings of the 7th international symposium on Memory management
Optimized strings for the Java HotSpot™ virtual machine
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Compact and efficient strings for Java
Science of Computer Programming
Object-relative addressing: compressed pointers in 64-bit java virtual machines
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
The capabilities of applications executing on embedded and mobile devices are strongly influenced by memory size limitations. In fact, memory limitations are one of the main reasons that applications run slowly or even crash in embedded/mobile devices. While improvements in technology enable the integration of more memory into embedded devices, the amount memory that can be included is also limited by cost, power consumption, and form factor considerations. Consequently, addressing memory limitations will continue to be of importance.Focusing on embedded Java environments, this paper shows how object compression can improve memory space utilization. The main idea is to make use of the observation that a small set of values tend to appear in some fields of the heap-allocated objects much more frequently than other values. Our analysis shows the existence of such frequent field values in the SpecJVM98 benchmark suite. We then propose two object compression schemes that eliminate/reduce the space occupied by the frequent field values. Our extensive experimental evaluation using a set of eight Java benchmarks shows that these schemes can reduce the minimum heap size allowing Java applications to execute without out-of-memory exceptions by up to 24% (14% on an average).