Architecture aware semi partitioned real-time scheduling on multicore platforms
Abstract
As real-time embedded systems integrate more and more functionality, they are demanding increasing amounts of computational power that can only be met by deploying them on powerful and scalable multicore architectures. The use of multicore architectures with on-chip memory hierarchies and shared communication infrastructure in the context of real-time systems poses several challenges for task scheduling. Semi-partitioned scheduling algorithms form a middle ground between the two extreme approaches, namely global and partitioned scheduling. In such an algorithm, a subset of tasks are partitioned onto cores and the remaining tasks are allowed to migrate in a pre-specified manner. By making most tasks non-migrating (partitioned), runtime migration overhead is minimized. On the other hand, by allowing some tasks to migrate among cores, schedulability is improved. In this paper, we present a predictable semi-partitioned scheduling algorithm for independent hard-real-time sporadic tasks executing on homogeneous multicore platforms using cache locking and locked cache migration. As part of the semi-partitioned scheduling algorithm, we propose two different task ordering schemes and two different schemes for the initial partitioning phase. Simulation results demonstrate the effectiveness of the proposed schemes in comparison to existing state-of-the-art techniques.
Keywords
Real-time scheduling Semi-partitioned Multi-coreNotes
Acknowledgments
This work was supported in part by NSF grants CNS-0905212, CNS-0905181, and CNS-1239246. Author’s addresses: Mayank Shekhar, Department of Electrical and Computer Engineering, Southern Illinois University Carbondale; Harini Ramaprasad, Department of Computer Science, University of North Carolina at Charlotte; Abhik Sarkar (current address), Intel Corporation, California; Frank Mueller, Department of Computer Science, North Carolina State University. A preliminary version of this work appeared in the Euromicro Conference on Real-Time Systems (ECRTS), 2012 Shekhar et al. (2012). This journal version motivates and proposes a novel task ordering scheme based on task migration characteristics (Sect. 4.3.1) and a novel Slack and Architecture Aware task allocation scheme (Sects. 4.3.4, 4.3.5). It presents simulation results for the newly proposed schemes and performs a detailed comparison between the new schemes and two existing schemes (Sect. 6).
References
- Anderson J, Srinivasan A (2000) Early-release fair scheduling. In: Euromicro conference on real-time systems, pp 35–43Google Scholar
- Anderson J, Bastoni A, Brandenburg B (2011) Is semi-partitioning practical ? In: Euromicro conference on real-time systems, pp 122–135Google Scholar
- Andersson B, Bletsas K (2008) Sporadic multiprocessor scheduling with few preemptions. In: Proceedings of the 2008 euromicro conference on real-time systems, ECRTS ’08, pp 243–252Google Scholar
- Baruah S (2007) Techniques for multiprocessor global schedulability analysis. In: IEEE real-time systems symposium, pp 119–128Google Scholar
- Baruah S, Cohen N, Plaxton C, Varvel D (1996) Proportionate progress: a notion of fairness in resource allocation. Algorithmica 15:600–625MATHMathSciNetCrossRefGoogle Scholar
- Bini E, Buttazzo GC (2005) Measuring the performance of schedulability tests. RTS 30(2):129–154MATHGoogle Scholar
- Burchard A, Liebeherr J, Oh Y, Son S (1995) New strategies for assigning real-time tasks to multiprocessor systems. IEEE Trans Comput 44(12):1429–1442MATHMathSciNetCrossRefGoogle Scholar
- Burns A, Davis RI, Wang P, Zhang F (2012) Partitioned EDF scheduling for multiprocessors using a \(C=D\) task splitting scheme. RTS 48:3–33MATHGoogle Scholar
- Chou CL, Marculescu R (2008) Contention aware application mapping for network-on-chip communication architecutres. In: International conference on computer design-ICCD, pp 164–169Google Scholar
- Crespo IRA, Mok A (1996) Improvement in feasibilty testing for real-time tasks. J Real-Time Syst 11(1):19–39CrossRefGoogle Scholar
- Davis RI, Burns A (2011) Improved priority assignment for global fixed priority pre-emptive scheduling in multi-processor real-time systems. RTS 47(1):1–40MATHGoogle Scholar
- Dhall S, Liu C (1978) On a real-time scheduling problem. Oper Res 26(1):127–140MATHMathSciNetCrossRefGoogle Scholar
- Dorin F, Yomsi PM, Goossens J, Richard P (2010) Semi-partitioned hard real-time scheduling with restricted migrations upon identical multiprocessor platforms. CoRR arXiv:1006.2637
- Goossens K, Dielissen J, Radulescu A (2005) Aethereal network on chip: concepts, architectures, and implementations. IEEE Des Test 22:414–421CrossRefGoogle Scholar
- Intel (2012) Intel’s single-chip cloud computer. http://Techresearch.intel.com/ProjectDetails.aspx?Id=1
- Kato S, Yamasaki N (2008) Portioned edf-based scheduling on multiprocessors. In: Proceedings of the 8th ACM international conference on Embedded software, pp 139–148Google Scholar
- Kato S, Yamasaki N, Ishikawa Y (2009) Semi-partitioned scheduling of sporadic task systems on multiprocessors. In: Euromicro conference on real-time systemsGoogle Scholar
- Lisper B, Vera X (2003) Data cache locking for higher program predictability. In: ACM SIGMETRICS international conference on measurement and modeling of computer systems, pp 272–282Google Scholar
- Livani MA, Kaiser J, Jia W (1999) Scheduling hard and soft real-time communication in a controller area network. In: IFAC/IFIP workshop on real-time programmingGoogle Scholar
- Moir M, Ramamurthy S (1999) Pfair scheduling of fixed and migrating periodic tasks on multiple resources. In: IEEE real-time systems symposium, pp 294–303Google Scholar
- Murali S, Micheli GD (2004) Bandwidth-constrained mapping of cores onto noc architectures. In: Design, automation and test in europe conference and exhibition, pp 896–901Google Scholar
- Puaut I (2006) Wcet-centric software-controlled instruction caches for hard real-time systems. In: ECRTS ’06: proceedings of the 18th euromicro conference on real-time systems, IEEE Computer Society, Washington, DC, USA, pp 217–226. doi: 10.1109/ECRTS.2006.32
- Puaut I, Decotigny D (2002) Low-complexity algorithms for static cache locking in multitasking hard real-time systems. In: IEEE real-time systems symposium, pp 114–123Google Scholar
- Puaut I, Pais C (2007) Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison. In: Design, automation and test in Europe, EDA Consortium, San Jose, CA, USA, pp 1484–1489. http://portal.acm.org/citation.cfm?id=1266366.1266692
- Ramaprasad H, Mueller F (2010) Tightening the bounds on feasible preemptions. ACM Trans Embed Comput Syst 10:27:1–27:34Google Scholar
- Rhee CE, Jeong HY, Ha S (2004) Many-to-many core-switch mapping in 2-d mesh noc architectures. In: Computer design: IEEE international conference on VLSI in computers and processors, ICCD, pp 438–443Google Scholar
- Sarkar A, Mueller F, Ramaprasad H, Mohan S (2009) Push-assisted migration of real-time tasks in multi-core processors. In: ACM SIGPLAN conference on language, compiler, and tool support for embedded systems, pp 80–89Google Scholar
- Sarkar A, Mueller F, Ramaprasad H (2011) Predictable task migration for locked caches in multi-core systems. In: ACM SIGPLAN conference on language, compiler, and tool support for embedded systems, pp 131–140Google Scholar
- Shekhar M, Sarkar A, Ramaprasad H, Mueller F (2012) Semi-partitioned hard-real-time scheduling under locked cache migration in multicore systems. In: Euromicro conference on real-time systems, pp 331–340Google Scholar
- Shi Z, Burns A (2008) Edzl scheduling analysis. In: Second ACM/IEEE international symposium on networks-on-chip, pp 161–170Google Scholar
- Shi Z, Burns A (2010) Schedulability analysis and task mapping for real-time on-chip communication. Real Time Syst 46:360–385MATHCrossRefGoogle Scholar
- Srinivasan A, Anderson J (2002) Optimal rate-based scheduling on multiprocessors. In: ACM symposium on theory of computing, pp 189–198Google Scholar
- Suhendra V, Mitra T (2008) Exploring locking & partitioning for predictable shared caches on multi-cores. In: Design automation conference, ACM, New York, NY, USA, pp 300–303. doi: 10.1145/1391469.1391545. http://portal.acm.org/citation.cfm?id=1391469.1391545
- Tilera (2012) Tilera processor family. http://www.tilera.com/
- van den Brand J, Ciordas C, Goossens K, Basten T (2007) Congestion-controlled best-effort communication for networks-on-chip. In: Proceedings of the conference on Design, automation and test in EuropeGoogle Scholar
- Zhang F, Burns A (2008) Schedulability analysis for real-time systems with edf scheduling. IEEE Trans Comput 58(9):1250–1258MathSciNetCrossRefGoogle Scholar
- Zivojnovic V, Velarde J, Schlager C, Meyr H (1994) Dspstone: a DSP-oriented benchmarking methodology. In: Signal processing applications and technologyGoogle Scholar