{"title":"Cache-Poll: Containing Pollution in Non-Inclusive Caches Through Cache Partitioning","authors":"Lucía Pons, J. Sahuquillo, S. Petit, Julio Pons","doi":"10.1145/3545008.3545083","DOIUrl":null,"url":null,"abstract":"Current server processors have redistributed the cache hierarchy space over previous generations. The private L2 cache has been made larger and the shared last level caches (LLC) smaller but designed as non-inclusive to reduce the number of replicated blocks. As a result, the new organization shrinks the per-core cache area. Cache management in this organization becomes more critical than in inclusive caches due to two main reasons: there is less storage capacity per core both in the L3 and when considering the sum of L2 and L3 cache sizes, and there is higher L2-L3 traffic especially when running high cache-demanding applications. This paper focuses on minimizing L3 cache pollution to make a more efficient use of the limited space. Three main types of pollution are identified and measured: useless prefetches, bad speculated loads, and poor locality. This paper proposes Cache-Poll, a pollution-aware management policy that concentrates on limiting the cache space to polluting and L3 insensitive applications, allowing critical applications occupy more space. Unlike state-of-the-art work on non-inclusive caches, Cache-Poll is able to improve performance in an Intel Xeon Scalable processor even when running heavy cache-demanding workloads, consisting of 12-application workloads, as many applications as cores in the processor. Results show that Cache-Poll improves fairness and turnaround time by 44% and 24%, respectively, over the Linux OS, while even improving performance up to 3.5%.","PeriodicalId":360504,"journal":{"name":"Proceedings of the 51st International Conference on Parallel Processing","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-08-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 51st International Conference on Parallel Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3545008.3545083","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Current server processors have redistributed the cache hierarchy space over previous generations. The private L2 cache has been made larger and the shared last level caches (LLC) smaller but designed as non-inclusive to reduce the number of replicated blocks. As a result, the new organization shrinks the per-core cache area. Cache management in this organization becomes more critical than in inclusive caches due to two main reasons: there is less storage capacity per core both in the L3 and when considering the sum of L2 and L3 cache sizes, and there is higher L2-L3 traffic especially when running high cache-demanding applications. This paper focuses on minimizing L3 cache pollution to make a more efficient use of the limited space. Three main types of pollution are identified and measured: useless prefetches, bad speculated loads, and poor locality. This paper proposes Cache-Poll, a pollution-aware management policy that concentrates on limiting the cache space to polluting and L3 insensitive applications, allowing critical applications occupy more space. Unlike state-of-the-art work on non-inclusive caches, Cache-Poll is able to improve performance in an Intel Xeon Scalable processor even when running heavy cache-demanding workloads, consisting of 12-application workloads, as many applications as cores in the processor. Results show that Cache-Poll improves fairness and turnaround time by 44% and 24%, respectively, over the Linux OS, while even improving performance up to 3.5%.