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...

Full description

Bibliographic Details
Main Author: Huffman, Michael John
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