Litcius/Paper detail

Improving program locality in the GC using hotness

Albert Mingkun Yang, Erik Österlund, Tobias Wrigstad

202020 citationsDOI

Abstract

The hierarchical memory system with increasingly small and increasingly fast memory closer to the CPU has for long been at the heart of hiding, or mitigating the performance gap between memories and processors. To utilise this hardware, programs must be written to exhibit good object locality. In languages like C/C++, programmers can carefully plan how objects should be laid out (albeit time consuming and error-prone); for managed languages, especially ones with moving garbage collectors, a manually created optimal layout may be destroyed in the process of object relocation. For managed languages that present an abstract view of memory, the solution lies in making the garbage collector aware of object locality, and strive to achieve and maintain good locality, even in the face of multi-phased programs that exhibit different behaviour across different phases.

Topics & Concepts

LocalityComputer scienceGarbageGarbage collectionObject (grammar)RelocationProcess (computing)Plan (archaeology)Parallel computingOperating systemProgramming languageArtificial intelligenceArchaeologyPhilosophyHistoryLinguisticsParallel Computing and Optimization TechniquesDistributed and Parallel Computing SystemsGraph Theory and Algorithms
Improving program locality in the GC using hotness | Litcius