skip to main content
research-article

Blocking-Aware Partitioned Real-Time Scheduling for Uniform Heterogeneous Multicore Platforms

Authors Info & Claims
Published:06 February 2020Publication History
Skip Abstract Section

Abstract

Heterogeneous multicore processors have recently become de facto computing engines for state-of-the-art embedded applications. Nonetheless, very little research focuses on the scheduling of periodic (implicit-deadline) real-time tasks upon heterogeneous multicores under the requirements of task synchronization, which is stemmed from resource access conflicts and can greatly affect the schedulability of tasks. In view of partitioned Earliest Deadline First and Multiprocessor Stack Resource Policy, we first discuss the blocking-aware utilization bound for uniform heterogeneous multicores and then illustrate its non-monotonicity, where the bound may decrease with more deployed cores. Following the insights obtained from the bound analysis, taking the system heterogeneity into consideration, we propose a Synchronization-Aware Task Partitioning Algorithm for Heterogeneous Multicores (SA-TPA-HM)). Several resource-guided and heterogeneity-oriented mapping heuristics are incorporated to reduce the negative impacts of blocking interferences for better schedulability performance of tasks and balanced workload distribution across cores. The extensive simulation results show that SA-TPA-HM can obtain the schedulability ratios approximate to an Integer Non-Linear Programming--based solution, and much higher (e.g., 60% more) in contrast to the existing partitioning algorithms targeted at homogeneous multicores. The measurement results in Linux kernel further reveal the practical viability of SA-TPA-HM that can experience lower runtime overhead (e.g., 15% less) when compared to other mapping schemes.

Skip Supplemental Material Section

Supplemental Material

