KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores
© 2018 IEEE. Cache partitioning is now available in commercial hardware. In theory, software can leverage cache partitioning to use the last-level cache better and improve performance. In practice, however, current systems implement way-partitioning, which offers a limited number of partitions and o...
Main Authors: | , , , , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
IEEE
2021
|
Online Access: | https://hdl.handle.net/1721.1/137048 |
_version_ | 1811097991363166208 |
---|---|
author | El-Sayed, Nosayba Mukkara, Anurag Tsai, Po-An Kasture, Harshad Ma, Xiaosong Sanchez, Daniel |
author2 | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
author_facet | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory El-Sayed, Nosayba Mukkara, Anurag Tsai, Po-An Kasture, Harshad Ma, Xiaosong Sanchez, Daniel |
author_sort | El-Sayed, Nosayba |
collection | MIT |
description | © 2018 IEEE. Cache partitioning is now available in commercial hardware. In theory, software can leverage cache partitioning to use the last-level cache better and improve performance. In practice, however, current systems implement way-partitioning, which offers a limited number of partitions and often hurts performance. These limitations squander the performance potential of smart cache management. We present KPart, a hybrid cache partitioning-sharing technique that sidesteps the limitations of way-partitioning and unlocks significant performance on current systems. KPart first groups applications into clusters, then partitions the cache among these clusters. To build clusters, KPart relies on a novel technique to estimate the performance loss an application suffers when sharing a partition. KPart automatically chooses the number of clusters, balancing the isolation benefits of way-partitioning with its potential performance impact. KPart uses detailed profiling information to make these decisions. This information can be gathered either offline, or online at low overhead using a novel profiling mechanism. We evaluate KPart in a real system and in simulation. KPart improves throughput by 24% on average (up to 79%) on an Intel Broadwell-D system, whereas prior per-application partitioning policies improve throughput by just 1.7% on average and hurt 30% of workloads. Simulation results show that KPart achieves most of the performance of more advanced partitioning techniques that are not yet available in hardware. |
first_indexed | 2024-09-23T17:08:14Z |
format | Article |
id | mit-1721.1/137048 |
institution | Massachusetts Institute of Technology |
language | English |
last_indexed | 2024-09-23T17:08:14Z |
publishDate | 2021 |
publisher | IEEE |
record_format | dspace |
spelling | mit-1721.1/1370482023-06-28T19:54:06Z KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores El-Sayed, Nosayba Mukkara, Anurag Tsai, Po-An Kasture, Harshad Ma, Xiaosong Sanchez, Daniel Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory © 2018 IEEE. Cache partitioning is now available in commercial hardware. In theory, software can leverage cache partitioning to use the last-level cache better and improve performance. In practice, however, current systems implement way-partitioning, which offers a limited number of partitions and often hurts performance. These limitations squander the performance potential of smart cache management. We present KPart, a hybrid cache partitioning-sharing technique that sidesteps the limitations of way-partitioning and unlocks significant performance on current systems. KPart first groups applications into clusters, then partitions the cache among these clusters. To build clusters, KPart relies on a novel technique to estimate the performance loss an application suffers when sharing a partition. KPart automatically chooses the number of clusters, balancing the isolation benefits of way-partitioning with its potential performance impact. KPart uses detailed profiling information to make these decisions. This information can be gathered either offline, or online at low overhead using a novel profiling mechanism. We evaluate KPart in a real system and in simulation. KPart improves throughput by 24% on average (up to 79%) on an Intel Broadwell-D system, whereas prior per-application partitioning policies improve throughput by just 1.7% on average and hurt 30% of workloads. Simulation results show that KPart achieves most of the performance of more advanced partitioning techniques that are not yet available in hardware. 2021-11-01T18:57:37Z 2021-11-01T18:57:37Z 2018-02 2019-07-03T13:33:52Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137048 El-Sayed, Nosayba, Mukkara, Anurag, Tsai, Po-An, Kasture, Harshad, Ma, Xiaosong et al. 2018. "KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores." en 10.1109/hpca.2018.00019 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf IEEE MIT web domain |
spellingShingle | El-Sayed, Nosayba Mukkara, Anurag Tsai, Po-An Kasture, Harshad Ma, Xiaosong Sanchez, Daniel KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title | KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title_full | KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title_fullStr | KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title_full_unstemmed | KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title_short | KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores |
title_sort | kpart a hybrid cache partitioning sharing technique for commodity multicores |
url | https://hdl.handle.net/1721.1/137048 |
work_keys_str_mv | AT elsayednosayba kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores AT mukkaraanurag kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores AT tsaipoan kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores AT kastureharshad kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores AT maxiaosong kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores AT sanchezdaniel kpartahybridcachepartitioningsharingtechniqueforcommoditymulticores |