Show simple item record

dc.contributor.authorZhao, Qin
dc.contributor.authorRabbah, Rodric
dc.contributor.authorWong, Weng Fai
dc.date.accessioned2005-12-14T19:07:13Z
dc.date.available2005-12-14T19:07:13Z
dc.date.issued2006-01
dc.identifier.urihttp://hdl.handle.net/1721.1/30228
dc.description.abstractHeap memory allocation plays an important role in modern applications. Conventional heap allocators, however, generally ignore the underlying memory hierarchy of the system, favoring instead a low runtime overhead and fast response times. Unfortunately, with little concern for the memory hierarchy, the data layout may exhibit poor spatial locality, and degrade cache performance. In this paper, we describe a dynamic heap allocation scheme called pool allocation. The strategy aims to improve cache performance by inspecting memory allocation requests, and allocating memory from appropriate heap pools as dictated by the requesting context. The advantages are two fold. First, by pooling together data with a common context, we expect to improve spatial locality, as data fetched to the caches will contain fewer items from different contexts. If the allocation patterns are closely matched to the traversal patterns, the end result is faster memory performance. Second, by pooling heap objects, we expect access patterns to exhibit more regularity, thus creating more opportunities for data prefetching. Our dynamic memory optimizer exploits the increased regularity to insert prefetch instructions at runtime. The optimizations are implemented in DynamoRIO, a dynamic optimization framework. We evaluate the work using various benchmarks, and measure a 17% speedup over gcc -O3 on an Athlon MP, and a 13% speedup on a Pentium 4.en
dc.description.sponsorshipSingapore-MIT Alliance (SMA)en
dc.format.extent122501 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoenen
dc.relation.ispartofseriesComputer Science (CS)en
dc.subjectDynamic optimizationen
dc.subjectLocalityen
dc.subjectPrefetchingen
dc.titleDynamic Memory Optimization using Pool Allocation and Prefetchingen
dc.typeArticleen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record