Link to CALCM Home  

Optimizing Program Locality Using Hot Data Streams

Thursday May 18, 2006
Hamerschlag Hall D-210
4:00 pm

Trishul Chilimbi
Microsoft Research

We describe hot data streams, which are sequences of data accesses that frequently repeat in the same order, and show that they can be computed efficiently. We describe and evaluate three techniques that use these hot data streams to improve a program's cache performance. First, we show that cache-conscious coallocation of a hot data stream can be achieved by isolating and combining allocation sites of object instances that appear in the stream such that intervening allocations from other sites are separated.

Second, we describe a garbage collected system that uses hot data streams to perform data reorganization. We piggyback data reorganization on top of copying garbage collection but show that larger benefits are obtained when data reorganization is triggered independently of normal garbage collection.

Finally, we describe a dynamic software prefetching scheme that detects and prefetches hot data streams.

Trishul Chilimbi is a researcher at Microsoft Research, where he leads the Runtime Analysis and Design research group. His research interests include programming languages, compilers, runtime systems, and computer architecture. He has worked extensively on improving memory system performance and has founded an ACM workshop on this topic. He currently works on applying runtime technologies to improve software performance, reliability, and security. He received his Ph.D. from the University of Wisconsin-Madison.


Department of Electrical and Computer EngineeringCarnegie Mellon UniversitySchool of Computer Science