KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores

Nosayba El-Sayed, Anurag Mukkara, Po An Tsai, Harshad Kasture, Xiaosong Ma, Daniel Sanchez

Research output: Chapter in Book/Report/Conference proceedingConference contribution

16 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationProceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018
PublisherIEEE Computer Society
Pages104-117
Number of pages14
Volume2018-February
ISBN (Electronic)9781538636596
DOIs
Publication statusPublished - 27 Mar 2018
Event24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018 - Vienna, Austria
Duration: 24 Feb 201828 Feb 2018

Other

Other24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018
CountryAustria
CityVienna
Period24/2/1828/2/18

Fingerprint

Throughput
Hardware

Keywords

  • Application clustering
  • Cache partitioning
  • Multicore architecture
  • Performance isolation

ASJC Scopus subject areas

  • Hardware and Architecture

Cite this

El-Sayed, N., Mukkara, A., Tsai, P. A., Kasture, H., Ma, X., & Sanchez, D. (2018). KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores. In Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018 (Vol. 2018-February, pp. 104-117). IEEE Computer Society. https://doi.org/10.1109/HPCA.2018.00019

KPart : A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores. / El-Sayed, Nosayba; Mukkara, Anurag; Tsai, Po An; Kasture, Harshad; Ma, Xiaosong; Sanchez, Daniel.

Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018. Vol. 2018-February IEEE Computer Society, 2018. p. 104-117.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

El-Sayed, N, Mukkara, A, Tsai, PA, Kasture, H, Ma, X & Sanchez, D 2018, KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores. in Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018. vol. 2018-February, IEEE Computer Society, pp. 104-117, 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018, Vienna, Austria, 24/2/18. https://doi.org/10.1109/HPCA.2018.00019
El-Sayed N, Mukkara A, Tsai PA, Kasture H, Ma X, Sanchez D. KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores. In Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018. Vol. 2018-February. IEEE Computer Society. 2018. p. 104-117 https://doi.org/10.1109/HPCA.2018.00019
El-Sayed, Nosayba ; Mukkara, Anurag ; Tsai, Po An ; Kasture, Harshad ; Ma, Xiaosong ; Sanchez, Daniel. / KPart : A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores. Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018. Vol. 2018-February IEEE Computer Society, 2018. pp. 104-117
@inproceedings{669885354a124ebfb3aa18a0cca3c414,
title = "KPart: A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores",
abstract = "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.",
keywords = "Application clustering, Cache partitioning, Multicore architecture, Performance isolation",
author = "Nosayba El-Sayed and Anurag Mukkara and Tsai, {Po An} and Harshad Kasture and Xiaosong Ma and Daniel Sanchez",
year = "2018",
month = "3",
day = "27",
doi = "10.1109/HPCA.2018.00019",
language = "English",
volume = "2018-February",
pages = "104--117",
booktitle = "Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - KPart

T2 - A Hybrid Cache Partitioning-Sharing Technique for Commodity Multicores

AU - El-Sayed, Nosayba

AU - Mukkara, Anurag

AU - Tsai, Po An

AU - Kasture, Harshad

AU - Ma, Xiaosong

AU - Sanchez, Daniel

PY - 2018/3/27

Y1 - 2018/3/27

N2 - 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.

AB - 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.

KW - Application clustering

KW - Cache partitioning

KW - Multicore architecture

KW - Performance isolation

UR - http://www.scopus.com/inward/record.url?scp=85046764843&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85046764843&partnerID=8YFLogxK

U2 - 10.1109/HPCA.2018.00019

DO - 10.1109/HPCA.2018.00019

M3 - Conference contribution

AN - SCOPUS:85046764843

VL - 2018-February

SP - 104

EP - 117

BT - Proceedings - 24th IEEE International Symposium on High Performance Computer Architecture, HPCA 2018

PB - IEEE Computer Society

ER -