References

  1. Peter Greenhalgh. 2011. Big.LITTLE processing with ARM Cortex-a15 8 Cortex-A7. EE Times. Retrieved December 11, 2019 from https://www.eetimes.com/big-little-processing-with-arm-cortex-a15-cortex-a7/#Google ScholarGoogle Scholar
  2. Nagabhushan Chitlur, Ganapati Srinivasa, Scott Hahn, P. K. Gupta, Dheeraj Reddy, David Koufaty, Paul Brett, Abirami Prabhakaran, Li Zhao, and Nelson Ijih. 2012. QuickIA: Exploring heterogeneous architectures on real prototypes. In Proceedings of the International Symposium on High-Performance Computer Architecture. 1--8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Markus Happe, Enno Bbers, and Marco Platzner. 2013. A self-adaptive heterogeneous multi-core architecture for embedded real-time video object tracking. Journal of Real-Time Image Processing 8, 1 (2013), 95--110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Peter Kollig, Colin Osborne, and Tomas Henriksson. 2009. Heterogeneous multi-core platform for consumer multimedia applications. In Proceedings of the 2009 Design, Automation and Test in Europe Conference and Exhibition. 1254--1259.Google ScholarGoogle ScholarCross RefCross Ref
  5. Aref Karimiafshar, Mohammad Ali Montazeri, Mahdi Kalbasi, and Ali Fanian. 2013. Hard periodic real-time task scheduling on mobile heterogeneous processor. In Proceedings of the Conference on Information and Knowledge Technology. 394--399.Google ScholarGoogle ScholarCross RefCross Ref
  6. Maen Hammond, Guangzhi Qu, and Osamah A. Rawashdeh. 2015. Deploying and scheduling vision based advanced driver assistance systems (ADAS) on heterogeneous multicore embedded platform. In Proceedings of the 2015 9th International Conference on Frontier of Computer Science and Technology. 172--177.Google ScholarGoogle Scholar
  7. L. Sha, R. Rajkumar, and J. P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers 39, 9 (1990), 1175--1185. DOI:http://dx.doi.org/10.1109/12.57058Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Block, H. Leontyev, Björn B. Brandenburg, and J.-H. Anderson. 2007. A flexible real-time locking protocol for multiprocessors. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 47--56.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. P. Baker. 1991. Stack-based scheduling for realtime processes. Real-Time Systems 3, 1 (1991), 67--99.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Paolo Gai, Marco Di Natale, Giuseppe Lipari, Alberto Ferrari, Claudio Gabellini, and Paolo Marceca. 2003. A comparison of MPCP and MSRP when sharing resources in the Janus multiple-processor on a chip platform. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 189--198.Google ScholarGoogle Scholar
  11. K. Lakshmanan, D. de Niz, and R. Rajkumar. 2009. Coordinated task scheduling, allocation and synchronization on multiprocessors. In Proceedings of the IEEE Real-Time Systems Symposium. 469--478.Google ScholarGoogle Scholar
  12. Björn B. Brandenburg and J.-H. Anderson. 2010. Optimality results for multiprocessor real-time locking. In Proceedings of the IEEE Real-Time Systems Symposium. 49--60.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ting Hao Tsai, Lin Fong Fan, Ya Shu Chen, and Tien Shun Yao. 2016. Triple speed: Energy-aware real-time task synchronization in homogeneous multi-core systems. IEEE Transactions on Computers 65, 4 (2016), 1297--1309.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J.-J. Han, X. Wu, D. Zhu, H. Jin, L. T. Yang, and J.-L. Gaudiot. 2012. Synchronization-aware energy management for VFI-based multicore real-time systems. IEEE Transactions on Computers 61, 12 (2012), 1682--1696.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Wen Hung Huang, Maolin Yang, and Jian Jia Chen. 2016. Resource-oriented partitioned scheduling in multiprocessor systems: How to partition and how to share? In Proceedings of the Real-Time Systems Symposium. 111--122.Google ScholarGoogle ScholarCross RefCross Ref
  16. G. Tong and C. Liu. 2016. Supporting soft real-time sporadic task systems on uniform heterogeneous multiprocessors with no utilization loss. IEEE Transactions on Parallel and Distributed Systems 27, 9 (2016), 2740--2752.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Di Liu, Jelena Spasic, Peng Wang, and Todor Stefanov. 2016. Energy-efficient scheduling of real-time tasks on heterogeneous multicores using task splitting. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 149--158.Google ScholarGoogle ScholarCross RefCross Ref
  18. Hoon Sung Chwa, Jaebaek Seo, Jinkyu Lee, and Insik Shin. 2015. Optimal real-time scheduling on two-type heterogeneous multicore platforms. In Proceedings of the IEEE Real-Time Systems Symposium. 119--129.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Giovani Gracioli, Antônio Augusto Fröhlich, Rodolfo Pellizzoni, and Sebastian Fischmeister. 2013. Implementation and evaluation of global and partitioned scheduling in a real-time OS. Real-Time Systems 49, 6 (2013), 669--714.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Björn B. Brandenburg and James H. Anderson. 2008. A comparison of the M-PCP, D-PCP, and FMLP on LITMUSRT. In Principles of Distributed Systems. Lecture Notes in Computer Science, Vol. 5401. Springer, 105--124.Google ScholarGoogle Scholar
  21. Ya Shu Chen, Han Chiang Liao, and Ting Hao Tsai. 2012. Online real-time task scheduling in heterogeneous multicore system-on-a-chip. IEEE Transactions on Parallel and Distributed Systems 24, 1 (2012), 118--130.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Eduardo Valentin, Rosiane De Freitas, and Raimundo Barreto. 2017. Reaching optimum solutions for the low power hard real-time task allocation on multiple heterogeneous processors problem. In Proceedings of the Conference on Computing Systems Engineering. 128--135.Google ScholarGoogle Scholar
  23. Santiago Pagani, Anuj Pathania, Muhammad Shafique, Jian Jia Chen, and Jorg Henkel. 2017. Energy efficiency for clustered heterogeneous multicores. IEEE Transactions on Parallel and Distributed Systems 28, 5 (2017), 1315--1330.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Ali, U. U. Tariq, Y. Zheng, X. Zhai, and L. Liu. 2018. Contention and energy-aware real-time task mapping on NoC based heterogeneous MPSoCs. IEEE Access 6 (2018), 75110--75123.Google ScholarGoogle ScholarCross RefCross Ref
  25. Tien Shun Yao, Ting Hao Tsai, Ya Shu Chen, Jing Ho Chen, and Dai Chang Chen. 2017. Online energy-efficient real-time task scheduling for heterogeneous multicore systems. In Proceedings of the IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 1--10.Google ScholarGoogle ScholarCross RefCross Ref
  26. Alan Burns and Andy J. Wellings. 2013. A schedulability compatible multiprocessor resource sharing protocol—MrsP. In Proceedings of the Euromicro Conference on Real-Time Systems. 282--291.Google ScholarGoogle Scholar
  27. F. Nemati, T. Nolte, and M. Behnam. 2010. Partitioning real-time systems on multiprocessors with shared resources. In Proceedings of the International Conference on Principles of Distributed Systems. 253--269.Google ScholarGoogle Scholar
  28. E. M. Saad, A. M. Elewi, M. Shalan, and M. H. Awadalla. 2014. Energy and synchronization-aware mapping of real-time tasks on asymmetric multicore platforms. International Journal of Computer Applications 75, 11 (2014), 35--40.Google ScholarGoogle ScholarCross RefCross Ref
  29. A. Wieder and B. B. Brandenburg. 2013. Efficient partitioning of sporadic real-time tasks with shared resources and spin locks. In Proceedings of the IEEE International Symposium on Industrial Embedded Systems. 49--58.Google ScholarGoogle Scholar
  30. Björn B. Brandenburg. 2014. A synchronous IPC protocol for predictable access to shared resources in mixed-criticality systems. In Proceedings of the IEEE Real-Time Systems Symposium. 196--206.Google ScholarGoogle ScholarCross RefCross Ref
  31. Alessandro Biondi, Giorgio Buttazzo, and Marko Bertogna. 2018. A design flow for supporting component-based software development in multiprocessor real-time systems. Real-Time Systems 54, 4 (2018), 800--829.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Jun Wu. 2017. A survey of energy-efficient task synchronization for real-time embedded systems. In Proceedings of the International Conference on Embedded and Real-Time Computing Systems and Applications. 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  33. Xin Wang and Wei Zhang. 2016. Cache locking vs. partitioning for real-time computing on integrated CPU-GPU processors. In Proceedings of the IEEE 35th International Performance Computing and Communications Conference. 1--8.Google ScholarGoogle ScholarCross RefCross Ref
  34. Jian-Jun Han, Xin Tao, Dakai Zhu, and Laurence Yang. 2017. Resource sharing in multicore mixed-criticality systems: Utilization bound and blocking overhead. IEEE Transactions on Parallel and Distributed Systems 28, 12 (2017), 3626--3641.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Leandro Soares Indrusiak, James Harbin, and Alan Burns. 2015. Average and worst-case latency improvements in mixed-criticality wormhole networks-on-chip. In Proceedings of the Euromicro Conference on Real-Time Systems. 47--56.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Christian Zoubek and Peter Trommler. 2017. Overview of worst case execution time analysis in single- and multicore environments. In Proceedings of the International Conference on Architecture of Computing Systems. 1--5.Google ScholarGoogle Scholar
  37. Zaid Al-Bayati, Youcheng Sun, Haibo Zeng, Marco Di Natale, Qi Zhu, and Brett Meyer. 2015. Task placement and selection of data consistency mechanisms for real-time multicore applications. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium. 172--181.Google ScholarGoogle ScholarCross RefCross Ref
  38. Jim Ras and Albert M. K. Cheng. 2009. An evaluation of the dynamic and static multiprocessor priority ceiling protocol and the multiprocessor stack resource policy in an SMP system. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 13--22.Google ScholarGoogle Scholar
  39. José María López, José Luis Díaz, and Daniel F. García. 2004. Utilization bounds for EDF scheduling on real-time multiprocessor systems. Real-Time Systems 28, 1 (2004), 39--68.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. S. Funk and S. Baruah. 2005. Task assignment on uniform heterogeneous multiprocessors. In Proceedings of Real-Time Systems. 219--226.Google ScholarGoogle Scholar
  41. G. Raravi and V. Nelis. 2012. A PTAS for assigning sporadic tasks on two-type heterogeneous multiprocessors. In Proceedings of the IEEE Real-Time Systems Symposium. 117--126.Google ScholarGoogle Scholar
  42. Enrico Bini and Giorgio C. Buttazzo. 2005. Measuring the performance of schedulability tests. Real-Time Systems 30, 1--2 (2005), 129--154.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Blocking-Aware Partitioned Real-Time Scheduling for Uniform Heterogeneous Multicore Platforms

        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 19, Issue 1
          January 2020
          185 pages
          ISSN:1539-9087
          EISSN:1558-3465
          DOI:10.1145/3382497
          Issue’s Table of Contents

          Copyright © 2020 ACM

          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: 6 February 2020
          • Accepted: 1 September 2019
          • Revised: 1 July 2019
          • Received: 1 January 2019
          Published in tecs Volume 19, Issue 1

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format