Paper Details
Reference:
Livio Soares, David Tam, and Michael Stumm,
"Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer",
In Proceedings of the 41st annual IEEE/ACM International Symposium on Microarchitecture (MICRO'08), Lake Como, Italy, IEEE Computer Society, Washington, DC, USA, November, 2008, pp. 258–269.
Download:
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 last-level processor caches, LRU can cause cache pollution by inserting non-reuseable elements into the cache while evicting reusable ones. The work presented in this paper addresses last-level cache pollution through a dynamic operating system 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 non-reusable 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 non-reusable 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.
Keywords:
Application software , Buffer storage , Counting circuits , Hardware , Kernel , Linux , Operating systems , Pattern recognition , Pollution measurement , Runtime
Reference Info:
DOI: 10.1109/MICRO.2008.4771796
ACMid: 1521800
ISBN: 978-1-4244-2836-6
ISSN: 1072-4451
BibTeX:
@inproceedings(Soares-MICRO08, 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 = {Proceedings of the 41st annual IEEE/ACM International Symposium on Microarchitecture (\textbf{MICRO'08})}, location = {Lake Como, Italy}, organization = {IEEE Computer Society}, address = {Washington, DC, USA}, month = {November}, year = {2008}, pages = {258-269}, doi = {10.1109/MICRO.2008.4771796}, isbn = {978-1-4244-2836-6}, issn = {1072-4451}, keywords = {Application software , Buffer storage , Counting circuits , Hardware , Kernel , Linux , Operating systems , Pattern recognition , Pollution measurement , Runtime} )