Jennifer B. Sartor
Post-Doctoral Researcher (working with Lieven Eeckhout)Electronics and Information Systems
Ghent University/Universiteit Gent
Sint-Pietersnieuwstraat 41
B-9000 Gent, Belgium
Email: jennifer (dot) sartor (at) elis.ugent.be
PhD Graduate from University of Texas at Austin
[formerly a post-doc at Ecole Polytechnique Federale de Lausanne]
My Curriculum Vitae
Research Interests
Keywords: Managed languages; memory efficiency; memory abstraction; memory management; dynamic optimization; software-hardware co-design
The programming language and underlying hardware determine application
performance, and both are undergoing revolutionary shifts. As
applications have become more sophisticated and capable, programmers
have chosen managed languages in many domains for ease of development.
These languages abstract memory management from the programmer, which
can introduce time and space overhead but also provide opportunities
for dynamic optimization. Optimizing memory performance is in part
paramount because hardware is reaching physical limits. Recent trends
towards chip multiprocessor machines exacerbate the memory system
bottleneck because they are adding cores without adding commensurate
bandwidth. Both language and architecture trends add stress to the
memory system and degrade application performance.
I exploit the language abstraction to analyze and
optimize memory efficiency on emerging hardware. In my dissertation, I studied the sources
of memory inefficiencies on two levels: heap data and hardware storage
traffic. Finding that arrays are a dominant source of heap inefficiency, I designed and implemented z-rays, a flexible, time and space efficient layout of arrays. When analyzing traffic to main memory, I found a large majority of the traffic is useless. I designed a software-hardware cooperative optimization that invalidates data in cache based on passed-down program semantics in order to eliminate useless traffic. These techniques improve memory system efficiency and
performance.
We show that the memory abstraction in managed languages is not just a
cost to be borne, but an opportunity to
improve space and time efficiency and overcome the memory wall. We
enhance the productivity and performance of ubiquitous managed
languages on current and future architectures.
In broader terms, I am interested in
studying more efficient ways for the application, compiler and runtime
system, operating system, and underlying architecture to cooperate for
optimal system performance. In particular, each layer of this stack
has its own method of memory management that can be limited by its
narrow view: there should be more coordination to inform dynamic
optimization and overcome the high overheads of memory system
performance.
Publications
Conferences
- J.B. Sartor, and L. Eeckhout. Exploring Multi-Threaded Java Application Performance on Multicore Hardware. ACM SIGPLAN 2012 Conference on Object Oriented Programming, Systems, Languages and Applications., Tucson, Arizona, October 2012. Pdf version of paper
- X. Yang, S.M. Blackburn, D. Frampton, J.B. Sartor, and K.S. McKinley. Why Nothing Matters: The Impact of Zeroing. ACM SIGPLAN 2011 Conference on Object Oriented Programming, Systems, Languages and Applications., pages 307-324, Portland, Oregon, October 2011. Pdf version of paper
- J.B. Sartor, S.M. Blackburn, D. Frampton, M. Hirzel, and K.S. McKinley. Z-Rays: Divide Arrays and Conquer Speed and Flexibility. ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation., pages 471-482, Toronto, Canada, June 2010. Pdf version of paper Arraylet Patch for Jikes 3.0.1 PLDI presentation
- J.B. Sartor, M. Hirzel, and K.S. McKinley. No Bit Left Behind: The Limits of Heap Data Compression. The 2008 International Symposium on Memory Management., pages 111-120, Tucson, Arizona, June 2008. Pdf version of paper
Workshops
- J.B. Sartor, S. Venkiteswaran, K.S. McKinley, and Z. Wang. Cooperative Caching with Keep-Me and Evict-Me. The Ninth Annual Workshop on Interaction between Compilers and Computer Architectures., pages 46-57, San Francisco, California, Feb. 2005. Pdf version of paper Ps version of paper
Technical Reports
- J.B. Sartor, M. Hirzel, and K.S. McKinley. No Bit Left Behind: The Limits of Heap Data Compression. Extended Tech Report pdf
Awards
- Have served on/been invited to serve on the following program committees: ISMM 2011, ICOOOLPS 2011, SSPA 2012, IISWC 2012, CGO 2013, ISMM 2013
- First place in poster and presentation rounds in the graduate student category of ACM Student Research Competition at PLDI conference, June 2009
- Best student presentation at The International Symposium on Memory Management for ``No Bit Left Behind'' paper, June 2008
- NSF graduate student award for East Asia and Pacific Summer Institute in Australia. While visiting, gave research talks at Australian National U, U Melbourne, and U New South Whales, Summer 2008
- UT Computer Science Teaching Assistant Excellence Award, Fall 2003
Research Projects and Groups
Education
University of Texas at Austin, Aug 2010
Advisor: Kathryn McKinley
Co-advisor: Steve Blackburn
M.S. in Computer Science
University of Texas at Austin, Dec 2004
Study in Computer Science Education
University of Texas at Austin, Aug 02 - Dec 03
B.S. in honors Computer Science and Mathematics, minor in Spanish
University of Arizona, Dec 2001
Work Experience
IBM TJ Watson, Research Intern in The Dynamic Optimization Group, June - Dec 2007
At IBM, I worked on a project to optimize page faults in memory-constrained environments through the
cooperation of the garbage collector and operating system by changing
how the collector traverses and organizes objects.
Intel Corporation, Research Intern in The Managed Runtime Division, June - Dec 2005
At Intel, I was trying to make a Java virtual machine cache-coherent non-uniform memory access
(cc-NUMA) aware with dynamic profile-guided object migration. We used
hardware performance monitors to inform migration of objects between
threads with the garbage collector.
Teaching Experience
University of Texas at Austin, Assistant Instructor teaching Introduction to Computer Programming: C++, Fall 2009 & Spring 2010
I designed a course to introduce the C++ language to students who had
prior programming experience in other languages. I taught the 1 credit semester class focusing on the details of C++, including weekly programming
assignments and quizzes.
University of Texas at Austin, Graduate Teaching Assistant Fall 02 - Spring 04
I was a teaching assistant for the following classes under Dr. Steve Keckler: Honors Computer Organization and Honors Computer Architecture, and under Dr. Roger Priebe: Computer Fluency and Elements of Computing and Programming. I received annual TA Excellence Award from department of CS under Dr. Keckler. I taught the building blocks of computer systems, architecture fundamentals, introductory programming in Java, and the basics of computing to non-majors.
Fun
- I have run 2 half-marathons in Austin. I participated in a sprint triathlon in May 2008, and an olympic triathlon in May 2010.
- I earned my black belt in Kung Fu in December of 2006.
- I have been to every continent and have traveled extensively, as I enjoy the thrill of discovering new cultures and places.
- Some of my other hobbies include hiking, kayaking, camping, dancing, scuba-diving, yoga, and rock climbing.