Exploiting Language Abstraction to Optimize Memory Efficiency
Jennifer B. Sartor
University of Texas, Austin
SWS Colloquium
Jennifer B. Sartor received her B.S. in Math and honors Computer Science,
with a minor in Spanish, at The University of Arizona in December 2001.
She obtained her Masters degree in 2004 and expects her PhD in 2010, both
in Computer Science at The University of Texas at Austin. Her PhD
research focuses on dynamic memory optimization using high-level managed
languages. At PLDI 2009, Jennifer won the ACM Student Research
Competition and she won Best Student Presentation at ISMM 2008.
Memory continues to be a bottleneck in modern systems as application
complexity and the number of cores have increased, generating more
traffic. These complex applications are written largely in high-level
managed languages, which offer an opportunity to dynamically optimize
memory performance because they virtualize memory management. We explored
memory inefficiencies in a Java virtual machine, performing a study of
data compression techniques. I will present the results of that study,
showing arrays are a dominant source of heap bloat. Focusing on arrays,
we found the traditional contiguous layout precludes space optimizations
and does not offer memory management time and space bounds. I show how to
exploit the opportunities afforded by managed languages to implement an
efficient discontiguous array layout with tunable optimization parameters
that improve space usage. Having attacked memory performance on the
software side, I will then describe new work that takes a cooperative
software-hardware approach. I show how a memory manager can communicate
regions of dead data to the architecture, allowing it to eliminate useless
writes, substantially reducing memory write traffic. My research combines
the flexibility and productivity of high-level managed languages with
improved memory efficiency that is critical to current and future
hardware.