Implementation and Evaluation of Last-Level Cache Partitioning
dc.contributor.author | Blom Rydell, Joel | |
dc.contributor.author | Bråberg, Felix | |
dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
dc.contributor.examiner | Stenström, Per | |
dc.contributor.supervisor | Nejad, Mehrzad | |
dc.contributor.supervisor | Manivannan, Madhavan | |
dc.date.accessioned | 2025-07-03T13:23:18Z | |
dc.date.issued | 2025 | |
dc.date.submitted | ||
dc.description.abstract | With parallel applications executing on a multiprocessor comes the problem of interference due to resource sharing between processor cores. The contention of resources can lead to a lack of fairness between the cores. Furthermore, having a shared last-level cache introduces destructive interference in the form of cores evicting other cores’ cache blocks. Cache partitioning is a method to solve these problems, which has both been extensively researched in academia and implemented in end-products in industry. In this thesis we will analyze the effects of cache partitioning in terms of performance and overhead. We implement six replacement algorithms and a cache design in RTL, all supporting way-based cache partitioning. These are then used in a test bench where execution is simulated by feeding the test bench memory traces extracted from the L2-accesses of benchmark programs from the SPEC-CPU-2006 benchmark suite. From our results we conclude that way-based partitioning can easily be implemented with little overhead. We also show that in some cases, the increase of shared ways available to an application does not offset the effect of interference, which leads to worse performance of the application. From the aforementioned memory traces we generate reuse histograms to analyze the expected cache behaviour of the simulated benchmark programs. This gives us the ability to predict a good way to partition the cache, based on the running applications. | |
dc.identifier.coursecode | DATX05 | |
dc.identifier.uri | http://hdl.handle.net/20.500.12380/309933 | |
dc.language.iso | eng | |
dc.setspec.uppsok | Technology | |
dc.subject | cache | |
dc.subject | cache partitioning | |
dc.subject | replacement algorithm. | |
dc.title | Implementation and Evaluation of Last-Level Cache Partitioning | |
dc.type.degree | Examensarbete för masterexamen | sv |
dc.type.degree | Master's Thesis | en |
dc.type.uppsok | H | |
local.programme | Computer systems and networks (MPCSN), MSc | |
local.programme | High-performance computer systems (MPHPC), MSc |