Cache index-aware memory allocation

Yehuda Afek*, Dave Dice, Adam Morrison

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Poor placement of data blocks in memory may negatively impact application performance because of an increase in the cache conflict miss rate [18]. For dynamically allocated structures this placement is typically determined by the memory allocator. Cache index-oblivious allocators may inadvertently place blocks on a restricted fraction of the available cache indexes, artificially and needlessly increasing the conflict miss rate. While some allocators are less vulnerable to this phenomena, no general-purpose malloc allocator is index-aware and methodologically addresses this concern. We demonstrate that many existing state-of-the-art allocators are index-oblivious, admitting performance pathologies for certain block sizes. We show that a simple adjustment within the allocator to control the spacing of blocks can provide better index coverage, which in turn reduces the superfluous conflict miss rate in various applications, improving performance with no observed negative consequences. The result is an index-aware allocator. Our technique is general and can easily be applied to most memory allocators and to various processor architectures. Furthermore, we can reduce inter-thread and inter-process conflict misses for processors where threads concurrently share the level-1 cache such as the Sun UltraSPARC-T2™ and Intel "Nehalem" by coloring the placement of blocks so that allocations for different threads and processes start on different cache indexes.

Original languageEnglish
Title of host publicationProceedings of the International Symposium on Memory Management, ISMM 2011
Pages55-64
Number of pages10
DOIs
StatePublished - 2011
Event2011 International Symposium on Memory Management, ISMM 2011, Held as Part of Federated Computing Research Conference, FCRC - San Jose, CA, United States
Duration: 4 Jun 20118 Jun 2011

Publication series

NameInternational Symposium on Memory Management, ISMM

Conference

Conference2011 International Symposium on Memory Management, ISMM 2011, Held as Part of Federated Computing Research Conference, FCRC
Country/TerritoryUnited States
CitySan Jose, CA
Period4/06/118/06/11

Keywords

  • caches
  • conflict misses
  • dynamic storage allocators
  • malloc
  • memory allocation
  • placement policies
  • shared caches

Fingerprint

Dive into the research topics of 'Cache index-aware memory allocation'. Together they form a unique fingerprint.

Cite this