Allocation of last level cache partitions through thread classification with parallel universes
Burak Sezin Ovant, İsa Ahmet Güney, Muhammed Emin Savas, Gürhan Küçük
Abstract
Burak Sezin Ovant, İsa Ahmet Güney, Muhammed Emin Savas, Gürhan Küçük
Abstract
Last Level Caches (LLCs) are among the most common processor resources that are shared by multiple threads in simultaneous multithreaded (SMT) and chip multi processors (CMP). In an unmanaged cache organization, threads might not get along well and steal cache lines from each other. This type of thread interaction prevents effective utilization of this precious resource. Cache partitioning is one of the well-studied methods that target improved system performance through isolation of cache lines dedicated to each thread. In this study, we propose a new allocation policy that chooses the amount of cache partitions through thread classification and auxiliary cache structures, which we call Parallel Universe Tag Directories (PUTDs). Each thread maintains a PUTD structure, which enables collecting statistics from another execution dimension, where the dedicated thread receives more cache resources. Our test results show that our proposed mechanism gives better performance and fairness results with negligible hardware requirements compared to the current state of the art, in all studied processor configurations.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Last Level Caches (LLCs) are among the most common processor resources that are shared by multiple threads in simultaneous multithreaded (SMT) and chip multi processors (CMP). In an unmanaged cache organization, threads might not get along well and steal cache lines from each other. This type of thread interaction prevents effective utilization of this precious resource. Cache partitioning is one of the well-studied methods that target improved system performance through isolation of cache lines dedicated to each thread. In this study, we propose a new allocation policy that chooses the amount of cache partitions through thread classification and auxiliary cache structures, which we call Parallel Universe Tag Directories (PUTDs). Each thread maintains a PUTD structure, which enables collecting statistics from another execution dimension, where the dedicated thread receives more cache resources. Our test results show that our proposed mechanism gives better performance and fairness results with negligible hardware requirements compared to the current state of the art, in all studied processor configurations.
Key concepts: Computer science, Thread (computing), Cache, Parallel computing, Smart Cache, Cache pollution, Cache invalidation, Cache algorithms