{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,17]],"date-time":"2025-12-17T18:11:56Z","timestamp":1765995116155,"version":"3.37.3"},"reference-count":46,"publisher":"Springer Science and Business Media LLC","issue":"9","license":[{"start":{"date-parts":[[2023,2,4]],"date-time":"2023-02-04T00:00:00Z","timestamp":1675468800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,2,4]],"date-time":"2023-02-04T00:00:00Z","timestamp":1675468800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"Agencia Estatal de Investigaci\u00f3n (AEI) and European Regional Development Fund","award":["PID2019-105660RB-C21 \/ AEI \/ 10.13039\/501100011033"],"award-info":[{"award-number":["PID2019-105660RB-C21 \/ AEI \/ 10.13039\/501100011033"]}]},{"name":"Arag\u00f3n Government and European Social Fund","award":["gaZ: T58_20R"],"award-info":[{"award-number":["gaZ: T58_20R"]}]},{"DOI":"10.13039\/501100008530","name":"European Regional Development Fund","doi-asserted-by":"crossref","award":["Construyendo Europa desde Arag\u00f3n"],"award-info":[{"award-number":["Construyendo Europa desde Arag\u00f3n"]}],"id":[{"id":"10.13039\/501100008530","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100007041","name":"Universidad de Zaragoza","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100007041","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2023,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The management of shared resources in multicore processors is an open problem due to the continuous evolution of these systems. The trend toward increasing the number of cores and organizing them in clusters sets out new challenges not considered in previous works. In this paper, we characterize the use of the shared cache and memory bandwidth of an AMD Rome processor executing multiprogrammed workloads and propose several mechanisms that control the use of these resources to improve the system performance and fairness. Our control mechanisms require no hardware or operating system modifications. We evaluate Balancer on a real system running SPEC CPU2006 and CPU2017 applications. Balancer tuned for performance shows an average increase of 7.1% in system performance and an unfairness reduction of 18.6% with respect to a system without any control mechanism. Balancer tuned for fairness decreases the performance by 1.3% in exchange for a 64.5% reduction of unfairness.<\/jats:p>","DOI":"10.1007\/s11227-023-05070-0","type":"journal-article","created":{"date-parts":[[2023,2,4]],"date-time":"2023-02-04T11:03:09Z","timestamp":1675508589000},"page":"10252-10276","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["BALANCER: bandwidth allocation and cache partitioning for multicore processors"],"prefix":"10.1007","volume":"79","author":[{"given":"Agust\u00edn","family":"Navarro-Torres","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jes\u00fas","family":"Alastruey-Bened\u00e9","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pablo","family":"Ib\u00e1\u00f1ez","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"V\u00edctor","family":"Vi\u00f1als-Y\u00fafera","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,2,4]]},"reference":[{"issue":"4","key":"5070_CR1","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1109\/MM.2021.3086541","volume":"41","author":"M Mattioli","year":"2021","unstructured":"Mattioli M (2021) Rome to Milan, AMD continues its tour of Italy. IEEE Micro 41(4):78\u201383. https:\/\/doi.org\/10.1109\/MM.2021.3086541","journal-title":"IEEE Micro"},{"issue":"2","key":"5070_CR2","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1109\/MM.2021.3058632","volume":"41","author":"WJ Starke","year":"2021","unstructured":"Starke WJ, Thompto BW, Stuecheli JA, Moreira JE (2021) Ibm\u2019s power10 processor. IEEE Micro 41(2):7\u201314. https:\/\/doi.org\/10.1109\/MM.2021.3058632","journal-title":"IEEE Micro"},{"key":"5070_CR3","doi-asserted-by":"crossref","unstructured":"Herdrich A, et al. (2016) Cache QoS: from concept to reality in the Intel\u00ae Xeon\u00ae processor E5-2600 v3 product family. In: HPCA, pp. 657\u2013668","DOI":"10.1109\/HPCA.2016.7446102"},{"key":"5070_CR4","doi-asserted-by":"crossref","unstructured":"Wang X, et al. (2017) SWAP: effective fine-grain management of shared last-level caches with minimum hardware support. In: HPCA, pp. 121\u2013132","DOI":"10.1109\/HPCA.2017.65"},{"key":"5070_CR5","unstructured":"Kashyap A (2020) High performance computing: tuning guide for AMD EPYC$$^{\\text{TM}}$$ 7002 Series Processors. Pub. 56827, rev 1.0"},{"key":"5070_CR6","unstructured":"Karamatas C (2022) AMD EPYC 7003 series microarchitecture overview. Pub. 57075, rev 3.0"},{"key":"5070_CR7","doi-asserted-by":"crossref","unstructured":"El-Sayed N, et al. (2018) KPart: a hybrid cache partitioning-sharing technique for commodity multicores. In: HPCA, pp. 104\u2013117","DOI":"10.1109\/HPCA.2018.00019"},{"key":"5070_CR8","doi-asserted-by":"crossref","unstructured":"Xiang Y, et al. (2018) DCAPS: dynamic cache allocation with partial sharing. In: EuroSys","DOI":"10.1145\/3190508.3190511"},{"key":"5070_CR9","unstructured":"Kim S, et al. (2004) Fair cache sharing and partitioning in a chip multiprocessor architecture. In: PACT, pp. 111\u2013122"},{"key":"5070_CR10","doi-asserted-by":"crossref","unstructured":"Xiao J, et al. (2019) CPpf: a prefetch aware llc partitioning approach. In: ICPP","DOI":"10.1145\/3337821.3337895"},{"key":"5070_CR11","doi-asserted-by":"crossref","unstructured":"Park J, et al. (2018) Hypart: a hybrid technique for practical memory bandwidth partitioning on commodity servers. In: PACT","DOI":"10.1145\/3243176.3243211"},{"key":"5070_CR12","doi-asserted-by":"crossref","unstructured":"Cook H, et al. (2013) A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness. In: ISCA, pp. 308\u2013319","DOI":"10.1145\/2508148.2485949"},{"key":"5070_CR13","doi-asserted-by":"crossref","unstructured":"Sun G, et al. (2019) Combining prefetch control and cache partitioning to improve multicore performance. In: IPDPS, pp. 953\u2013962","DOI":"10.1109\/IPDPS.2019.00103"},{"key":"5070_CR14","doi-asserted-by":"crossref","unstructured":"Xu M, et al. (2018) DCat: dynamic cache management for efficient, performance-sensitive infrastructure-as-a-service. In: EuroSys, pp. 1\u201313","DOI":"10.1145\/3190508.3190555"},{"key":"5070_CR15","doi-asserted-by":"crossref","unstructured":"Kim Y, et al. (2019) Application performance prediction and optimization under cache allocation technology. In: DATE, pp. 1285\u20131288","DOI":"10.23919\/DATE.2019.8715259"},{"key":"5070_CR16","doi-asserted-by":"crossref","unstructured":"Selfa V, et al. (2017) Application clustering policies to address system fairness with Intel\u2019s cache allocation technology. In: PACT, pp. 194\u2013205","DOI":"10.1109\/PACT.2017.19"},{"key":"5070_CR17","doi-asserted-by":"crossref","unstructured":"Garcia-Garcia A, Saez JC, et al. (2019) LFOC: a lightweight fairness-oriented cache clustering policy for commodity multicores. In: ICPP","DOI":"10.1145\/3337821.3337925"},{"key":"5070_CR18","doi-asserted-by":"crossref","unstructured":"Park J, et al. (2019) CoPart: coordinated partitioning of last-level cache and memory bandwidth for fairness-aware workload consolidation on commodity servers. In: EuroSys","DOI":"10.1145\/3302424.3303963"},{"key":"5070_CR19","doi-asserted-by":"crossref","unstructured":"Tembey P, et al. (2014) Merlin: application- and platform-aware resource allocation in consolidated server systems. In: SOCC, pp. 1\u201314","DOI":"10.1145\/2670979.2670993"},{"issue":"2","key":"5070_CR20","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2882783","volume":"34","author":"D Lo","year":"2016","unstructured":"Lo D et al (2016) Improving resource efficiency at scale with Heracles. ACM Trans Comput Syst 34(2):1","journal-title":"ACM Trans Comput Syst"},{"key":"5070_CR21","doi-asserted-by":"crossref","unstructured":"Nikas K, et al. (2019) DICER: diligent cache partitioning for efficient workload consolidation. In: ICPP. ICPP 2019","DOI":"10.1145\/3337821.3337891"},{"key":"5070_CR22","doi-asserted-by":"crossref","unstructured":"Zhu H, et al. (2016) Dirigent: enforcing qos for latency-critical tasks on shared multicore systems. In: ASPLOS, pp. 33\u201347","DOI":"10.1145\/2954679.2872394"},{"key":"5070_CR23","doi-asserted-by":"crossref","unstructured":"Chen S, et al. (2019) Parties: QoS-aware resource partitioning for multiple interactive services. In: Proc of the Twenty-Fourth Intl Conf on Architectural Support for Programming Languages and Operating Systems, pp. 107\u2013120","DOI":"10.1145\/3297858.3304005"},{"key":"5070_CR24","doi-asserted-by":"crossref","unstructured":"Xu M, et al. (2017) vCAT: dynamic cache management using cat virtualization. In: RTAS, pp. 211\u2013222","DOI":"10.1109\/RTAS.2017.15"},{"issue":"11","key":"5070_CR25","doi-asserted-by":"publisher","first-page":"2556","DOI":"10.1109\/TPDS.2020.2996031","volume":"31","author":"L Pons","year":"2020","unstructured":"Pons L et al (2020) Phase-aware cache partitioning to target both turnaround time and system performance. IEEE Trans Parallel Distrib Syst 31(11):2556\u20132568","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"5070_CR26","unstructured":"Funaro L, et al. (2016) Ginseng: market-driven llc allocation. In: USENIX ATC, pp. 295\u2013308"},{"key":"5070_CR27","doi-asserted-by":"crossref","unstructured":"Xiang Y, et al. (2019) Emba: efficient memory bandwidth allocation to improve performance on Intel commodity processor. In: ICPP","DOI":"10.1145\/3337821.3337863"},{"key":"5070_CR28","unstructured":"Fujitsu: A64FX\u00ae Microarchitecture Manual Ver. 1.6 (2021)"},{"key":"5070_CR29","unstructured":"Naffziger S, et al. (2021) Pioneering chiplet technology and design for the AMD EPYC$$^{\\text{ TM }}$$ and Ryzen$$^{\\text{ TM }}$$ processor families : Industrial product. In: ISCA, pp. 57\u201370"},{"issue":"2","key":"5070_CR30","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1109\/MM.2020.2972222","volume":"40","author":"A Pellegrini","year":"2020","unstructured":"Pellegrini A et al (2020) The arm neoverse N1 platform: building blocks for the next-gen cloud-to-edge infrastructure soc. IEEE Micro 40(2):53\u201362. https:\/\/doi.org\/10.1109\/MM.2020.2972222","journal-title":"IEEE Micro"},{"issue":"2","key":"5070_CR31","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1109\/MM.2017.38","volume":"37","author":"J Doweck","year":"2017","unstructured":"Doweck J et al (2017) Inside 6th-generation Intel Core: new microarchitecture code-named Skylake. IEEE Micro 37(2):52\u201362. https:\/\/doi.org\/10.1109\/MM.2017.38","journal-title":"IEEE Micro"},{"key":"5070_CR32","unstructured":"Advanced micro devices: processor programing reference (PRR) for AMD Family 17h Model 20h, Revision A1 Processors. Rev 3.07 (2020)"},{"key":"5070_CR33","unstructured":"Advanced micro devices: AMD64 technology platform quality of service extensions. Pub. 56375, rev 1.01 (2018)"},{"issue":"4","key":"5070_CR34","doi-asserted-by":"publisher","first-page":"393","DOI":"10.1145\/48012.48037","volume":"6","author":"A Agarwal","year":"1988","unstructured":"Agarwal A, Hennessy J, Horowitz M (1988) Cache performance of operating system and multiprogramming workloads. ACM Trans Comput Syst 6(4):393\u2013431. https:\/\/doi.org\/10.1145\/48012.48037","journal-title":"ACM Trans Comput Syst"},{"issue":"3","key":"5070_CR35","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1109\/MM.2008.44","volume":"28","author":"S Eyerman","year":"2008","unstructured":"Eyerman S, Eeckhout L (2008) System-level performance metrics for multiprogram workloads. IEEE Micro 28(3):42\u201353","journal-title":"IEEE Micro"},{"key":"5070_CR36","doi-asserted-by":"crossref","unstructured":"Navarro-Torres A, et al. (2019) Memory hierarchy characterization of SPEC CPU2006 and SPEC CPU2017 on the Intel Xeon Skylake-SP. PLOS ONE, 1\u201324","DOI":"10.1371\/journal.pone.0220135"},{"key":"5070_CR37","unstructured":"Standard performance evaluation corporation: SPEC CPU 2006. https:\/\/www.spec.org\/cpu2006\/"},{"key":"5070_CR38","unstructured":"Standard performance evaluation corporation: SPEC CPU 2017. https:\/\/www.spec.org\/cpu2017\/"},{"key":"5070_CR39","doi-asserted-by":"crossref","unstructured":"Qureshi MK, et al. (2006) Utility-based cache partitioning: a low-overhead, high-performance, runtime mechanism to partition shared caches. In: MICRO, pp. 423\u2013432","DOI":"10.1109\/MICRO.2006.49"},{"key":"5070_CR40","unstructured":"McCalpin JD (1995) Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter, 19\u201325"},{"key":"5070_CR41","unstructured":"De Melo AC (2010) The new linux \u201cperf\u201d tools. In: Linux Kongress, Vol. 18. http:\/\/vger.kernel.org\/~acme\/perf\/lk2010-perf-paper.pdf"},{"key":"5070_CR42","doi-asserted-by":"crossref","unstructured":"Hower DR, et al. (2017) PABST: proportionally allocated bandwidth at the source and Target. In: HPCA, pp. 505\u2013516","DOI":"10.1109\/HPCA.2017.33"},{"key":"5070_CR43","doi-asserted-by":"crossref","unstructured":"Ebrahimi E, et al. (2010) Fairness via source throttling: a configurable and high-performance fairness substrate for multi-core memory systems. In: ASPLOS, pp. 335\u2013346","DOI":"10.1145\/1735971.1736058"},{"key":"5070_CR44","doi-asserted-by":"crossref","unstructured":"Ipek E, et al. (2008) Self-optimizing memory controllers: a reinforcement learning approach. In: ISCA, pp. 39\u201350","DOI":"10.1145\/1394608.1382172"},{"key":"5070_CR45","doi-asserted-by":"crossref","unstructured":"Mutlu O, et al. (2007) Stall-time fair memory access scheduling for chip multiprocessors. MICRO, 146\u2013160","DOI":"10.1109\/MICRO.2007.21"},{"key":"5070_CR46","doi-asserted-by":"crossref","unstructured":"Nesbit KJ, et al. (2006) Fair queuing memory systems. In: MICRO, pp. 208\u2013222","DOI":"10.1109\/MICRO.2006.24"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-023-05070-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11227-023-05070-0\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-023-05070-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,4,24]],"date-time":"2023-04-24T22:07:56Z","timestamp":1682374076000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11227-023-05070-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,4]]},"references-count":46,"journal-issue":{"issue":"9","published-print":{"date-parts":[[2023,6]]}},"alternative-id":["5070"],"URL":"https:\/\/doi.org\/10.1007\/s11227-023-05070-0","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"type":"print","value":"0920-8542"},{"type":"electronic","value":"1573-0484"}],"subject":[],"published":{"date-parts":[[2023,2,4]]},"assertion":[{"value":"16 January 2023","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 February 2023","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"Not applicable.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical approval"}}]}}