skip to main content
research-article

Cache Interference-aware Task Partitioning for Non-preemptive Real-time Multi-core Systems

Published:28 May 2022Publication History
Skip Abstract Section

Abstract

Shared caches in multi-core processors introduce serious difficulties in providing guarantees on the real-time properties of embedded software due to the interaction and the resulting contention in the shared caches. Prior work has studied the schedulability analysis of global scheduling for real-time multi-core systems with shared caches. This article considers another common scheduling paradigm: partitioned scheduling in the presence of shared cache interference. To achieve this, we propose CITTA, a cache interference-aware task partitioning algorithm. We first analyze the shared cache interference between two programs for set-associative instruction and data caches. Then, an integer programming formulation is constructed to calculate the upper bound on cache interference exhibited by a task, which is required by CITTA. We conduct schedulability analysis of CITTA and formally prove its correctness. A set of experiments is performed to evaluate the schedulability performance of CITTA against global EDF scheduling and other greedy partition approaches such as First-fit and Worst-fit over randomly generated tasksets and realistic workloads in embedded systems. Our empirical evaluations show that CITTA outperforms global EDF scheduling and greedy partition approaches in terms of task sets deemed schedulable.

REFERENCES

  1. [1] Albers K. and Slomka F.. 2004. An event stream driven approximation for the analysis of real-time systems. In Proceedings of the 16th Euromicro Conference on Real-Time Systems (ECRTS’04).187195.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Altmeyer Sebastian and Burguière Claire Maiza. 2011. Cache-related preemption delay via useful cache blocks: Survey and redefinition. J. Syst. Arch. 57, 7 (2011), 707719.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Baruah Sanjoy. 2005. The limited-preemption uniprocessor scheduling of sporadic task systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems (ECRTS’05). 137144.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Baruah Sanjoy. 2007. Techniques for multiprocessor global schedulability analysis. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’07). IEEE Computer Society, Washington, DC, 119128.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Baruah S. and Fisher N.. 2005. The partitioned multiprocessor scheduling of sporadic task systems. In Proceedings of the 26th IEEE International Real-Time Systems Symposium (RTSS’05).Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Baruah Sanjoy K., Mok Aloysius K., and Rosier Louis E.. 1990. Preemptively scheduling hard-real-time sporadic tasks on one processor. In In Proceedings of the 11th Real-Time Systems Symposium. IEEE Computer Society Press, 182190.Google ScholarGoogle ScholarCross RefCross Ref
  7. [7] Bastoni A., Brandenburg B. B., and Anderson J. H.. 2010. An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In Proceedings of the 31st IEEE Real-Time Systems Symposium. 1424. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Bertogna M., Cirinei M., and Lipari G.. 2009. Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Trans. Parallel Distrib. Syst. 20, 4 (April 2009), 553566. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Brandenburg B. B. and Gül M.. 2016. Global scheduling not required: Simple, near-optimal multiprocessor real-time scheduling with semi-partitioned reservations. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’16). 99110.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Caccamo Marco, Cesati Marco, Pellizzoni Rodolfo, Betti Emiliano, Dudko Roman, and Mancuso Renato. 2013. Real-time cache management framework for multi-core architectures. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’13). IEEE Computer Society, Washington, DC, 4554.Google ScholarGoogle Scholar
  11. [11] Calandrino John M., Leontyev Hennadiy, Block Aaron, Devi UmaMaheswari C., and Anderson James H.. 2006. Litmus^ rt: A testbed for empirically comparing real-time multiprocessor schedulers. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS’06). IEEE, 111126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Casini Daniel, Biondi Alessandro, and Buttazzo Giorgio. 2017. Semi-partitioned scheduling of dynamic real-time workload: A practical approach based on analysis-driven load balancing. In Proceedings of the 29th Euromicro Conference on Real-Time Systems (ECRTS 2017),Leibniz International Proceedings in Informatics (LIPIcs), Bertogna Marko (Ed.), Vol. 76. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 13:1–13:23.Google ScholarGoogle Scholar
  13. [13] Clarkson Kenneth L.. 1995. Las vegas algorithms for linear and integer programming when the dimension is small. J. ACM 42, 2 (1995), 488499.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Cousot Patrick and Cousot Radhia. 1977. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. 238252.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Davis Robert I. and Burns Alan. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Comput. Surv. 43, 4, Article 35 (Oct. 2011), 44 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Falk Heiko, Altmeyer Sebastian, Hellinckx Peter, Lisper Björn, Puffitsch Wolfgang, Rochange Christine, Schoeberl Martin, Sørensen Rasmus Bo, Wägemann Peter, and Wegener Simon. 2016. TACLeBench: A benchmark collection to support worst-case execution time research. In Proceedings of the 16th International Workshop on Worst-Case Execution Time Analysis.Google ScholarGoogle Scholar
  17. [17] Fisher Nathan and Baruah Sanjoy. 2006. The partitioned multiprocessor scheduling of non-preemptive sporadic task systems. In Proceedings of the 14th International Conference on Real-time and Network Systems.Google ScholarGoogle Scholar
  18. [18] George Laurent, Muhlethaler Paul, and Rivierre Nicolas. 1995. Optimality and Non-preemptive Real-time Scheduling Revisited. Research Report RR-2516. INRIA. Projet REFLECS.Google ScholarGoogle Scholar
  19. [19] Gracioli G. and Fröhlich A. A.. 2013. An experimental evaluation of the cache partitioning impact on multicore real-time schedulers. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’03). 7281.Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Guan Nan, Stigge Martin, Yi Wang, and Yu Ge. 2009. Cache-aware scheduling and analysis for multicores. In Proceedings of the 7th ACM International Conference on Embedded Software. ACM, 245254.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Guo Zhishan, Yang Kecheng, Yao Fan, and Awad Amro. 2020. Inter-task cache interference aware partitioned real-time scheduling. In Proceedings of the 35th Annual ACM Symposium on Applied Computing. 218226.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Gustafsson Jan, Betts Adam, Ermedahl Andreas, and Lisper Björn. 2010. The Mälardalen WCET benchmarks: Past, present and future. In Proceedings of the 10th International Workshop on Worst-Case Execution Time Analysis (WCET’10), OpenAccess Series in Informatics (OASIcs), Lisper Björn (Ed.), Vol. 15. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 136146.Google ScholarGoogle Scholar
  23. [23] Hardy D., Piquet T., and Puaut I.. 2009. Using bypass to tighten WCET estimates for multi-core processors with shared instruction caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’09). 6877.Google ScholarGoogle Scholar
  24. [24] Hardy D. and Puaut I.. 2008. WCET analysis of multi-level non-inclusive set-associative instruction caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’08). 456466.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Hardy Damien, Rouxel Benjamin, and Puaut Isabelle. 2017. The heptane static worst-case execution time estimation tool. In Proceedings of the 17th International Workshop on Worst-Case Execution Time Analysis (WCET’17). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.Google ScholarGoogle Scholar
  26. [26] Jeffay K., Stanat D. F., and Martel C. U.. 1991. On non-preemptive scheduling of period and sporadic tasks. In Proceedings of the 12th Real-Time Systems Symposium. 129139.Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Jeffay Kevin, Stanat Donald F., and Martel Charles U.. 1991. On non-preemptive scheduling of periodic and sporadic tasks. In Proceedings of the IEEE Real-time Systems Symposium. IEEE, 129139.Google ScholarGoogle Scholar
  28. [28] Kato S. and Yamasaki N.. 2009. Semi-partitioned fixed-priority scheduling on multiprocessors. In Proceedings of the 15th IEEE Real-Time and Embedded Technology and Applications Symposium. 2332.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Kim H., Kandhalu A., and Rajkumar R.. 2013. A coordinated approach for practical os-level cache management in multi-core real-time systems. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’13). 8089.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Lee Chang-Gun, Hahn Hoosun, Seo Yang-Min, Min Sang Lyul, Ha Rhan, Hong Seongsoo, Park Chang Yun, Lee Minsuk, and Kim Chong Sang. 1998. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Trans. Comput. 47, 6 (1998), 700713.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Lee J., Shin K. G., Shin I., and Easwaran A.. 2015. Composition of schedulability analyses for real-time multiprocessor systems. IEEE Trans. Comput. 64, 4 (April 2015), 941954. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Li Y., Suhendra V., Liang Y., Mitra T., and Roychoudhury A.. 2009. Timing analysis of concurrent programs running on shared cache multi-cores. In Proceedings of the 30th IEEE Real-Time Systems Symposium. 5767. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Liedtke J., Hartig H., and Hohmuth M.. 1997. OS-controlled cache predictability for real-time systems. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’97). 213224.Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] López José María, Díaz José Luis, and García Daniel F.. 2004. Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Syst. 28, 1 (2004), 3968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Lundqvist Thomas and Stenstrom Per. 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the 20th IEEE Real-Time Systems Symposium. IEEE, 1221.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Negi Hemendra Singh, Mitra Tulika, and Roychoudhury Abhik. 2003. Accurate estimation of cache-related preemption delay. In Proceedings of the 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. 201206.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Shekhar Mayank, Sarkar Abhik, Ramaprasad Harini, and Mueller Frank. 2012. Semi-partitioned hard-real-time scheduling under locked cache migration in multicore systems. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’12). IEEE Computer Society, Washington, DC, 331340.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Stafford Roger. 2006. Random vectors with fixed sum. (2006). http://www.mathworks.com/matlabcentral/fileexchange/9700.Google ScholarGoogle Scholar
  39. [39] Suhendra Vivy and Mitra Tulika. 2008. Exploring locking & partitioning for predictable shared caches on multi-cores. In Proceedings of the 45th Annual Design Automation Conference (DAC’08). ACM, New York, NY, 300303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Theiling Henrik, Ferdinand Christian, and Wilhelm Reinhard. 2000. Fast and precise WCET prediction by separated cache and path analyses. Real-Time Syst 18, 2–3 (2000), 157179.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. [41] Ward B. C., Herman J. L., Kenna C. J., and Anderson J. H.. 2013. Making shared caches more predictable on multicore platforms. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’13). 157167.Google ScholarGoogle Scholar
  42. [42] Wilhelm Reinhard, Engblom Jakob, Ermedahl Andreas, Holsti Niklas, Thesing Stephan, Whalley David, Bernat Guillem, Ferdinand Christian, Heckmann Reinhold, Mitra Tulika, Mueller Frank, Puaut Isabelle, Puschner Peter, Staschulat Jan, and Stenström Per. 2008. The worst-case execution-time problem—Overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3, Article 36 (May 2008), 53 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. [43] Xiao J., Altmeyer S., and Pimentel A.. 2017. Schedulability analysis of non-preemptive real-time scheduling for multicore processors with shared caches. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS’17). 199208. Google ScholarGoogle ScholarCross RefCross Ref
  44. [44] Xiao J., Altmeyer S., and Pimentel A. D.. 2020. Schedulability analysis of global scheduling for multicore systems with shared caches. IEEE Trans. Comput. (2020), 11. Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Xiao Jun and Pimentel Andy D.. 2020. CITTA: Cache interference-aware task partitioning for real-time multi-core systems. In Proceedings of the 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. 97107.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Xu M., Phan L. T. X., Choi H., Lin Y., Li H., Lu C., and Lee I.. Holistic resource allocation for multicore real-time systems. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’19). Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Xu M., Phan L. T. X., Choi H. Y., and Lee I.. 2016. Analysis and implementation of global preemptive fixed-priority scheduling with dynamic cache allocation. In Proceedings of the Real Time Technology and Applications Symposium (RTAS’16). 112.Google ScholarGoogle ScholarCross RefCross Ref
  48. [48] Yang Maolin, Huang Wen-Hung, and Chen Jian-Jia. 2018. Resource-oriented partitioning for multiprocessor systems with shared resources. IEEE Trans. Comput. PP (12 2018), 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Zhang W. and Yan J.. 2009. Accurately estimating worst-case execution time for multi-core processors with shared direct-mapped instruction caches. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’09). 455463.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Cache Interference-aware Task Partitioning for Non-preemptive Real-time Multi-core Systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 21, Issue 3
      May 2022
      365 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/3530307
      • Editor:
      • Tulika Mitra
      Issue’s Table of Contents

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 May 2022
      • Online AM: 26 January 2022
      • Accepted: 1 September 2021
      • Revised: 1 August 2021
      • Received: 1 December 2020
      Published in tecs Volume 21, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    View Full Text

    HTML Format

    View this article in HTML Format .

    View HTML Format
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!