TY - GEN
T1 - Code-based cache partitioning for improving hardware cache performance
AU - Kim, Junghoon
AU - Kim, Inhyuk
AU - Eom, Young Ik
PY - 2012
Y1 - 2012
N2 - Recently, improving hardware cache performance is getting more important, because the performance gap between processor and memory has caused "memory wall" problem. Most cache designs are based on the LRU replacement policy which is effective for high-locality workloads. However, it is ineffective for the workloads that have a working set greater than available cache size or weak-memory access patterns. To make up for the weakness of LRU policy, we introduce a novel code-based cache partitioning mechanism which does not require any hardware support. In our mechanism, we first collect profile data using binary instrumentation, and then classify the characteristic of code region through the collected code profiles. Finally, while the application is running, page coloring technique is used for code-based cache partitioning. To show effectiveness of our mechanism, we implemented our mechanism in the Linux kernel. Experiments on the workloads including weak-memory access pattern show that the proposed mechanism achieves performance improvement by up to 7.3% and the last-level cache miss reduction by up to 37.8%.
AB - Recently, improving hardware cache performance is getting more important, because the performance gap between processor and memory has caused "memory wall" problem. Most cache designs are based on the LRU replacement policy which is effective for high-locality workloads. However, it is ineffective for the workloads that have a working set greater than available cache size or weak-memory access patterns. To make up for the weakness of LRU policy, we introduce a novel code-based cache partitioning mechanism which does not require any hardware support. In our mechanism, we first collect profile data using binary instrumentation, and then classify the characteristic of code region through the collected code profiles. Finally, while the application is running, page coloring technique is used for code-based cache partitioning. To show effectiveness of our mechanism, we implemented our mechanism in the Linux kernel. Experiments on the workloads including weak-memory access pattern show that the proposed mechanism achieves performance improvement by up to 7.3% and the last-level cache miss reduction by up to 37.8%.
KW - Cache partitioning
KW - Cache performance
KW - Page coloring
KW - Shared cache management
UR - https://www.scopus.com/pages/publications/84860518648
U2 - 10.1145/2184751.2184803
DO - 10.1145/2184751.2184803
M3 - Conference contribution
AN - SCOPUS:84860518648
SN - 9781450311724
T3 - Proceedings of the 6th International Conference on Ubiquitous Information Management and Communication, ICUIMC'12
BT - Proceedings of the 6th International Conference on Ubiquitous Information Management and Communication, ICUIMC'12
T2 - 6th International Conference on Ubiquitous Information Management and Communication, ICUIMC'12
Y2 - 20 February 2012 through 22 February 2012
ER -