@gron

Online Phase-Adaptive Data Layout Selection

, and . ECOOP 2008 – Object-Oriented Programming, volume 5142 of Lecture Notes in Computer Science, Springer Berlin Heidelberg, (2008)
DOI: 10.1007/978-3-540-70592-5_14

Abstract

Good data layouts improve cache and TLB performance of object-oriented software, but unfortunately, selecting an optimal data layout a priori is NP-hard. This paper introduces layout auditing, a technique that selects the best among a set of layouts online (while the program is running). Layout auditing randomly applies different layouts over time and observes their performance. As it becomes confident about which layout performs best, it selects that layout with higher probability. But if a phase shift causes a different layout to perform better, layout auditing learns the new best layout. We implemented our technique in a product Java virtual machine, using copying generational garbage collection to produce different layouts, and tested it on 20 long-running benchmarks and 4 hardware platforms. Given any combination of benchmark and platform, layout auditing consistently performs close to the best layout for that combination, without requiring offline training.

Description

Online Phase-Adaptive Data Layout Selection - Springer

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted