Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Singapore-MIT Alliance (SMA)
  3. Computer Science (CS)
  4. Dynamic Memory Optimization using Pool Allocation and Prefetching

Dynamic Memory Optimization using Pool Allocation and Prefetching

Thumbnail Image
Download
Name

CS007.pdf

Size

119.63 KB

Format

Adobe PDF

Checksum (MD5)

eb8d35bea4eeeb9c9650a28b19633635

Author(s)
Zhao, Qin
•
Rabbah, Rodric
•
Wong, Weng Fai
Date Issued
January 2006
Series/Report no.
Computer Science (CS)
Abstract
Heap 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.
Subjects
Dynamic optimization
Locality
Prefetching
Persistent DSpace Link
http://hdl.handle.net/1721.1/30228
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.