Abstract

As contemporary processors utilize more and more cores, cache partitioning algorithms tend to preserve cache associativity with a finer-grain of control to achieve higher throughput and fairness goals. In this study, we propose a scalable set-based cache partitioning mechanism, which welds an allocation policy and an enforcement scheme together. We also propose a set-based classifier to better allocate partitions to more deserving threads, a fast set redirection logic to map accesses to dedicated cache sets, and a double access mechanism to overcome the performance penalty due to a repartitioning phase. We compare our work to the best line-grain cache partitioning scheme that is available in the literature. Our results show that set-based partitioning improves throughput and fairness by 5.6 % and 4.8 % on average, respectively. The maximum achievable gains are as high as 33 % in terms of throughput and 23 % in terms of fairness.

Highlights

  • The benefits of shared cache partitioning in multicore systems are very well known to the architecture community

  • Our work differs in the following points: we propose a mechanism for computing set index of incoming requests without implementing a lookup table and a scalable linear allocation policy which can be completed in a single step in contrast to their multiiteration algorithm

  • In order to mitigate the throughput loss caused by these cache flushes, we propose a mechanism called double access (DA)

Read more

Summary

Introduction

The benefits of shared cache partitioning in multicore systems are very well known to the architecture community. There are many approaches that have already been proposed for both how to allocate resources among cores [1,2,3] and how to enforce those allocation decisions [1, 4,5,6]. Cache monopolization and cache thrashing are the most prominent dangers in an uncontrolled shared-cache environment. It may lead to resource underutilization, and both the throughput and fairness of the system significantly get worse. A good partitioning scheme must be able to detect the resource needs of all cores and apply appropriate allocation decisions to yield better results in terms of performance, energy, energy-delay, or fairness metrics

Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.