Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer (2008)
| Venue: | In MICRO |
| Citations: | 16 - 3 self |
BibTeX
@INPROCEEDINGS{Soares08reducingthe,
author = {Livio Soares and David Tam and Michael Stumm},
title = {Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer},
booktitle = {In MICRO},
year = {2008}
}
OpenURL
Abstract
It is well recognized that LRU cache-line replacement can be ineffective for applications with large working sets or non-localized memory access patterns. Specifically, in lastlevel processor caches, LRU can cause cache pollution by insertingnon-reuseableelementsintothecachewhileevicting reusable ones. The work presented in this paper addresses last-levelcachepollutionthroughadynamicoperatingsystem mechanism, called ROCS, requiring no change to underlying hardware and no change to applications. ROCS employs hardware performance counters on a commodity processor to characterize application cache behavior at run-time. Using this online profiling, cache unfriendly pages are dynamically mapped to a pollute buffer in the cache, eliminating competition between reusable and nonreusable cache lines. The operating system implements the pollute buffer through a page-coloring based technique, by dedicating a small slice of the last-level cache to store nonreusable pages. Measurements show that ROCS, implemented in the Linux 2.6.24 kernel and running on a 2.3GHz PowerPC 970FX, improves performance of memory-intensive SPEC CPU 2000 and NAS benchmarks by up to 34%, and 16% on average. 1.







