C. Zhang, and M. Hirzel. 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
%0 Book Section
%1 Zhang2008
%A Zhang, Chengliang
%A Hirzel, Martin
%B ECOOP 2008 – Object-Oriented Programming
%D 2008
%E Vitek, Jan
%I Springer Berlin Heidelberg
%K Caches DataMovement GC Heap Layout Locality Structure
%P 309--334
%R 10.1007/978-3-540-70592-5_14
%T Online Phase-Adaptive Data Layout Selection
%V 5142
%X 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.
%@ 978-3-540-70591-8
@incollection{Zhang2008,
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.},
added-at = {2014-06-11T11:43:13.000+0200},
author = {Zhang, Chengliang and Hirzel, Martin},
biburl = {https://www.bibsonomy.org/bibtex/2a8a882b63cb906080894a7bfd4db2a9c/gron},
booktitle = {ECOOP 2008 – Object-Oriented Programming},
description = {Online Phase-Adaptive Data Layout Selection - Springer},
doi = {10.1007/978-3-540-70592-5_14},
editor = {Vitek, Jan},
interhash = {c09f8113b704132b51fd423363797b53},
intrahash = {a8a882b63cb906080894a7bfd4db2a9c},
isbn = {978-3-540-70591-8},
keywords = {Caches DataMovement GC Heap Layout Locality Structure},
pages = {309--334},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Computer Science},
timestamp = {2014-06-11T11:43:13.000+0200},
title = {Online Phase-Adaptive Data Layout Selection},
volume = 5142,
year = 2008
}