Skip to main content
Log in

Architecture aware semi partitioned real-time scheduling on multicore platforms

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Note that we do not claim that the TilePro64 architecture is a typical embedded architecture. In contrast, our aim is to make scalable architectures like the TilePro64 suitable for real-time task execution since they can provide the performance that is being demanded by modern real-time systems.

  2. We assume that the regions that each task wishes to lock are pre-selected. Methods used to make this choice are out of the scope of this paper.

  3. Note that the WCET of a task is not dependent on the physical location of a core due to the use of our weighted TDM approach, but just on the tasks allocated to the core.

References

  • Anderson J, Srinivasan A (2000) Early-release fair scheduling. In: Euromicro conference on real-time systems, pp 35–43

  • Anderson J, Bastoni A, Brandenburg B (2011) Is semi-partitioning practical ? In: Euromicro conference on real-time systems, pp 122–135

  • 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–252

  • Baruah S (2007) Techniques for multiprocessor global schedulability analysis. In: IEEE real-time systems symposium, pp 119–128

  • Baruah S, Cohen N, Plaxton C, Varvel D (1996) Proportionate progress: a notion of fairness in resource allocation. Algorithmica 15:600–625

    Article  MATH  MathSciNet  Google Scholar 

  • Bini E, Buttazzo GC (2005) Measuring the performance of schedulability tests. RTS 30(2):129–154

    MATH  Google 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–1442

    Article  MATH  MathSciNet  Google 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–33

    MATH  Google 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–169

  • Crespo IRA, Mok A (1996) Improvement in feasibilty testing for real-time tasks. J Real-Time Syst 11(1):19–39

    Article  Google 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–40

    MATH  Google Scholar 

  • Dhall S, Liu C (1978) On a real-time scheduling problem. Oper Res 26(1):127–140

    Article  MATH  MathSciNet  Google 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–421

    Article  Google 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–148

  • Kato S, Yamasaki N, Ishikawa Y (2009) Semi-partitioned scheduling of sporadic task systems on multiprocessors. In: Euromicro conference on real-time systems

  • 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–282

  • 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 programming

  • Moir M, Ramamurthy S (1999) Pfair scheduling of fixed and migrating periodic tasks on multiple resources. In: IEEE real-time systems symposium, pp 294–303

  • 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–901

  • 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–123

  • 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:34

  • 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–443

  • 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–89

  • 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–140

  • 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–340

  • Shi Z, Burns A (2008) Edzl scheduling analysis. In: Second ACM/IEEE international symposium on networks-on-chip, pp 161–170

  • Shi Z, Burns A (2010) Schedulability analysis and task mapping for real-time on-chip communication. Real Time Syst 46:360–385

    Article  MATH  Google Scholar 

  • Srinivasan A, Anderson J (2002) Optimal rate-based scheduling on multiprocessors. In: ACM symposium on theory of computing, pp 189–198

  • 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 Europe

  • Zhang F, Burns A (2008) Schedulability analysis for real-time systems with edf scheduling. IEEE Trans Comput 58(9):1250–1258

    Article  MathSciNet  Google Scholar 

  • Zivojnovic V, Velarde J, Schlager C, Meyr H (1994) Dspstone: a DSP-oriented benchmarking methodology. In: Signal processing applications and technology

Download references

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).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Harini Ramaprasad.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Shekhar, M., Ramaprasad, H., Sarkar, A. et al. Architecture aware semi partitioned real-time scheduling on multicore platforms. Real-Time Syst 51, 274–313 (2015). https://doi.org/10.1007/s11241-015-9221-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-015-9221-4

Keywords

Navigation