JDiet: Footprint Reduction for Memory-constrained Systems
Main memory remains a scarce computing resource. Even though main memory is becoming more abundant, software applications are inexorably engineered to consume as much memory as is available. For example, expert systems, scientific computing, data mining, and embedded systems commonly suffer from the...
Main Author: | |
---|---|
Format: | Others |
Published: |
DigitalCommons@CalPoly
2009
|
Subjects: | |
Online Access: | https://digitalcommons.calpoly.edu/theses/108 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1120&context=theses |
id |
ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-1120 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-11202020-10-13T05:01:35Z JDiet: Footprint Reduction for Memory-constrained Systems Huffman, Michael John Main memory remains a scarce computing resource. Even though main memory is becoming more abundant, software applications are inexorably engineered to consume as much memory as is available. For example, expert systems, scientific computing, data mining, and embedded systems commonly suffer from the lack of main memory availability. This thesis introduces JDiet, an innovative memory management system for Java applications. The goal of JDiet is to provide the developer with a highly configurable framework to reduce the memory footprint of a memory-constrained system, enabling it to operate on much larger working sets. Inspired by buffer management techniques common in modern database management systems, JDiet frees main memory by evicting non-essential data to a disk-based store. A buffer retains a fixed amount of managed objects in main memory. As non-resident objects are accessed, they are swapped from the store to the buffer using an extensible replacement policy. While the Java virtual machine naïvely delegates virtual memory management to the operating system, JDiet empowers the system designer to select both the managed data and replacement policy. Guided by compile-time configuration, JDiet performs aspect-oriented bytecode engineering, requiring no explicit coupling to the source or compiled code. The results of an experimental evaluation of the effectiveness of JDiet are reported. A JDiet-enabled XML DOM parser is capable of parsing and processing over 200% larger input documents by sacrificing less than an order of magnitude in performance. 2009-06-01T07:00:00Z text application/pdf https://digitalcommons.calpoly.edu/theses/108 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1120&context=theses Master's Theses DigitalCommons@CalPoly buffer management virtual memory memory management bytecode database Data Storage Systems |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
topic |
buffer management virtual memory memory management bytecode database Data Storage Systems |
spellingShingle |
buffer management virtual memory memory management bytecode database Data Storage Systems Huffman, Michael John JDiet: Footprint Reduction for Memory-constrained Systems |
description |
Main memory remains a scarce computing resource. Even though main memory is becoming more abundant, software applications are inexorably engineered to consume as much memory as is available. For example, expert systems, scientific computing, data mining, and embedded systems commonly suffer from the lack of main memory availability.
This thesis introduces JDiet, an innovative memory management system for Java applications. The goal of JDiet is to provide the developer with a highly configurable framework to reduce the memory footprint of a memory-constrained system, enabling it to operate on much larger working sets. Inspired by buffer management techniques common in modern database management systems, JDiet frees main memory by evicting non-essential data to a disk-based store. A buffer retains a fixed amount of managed objects in main memory. As non-resident objects are accessed, they are swapped from the store to the buffer using an extensible replacement policy.
While the Java virtual machine naïvely delegates virtual memory management to the operating system, JDiet empowers the system designer to select both the managed data and replacement policy. Guided by compile-time configuration, JDiet performs aspect-oriented bytecode engineering, requiring no explicit coupling to the source or compiled code.
The results of an experimental evaluation of the effectiveness of JDiet are reported. A JDiet-enabled XML DOM parser is capable of parsing and processing over 200% larger input documents by sacrificing less than an order of magnitude in performance. |
author |
Huffman, Michael John |
author_facet |
Huffman, Michael John |
author_sort |
Huffman, Michael John |
title |
JDiet: Footprint Reduction for Memory-constrained Systems |
title_short |
JDiet: Footprint Reduction for Memory-constrained Systems |
title_full |
JDiet: Footprint Reduction for Memory-constrained Systems |
title_fullStr |
JDiet: Footprint Reduction for Memory-constrained Systems |
title_full_unstemmed |
JDiet: Footprint Reduction for Memory-constrained Systems |
title_sort |
jdiet: footprint reduction for memory-constrained systems |
publisher |
DigitalCommons@CalPoly |
publishDate |
2009 |
url |
https://digitalcommons.calpoly.edu/theses/108 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1120&context=theses |
work_keys_str_mv |
AT huffmanmichaeljohn jdietfootprintreductionformemoryconstrainedsystems |
_version_ |
1719351607862231040 |