Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems
Cache partitioning is a successful technique for saving energy for a shared cache and all the existing studies focus on multi-program workloads running in multicore systems. In this paper, we are motivated by the fact that a multi-thread application generally executes faster than its single-thread c...
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2018-09-01
|
Series: | Electronics |
Subjects: | |
Online Access: | http://www.mdpi.com/2079-9292/7/9/172 |
id |
doaj-f0e2f8ae3f494a28a99cc7145d16f973 |
---|---|
record_format |
Article |
spelling |
doaj-f0e2f8ae3f494a28a99cc7145d16f9732020-11-24T21:23:20ZengMDPI AGElectronics2079-92922018-09-017917210.3390/electronics7090172electronics7090172Access Adaptive and Thread-Aware Cache Partitioning in Multicore SystemsKai Huang0Ke Wang1Dandan Zheng2Xiaoxu Zhang3Xiaolang Yan4Institute of VLSI Design, Zhejiang University, Hangzhou 310027, ChinaInstitute of VLSI Design, Zhejiang University, Hangzhou 310027, ChinaInstitute of VLSI Design, Zhejiang University, Hangzhou 310027, ChinaSchool of Information & Electronic Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaInstitute of VLSI Design, Zhejiang University, Hangzhou 310027, ChinaCache partitioning is a successful technique for saving energy for a shared cache and all the existing studies focus on multi-program workloads running in multicore systems. In this paper, we are motivated by the fact that a multi-thread application generally executes faster than its single-thread counterpart and its cache accessing behavior is quite different. Based on this observation, we study applications running in multi-thread mode and classify data of the multi-thread applications into shared and private categories, which helps reduce the interferences among shared and private data and contributes to constructing a more efficient cache partitioning scheme. We also propose a hardware structure to support these operations. Then, an access adaptive and thread-aware cache partitioning (ATCP) scheme is proposed, which assigns separate cache portions to shared and private data to avoid the evictions caused by the conflicts from the data of different categories in the shared cache. The proposed ATCP achieves a lower energy consumption, meanwhile improving the performance of applications compared with the least recently used (LRU) managed, core-based evenly partitioning (EVEN) and utility-based cache partitioning (UCP) schemes. The experimental results show that ATCP can achieve 29.6% and 19.9% average energy savings compared with LRU and UCP schemes in a quad-core system. Moreover, the average speedup of multi-thread ATCP with respect to single-thread LRU is at 1.89.http://www.mdpi.com/2079-9292/7/9/172shared cache partitioningthread-awareaccess type classificationway access permission registersthread-aware cache monitorMILP |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Kai Huang Ke Wang Dandan Zheng Xiaoxu Zhang Xiaolang Yan |
spellingShingle |
Kai Huang Ke Wang Dandan Zheng Xiaoxu Zhang Xiaolang Yan Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems Electronics shared cache partitioning thread-aware access type classification way access permission registers thread-aware cache monitor MILP |
author_facet |
Kai Huang Ke Wang Dandan Zheng Xiaoxu Zhang Xiaolang Yan |
author_sort |
Kai Huang |
title |
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems |
title_short |
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems |
title_full |
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems |
title_fullStr |
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems |
title_full_unstemmed |
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems |
title_sort |
access adaptive and thread-aware cache partitioning in multicore systems |
publisher |
MDPI AG |
series |
Electronics |
issn |
2079-9292 |
publishDate |
2018-09-01 |
description |
Cache partitioning is a successful technique for saving energy for a shared cache and all the existing studies focus on multi-program workloads running in multicore systems. In this paper, we are motivated by the fact that a multi-thread application generally executes faster than its single-thread counterpart and its cache accessing behavior is quite different. Based on this observation, we study applications running in multi-thread mode and classify data of the multi-thread applications into shared and private categories, which helps reduce the interferences among shared and private data and contributes to constructing a more efficient cache partitioning scheme. We also propose a hardware structure to support these operations. Then, an access adaptive and thread-aware cache partitioning (ATCP) scheme is proposed, which assigns separate cache portions to shared and private data to avoid the evictions caused by the conflicts from the data of different categories in the shared cache. The proposed ATCP achieves a lower energy consumption, meanwhile improving the performance of applications compared with the least recently used (LRU) managed, core-based evenly partitioning (EVEN) and utility-based cache partitioning (UCP) schemes. The experimental results show that ATCP can achieve 29.6% and 19.9% average energy savings compared with LRU and UCP schemes in a quad-core system. Moreover, the average speedup of multi-thread ATCP with respect to single-thread LRU is at 1.89. |
topic |
shared cache partitioning thread-aware access type classification way access permission registers thread-aware cache monitor MILP |
url |
http://www.mdpi.com/2079-9292/7/9/172 |
work_keys_str_mv |
AT kaihuang accessadaptiveandthreadawarecachepartitioninginmulticoresystems AT kewang accessadaptiveandthreadawarecachepartitioninginmulticoresystems AT dandanzheng accessadaptiveandthreadawarecachepartitioninginmulticoresystems AT xiaoxuzhang accessadaptiveandthreadawarecachepartitioninginmulticoresystems AT xiaolangyan accessadaptiveandthreadawarecachepartitioninginmulticoresystems |
_version_ |
1725992091819966464 |