Inproceedings,

Memory Management for Many-Core Processors with Software Configurable Locality Policies

, and .
Proceedings of the 2012 international symposium on Memory Management, page 3--14. New York, NY, USA, ACM, (2012)
DOI: 10.1145/2258996.2259000

Abstract

As processors evolve towards higher core counts, architects will develop more sophisticated memory systems to satisfy the cores' increasing thirst for memory bandwidth. Early many-core processor designs suggest that future memory systems will likely include multiple controllers and distributed cache coherence protocols. Many-core processors that expose memory locality policies to the software system provide opportunities for automatic tuning that can achieve significant performance benefits.</p> <p>Managed languages typically provide a simple heap abstraction. This paper presents techniques that bridge the gap between the simple heap abstraction of modern languages and the complicated memory systems of future processors. We present a NUMA-aware approach to garbage collection that balances the competing concerns of data locality and heap utilization to improve performance. We combine a lightweight approach for measuring an application's memory behavior with an online, adaptive algorithm for tuning the cache to optimize it for the specific application's behaviors.</p> <p>We have implemented our garbage collector and cache tuning algorithm and present results on a 64-core TILEPro64 processor.

Tags

Users

  • @gron

Comments and Reviews