Jennifer Sartor
I am current researching with Kathryn McKinley in the compilers group at the University of Texas at Austin. My research interests in memory management include managed runtime environments, dynamic optimization, and garbage collection. I do most of my research with the Jikes Research Virtual Machine using the DaCapo benchmarks.
NEWS: I am going to The Australian National University this summer (2008) to work with Steve Blackburn! This is made possible by NSF's award for the East Asia and Pacific Summer Institute (EAPSI) program.
I am interested in using the garbage collector to improve the application's memory usage, including data locality, layout, and space. Managed languages use of objects is particularly inefficient with space. Many researchers have found that Java benchmarks create a lot of bloat and redundancy in memory. I am currently looking at more efficient layouts of objects in the heap using various compression techniques to save space.
Summer and fall of 2007 I was doing a research internship at IBM TJ Watson in the Dynamic Optimization Group. I worked with Martin Hirzel and David Bacon in Hawthorne, NY. I was working on a project with the goal of having the Java virtual machine cooperate with the operating system more closely in memory management. We were trying to limit page faults in a memory-constrained environment by changing whole-heap garbage collection traversal order.
In 2006, I was working on a project to build a generational collector with multiple mature spaces that could be collected independently of each other. Connected data structures could be dynamically placed in separate mature spaces for optimal management and collection: when most or all objects are dead. This would lower overall pause times and let data structures be managed individually.
Summer and fall of 2005 I was doing a research internship with Intel's Software and Solutions Group in the Managed Runtime Division. I explored making a Java virtual machine cc-NUMA (cache-coherent non-uniform memory access) aware with dynamic profile-guided object migration. We used a hardware performance monitor to gather profile information and inform the JVM of affinities between objects and threads. Then garbage collection can migrate objects close to threads.
During the spring of 2005, I implemented a three generational garbage collection in Jikes RVM, a Java-in-Java virtual machine. My implementation was done using the MMTk garbage collection toolkit.
Summer and fall of 2004 I worked with Subramaniam Venkiteswaran to improve cache behavior with a cooperative software-hardware technique we called keep-me. Our work was based on the work of Zhenlin Wang who used the compiler to generate guided region prefetching and evict-me hints, then had the Dynamic Simple Scalar (DSS) simulator act on those hints. In our work, we use the Scale compiler to do static loop analysis in Fortran programs, identifying data in loops with temporal and spatial locality. Data found with locality is marked with hints that are passed to the architecture to allow the cache to keep data around longer. This decreases the miss rate and helps memory locality in the caches. During the spring of 2004 Subramaniam and I attempted to integrate the NUCA (non-uniform cache access) memory simulator into Dr. Wang's version of DSS.
I am from Phoenix, Arizona (well, originally from Salt Lake City, Utah, but I'm not a Mormon). I got my undergraduate Bachelors of Science degree in Math and honors Computer Science at the University of Arizona in Tucson in December 2001. Now I am studying Computer Science at the University of Texas at Austin.
Hobbies:
Here are some neat animations I created for my graphics class.
Octopus animation.
Modelling cloth project description.
Simple cloth particle example.
Cloth on box example.
Cloth on box and sphere example.
Cloth with wind example.
POSTAL The University of Texas at Austin
1 University Station C0500
(Computer Sciences
TAY 2.124)
Austin TX 78712-0500 USA
VOICE +1 512.232.7447 (desk)
+1 512.471.7316 (main CS office)
FAX +1 512.232.1413