{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,21]],"date-time":"2026-04-21T20:35:41Z","timestamp":1776803741310,"version":"3.51.2"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2016,1,20]],"date-time":"2016-01-20T00:00:00Z","timestamp":1453248000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2016,1,20]]},"abstract":"<jats:p>The uncontrolled use of the cache hierarchy in a multicore processor by real-time tasks may impact their worst-case execution times. Several operating system techniques have been recently proposed to deal with caches in a multiprocessor in order to improve predictability, such as cache partitioning, cache locking, and real-time scheduling. However, the contention caused by the cache coherence protocol and its implication for real-time tasks is still an open problem. In this paper, we present the design and evaluation of a real-time operating system for cache-coherent multicore architectures. The real-time operating system infrastructure includes real-time schedulers, cache partitioning, and cache coherence contention detection through hardware performance counters. We evaluate the real-time operating system in terms of run-time overhead, schedulability of realtime tasks, cache partitioning performance, and hardware performance counters usability. Our results indicate that: (i) a real-time operating system designed from scratch reduces the run-time overhead, and thus improves the realtime schedulability, when compared to a patched operating system; (ii) cache partitioning reduces the contention in the shared cache and provides safe real-time bounds; and (iii) hardware performance counters can detect when real-time tasks interfere with each other at the shared cache level. Scheduling, cache partitioning, and hardware performance counters together are a step-forward to provide real-time bounds in cache-coherent architectures.<\/jats:p>","DOI":"10.1145\/2883591.2883594","type":"journal-article","created":{"date-parts":[[2016,1,26]],"date-time":"2016-01-26T13:25:01Z","timestamp":1453814701000},"page":"2-16","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":18,"title":["On the Design and Evaluation of a Real-Time Operating System for Cache-Coherent Multicore Architectures"],"prefix":"10.1145","volume":"49","author":[{"given":"Giovani","family":"Gracioli","sequence":"first","affiliation":[{"name":"Federal University of Santa Catarina (UFSC), Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ant\u00f4nio Augusto","family":"Fr\u00f6hlich","sequence":"additional","affiliation":[{"name":"Federal University of Santa Catarina (UFSC), Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2010.08.008"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2012.9"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2005.88"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01940883"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2010.23"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2005.18"},{"key":"e_1_2_1_7_1","volume-title":"OSDI","author":"Boyd-Wickizer S.","year":"2010","unstructured":"S. Boyd-Wickizer , A. T. Clements , Y. Mao , A. Pesterev , M. F. Kaashoek , R. Morris , and N. Zeldovich . An Analysis of Linux Scalability to Many Cores . In OSDI 2010 . S. Boyd-Wickizer, A. T. Clements, Y. Mao, A. Pesterev, M. F. Kaashoek, R. Morris, and N. Zeldovich. An Analysis of Linux Scalability to Many Cores. In OSDI 2010."},{"key":"e_1_2_1_8_1","first-page":"61","volume-title":"Proc. of the OSPERT'07","author":"Brandenburg B. B.","year":"2007","unstructured":"B. B. Brandenburg and J. H. Anderson . Feather-trace: A light-weight event tracing toolkit . In Proc. of the OSPERT'07 , pages 61 -- 70 , 2007 . B. B. Brandenburg and J. H. Anderson. Feather-trace: A light-weight event tracing toolkit. In Proc. of the OSPERT'07, pages 61--70, 2007."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2008.23"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2009.13"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2007.81"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2006.27"},{"key":"e_1_2_1_13_1","volume-title":"Handbook on Scheduling Algorithms, Methods, and Models","author":"Carpenter J.","year":"2004","unstructured":"J. Carpenter , S. Funk , P. Holman , A. Srinivasan , J. Anderson , and S. Baruah . A categorization of real-time multiprocessor scheduling problems and algorithms . In Handbook on Scheduling Algorithms, Methods, and Models . Chapman Hall\/CRC , 2004 . J. Carpenter, S. Funk, P. Holman, A. Srinivasan, J. Anderson, and S. Baruah. A categorization of real-time multiprocessor scheduling problems and algorithms. In Handbook on Scheduling Algorithms, Methods, and Models. Chapman Hall\/CRC, 2004."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2009.5161016"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.889095"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1121788.1121799"},{"key":"e_1_2_1_17_1","first-page":"289.2","volume-title":"Proc. of the IPDPS '03","author":"Dongarra J.","unstructured":"J. Dongarra , K. London , S. Moore , P. Mucci , D. Terpstra , H. You , and M. Zhou . Experiences and lessons learned with a portable interface to hardware performance counters . In Proc. of the IPDPS '03 , pages 289.2 --, USA, 2003. IEEE. J. Dongarra, K. London, S. Moore, P. Mucci, D. Terpstra, H. You, and M. Zhou. Experiences and lessons learned with a portable interface to hardware performance counters. In Proc. of the IPDPS '03, pages 289.2--, USA, 2003. IEEE."},{"key":"e_1_2_1_18_1","unstructured":"EPOS. Epos website Dec. 2014.  EPOS. Epos website Dec. 2014."},{"key":"e_1_2_1_19_1","volume-title":"Proc. of the Eleventh Real-Time Linux Workshop","author":"Faggioli D.","year":"2009","unstructured":"D. Faggioli , F. Checconi , M. Trimarchi , and C. Scordino . An EDF scheduling class for the Linux kernel . In Proc. of the Eleventh Real-Time Linux Workshop , Dresden, Germany , Sept. 2009 . D. Faggioli, F. Checconi, M. Trimarchi, and C. Scordino. An EDF scheduling class for the Linux kernel. In Proc. of the Eleventh Real-Time Linux Workshop, Dresden, Germany, Sept. 2009."},{"key":"e_1_2_1_20_1","volume-title":"GMD - Forschungszentrum Informationstechnik","author":"Fr\u00f6hlich A. A.","year":"2001","unstructured":"A. A. Fr\u00f6hlich . Application-Oriented Operating Systems . Number 17 in GMD Research Series . GMD - Forschungszentrum Informationstechnik , Sankt Augustin , Aug. 2001 . A. A. Fr\u00f6hlich. Application-Oriented Operating Systems. Number 17 in GMD Research Series. GMD - Forschungszentrum Informationstechnik, Sankt Augustin, Aug. 2001."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1025120124771"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTCSA.2013.6732205"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBESC.2014.8"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11241-013-9183-3"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629335.1629369"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2011.11"},{"key":"e_1_2_1_28_1","volume-title":"January","year":"2009","unstructured":"Intel. An introduction to the intel quickpath interconnect , January 2009 . Document Number : 320412-001US. Intel. An introduction to the intel quickpath interconnect, January 2009. Document Number: 320412-001US."},{"key":"e_1_2_1_29_1","volume-title":"Intel R 64 and IA-32 Architectures Software Developer's Manual. Number 253668-037US","author":"Intel Corporation","year":"2011","unstructured":"Intel Corporation . Intel R 64 and IA-32 Architectures Software Developer's Manual. Number 253668-037US . January 2011 . Intel Corporation. Intel R 64 and IA-32 Architectures Software Developer's Manual. Number 253668-037US. January 2011."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11970-5_15"},{"key":"e_1_2_1_31_1","volume-title":"Oct.","author":"Kato S.","year":"2012","unstructured":"S. Kato . AIRS website , Oct. 2012 . S. Kato. AIRS website, Oct. 2012."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2013.26"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2013.19"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/523983.828369"},{"key":"e_1_2_1_35_1","first-page":"367","volume-title":"Prof. of the HPCA '08","author":"Lin J.","year":"2008","unstructured":"J. Lin , Q. Lu , X. Ding , Z. Zhang , X. Zhang , and P. Sadayappan . Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems . In Prof. of the HPCA '08 , pages 367 -- 378 . IEEE Computer Society , 2008 . J. Lin, Q. Lu, X. Ding, Z. Zhang, X. Zhang, and P. Sadayappan. Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems. In Prof. of the HPCA '08, pages 367--378. IEEE Computer Society, 2008."},{"key":"e_1_2_1_36_1","volume-title":"Using Intel R VTuneTM Performance Analyzer Events\/Ratios Optimizing Applications. Number Intel R White Paper","author":"Malladi R. K.","year":"2010","unstructured":"R. K. Malladi . Using Intel R VTuneTM Performance Analyzer Events\/Ratios Optimizing Applications. Number Intel R White Paper . 2010 . R. K. Malladi. Using Intel R VTuneTM Performance Analyzer Events\/Ratios Optimizing Applications. Number Intel R White Paper. 2010."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2013.6531078"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/520050.828443"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-30121-9_26"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1967677.1967696"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2380403.2380434"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2012.27"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391469.1391545"},{"key":"e_1_2_1_44_1","volume-title":"WIOSCA'07","author":"Tam D.","year":"2007","unstructured":"D. Tam , R. Azimi , L. Soares , and M. Stumm . Managing shared l2 caches on multicore systems in software . In WIOSCA'07 , 2007 . D. Tam, R. Azimi, L. Soares, and M. Stumm. Managing shared l2 caches on multicore systems in software. In WIOSCA'07, 2007."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/885651.781062"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2883591.2883594","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2883591.2883594","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:04:11Z","timestamp":1750273451000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2883591.2883594"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,1,20]]},"references-count":44,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,1,20]]}},"alternative-id":["10.1145\/2883591.2883594"],"URL":"https:\/\/doi.org\/10.1145\/2883591.2883594","relation":{},"ISSN":["0163-5980"],"issn-type":[{"value":"0163-5980","type":"print"}],"subject":[],"published":{"date-parts":[[2016,1,20]]},"assertion":[{"value":"2016-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}