Mixed-criticality scheduling on cluster-based manycores with shared communication and storage resources

The embedded system industry is facing an increasing pressure for migrating from single-core to multi- and many-core platforms for size, performance and cost purposes. Real-time embedded system design follows this trend by integrating multiple applications with different safety criticality levels into a common platform. Scheduling mixed-criticality applications on today’s multi/many-core platforms and providing safe worst-case response time bounds for the real-time applications is challenging given the shared platform resources. For instance, sharing of memory buses introduces delays due to contention, which are non-negligible. Bounding these delays is not trivial, as one needs to model all possible interference scenarios. In this work, we introduce a combined analysis of computing, memory and communication scheduling in a mixed-criticality setting. In particular, we propose: (1) a mixed-criticality scheduling policy for cluster-based many-core systems with two shared resource classes, i.e., a shared multi-bank memory within each cluster, and a network-on-chip for inter-cluster communication and access to external memories; (2) a response time analysis for the proposed scheduling policy, which takes into account the interferences from the two classes of shared resources; and (3) a design exploration framework and algorithms for optimizing the resource utilizations under mixed-criticality timing constraints. The considered cluster-based architecture model describes closely state-of-the-art many-core platforms, such as the Kalray MPPA®-256. The applicability of the approach is demonstrated with a real-world avionics application. Also, the scheduling policy is compared against state-of-the-art scheduling policies based on extensive simulations with synthetic task sets.

[1]  Wenhua Dou,et al.  Analysis of worst-case delay bounds for best-effort communication in wormhole networks on chip , 2009, 2009 3rd ACM/IEEE International Symposium on Networks-on-Chip.

[2]  Sanjoy K. Baruah,et al.  Certification-Cognizant Time-Triggered Scheduling of Mixed-Criticality Systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[3]  Sanjoy K. Baruah,et al.  Mixed-criticality scheduling on multiprocessors , 2013, Real-Time Systems.

[4]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[5]  Sanjoy K. Baruah,et al.  Outstanding Paper Award: Global Mixed-Criticality Scheduling on Multiprocessors , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[6]  Axel Jantsch,et al.  Flow regulation for on-chip communication , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[7]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[8]  Sanjoy Baruah,et al.  Global mixed-criticality scheduling on multiprocessors , 2012 .

[9]  Marcel Verhoef,et al.  System architecture evaluation using modular performance analysis: a case study , 2006, International Journal on Software Tools for Technology Transfer.

[10]  Sanjoy K. Baruah,et al.  The Preemptive Uniprocessor Scheduling of Mixed-Criticality Implicit-Deadline Sporadic Task Systems , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[11]  Rene L. Cruz,et al.  A calculus for network delay, Part I: Network elements in isolation , 1991, IEEE Trans. Inf. Theory.

[12]  Aviral Shrivastava,et al.  Operation and data mapping for CGRAs with multi-bank memory , 2010, LCTES '10.

[13]  Paul Pop,et al.  Design Optimization of Mixed-Criticality Real-Time Applications on Cost-Constrained Partitioned Architectures , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[14]  Björn Andersson,et al.  Bounding memory interference delay in COTS-based multi-core systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[15]  Robert I. Davis,et al.  Mixed Criticality Systems - A Review , 2015 .

[16]  Cheng-Shang Chang,et al.  Performance guarantees in communication networks , 2000, Eur. Trans. Telecommun..

[17]  Benoît Dupont de Dinechin,et al.  A clustered manycore processor architecture for embedded and accelerated applications , 2013, 2013 IEEE High Performance Extreme Computing Conference (HPEC).

[18]  Paul Prisaznuk,et al.  ARINC Specification 653, Avionics Application Software Standard Interface , 2006, Avionics.

[19]  Rodolfo Pellizzoni,et al.  Worst Case Analysis of DRAM Latency in Multi-requestor Systems , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[20]  Benoît Dupont de Dinechin,et al.  Time-critical computing on a single-chip massively parallel processor , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[21]  Jean-Yves Le Boudec,et al.  Network Calculus: A Theory of Deterministic Queuing Systems for the Internet , 2001 .

[22]  Lui Sha,et al.  Coscheduling of CPU and I/O Transactions in COTS-Based Embedded Systems , 2008, 2008 Real-Time Systems Symposium.

[23]  Luca Benini,et al.  Platform 2012, a many-core computing accelerator for embedded SoCs: Performance evaluation of visual analytics applications , 2012, DAC Design Automation Conference 2012.

[24]  Edward A. Lee,et al.  PRET DRAM controller: Bank privatization for predictability and temporal isolation , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[25]  Sanjoy K. Baruah,et al.  Mixed-Criticality Real-Time Scheduling for Multicore Systems , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[26]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[27]  Lothar Thiele,et al.  Mapping mixed-criticality applications on multi-core architectures , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[28]  Kees G. W. Goossens,et al.  Conservative open-page policy for mixed time-criticality memory controllers , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[29]  Rodolfo Pellizzoni,et al.  PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[30]  Risat Mahmud Pathan,et al.  Schedulability Analysis of Mixed-Criticality Systems on Multiprocessors , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[31]  Sanjoy K. Baruah,et al.  Towards the Design of Certifiable Mixed-criticality Systems , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[32]  Nuno Pereira,et al.  Static-Priority Scheduling over Wireless Networks with Multiple Broadcast Domains , 2007, RTSS 2007.

[33]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[34]  Lothar Thiele,et al.  Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems , 2012, EMSOFT '12.

[35]  Rolf Ernst,et al.  IDAMC: A NoC for mixed criticality systems , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[36]  Wenhua Dou,et al.  Analysis of communication delay bounds for network on chips , 2009, 2009 Asia and South Pacific Design Automation Conference.

[37]  Wang Yi,et al.  Dynamic budgeting for settling DRAM contention of co-running hard and soft real-time tasks , 2014, Proceedings of the 9th IEEE International Symposium on Industrial Embedded Systems (SIES 2014).

[38]  Narayanan Vijaykrishnan,et al.  Designing energy-efficient NoC for real-time embedded systems through slack optimization , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[39]  WilhelmReinhard,et al.  Towards compositionality in execution time analysis , 2015 .

[40]  Steve Vestal,et al.  Preemptive Scheduling of Multi-criticality Systems with Varying Degrees of Execution Time Assurance , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[41]  Wenhua Dou,et al.  Analysis of Worst-Case Delay Bounds for On-Chip Packet-Switching Networks , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[42]  Jan Reineke,et al.  Towards compositionality in execution time analysis: definition and challenges , 2015, SIGBED.

[43]  Lothar Thiele,et al.  Performance analysis of greedy shapers in real-time systems , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[44]  Lei Liu,et al.  A software memory partition approach for eliminating bank-level interference in multicore systems , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[45]  Lothar Thiele,et al.  Modular performance analysis of cyclic dataflow graphs , 2009, EMSOFT '09.

[46]  Xiaobing Feng,et al.  Software-Hardware Cooperative DRAM Bank Partitioning for Chip Multiprocessors , 2010, NPC.

[47]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[48]  Lui Sha,et al.  Memory Access Control in Multiprocessor for Real-Time Systems with Mixed Criticality , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[49]  Rolf Ernst,et al.  Back Suction: Service Guarantees for Latency-Sensitive On-chip Networks , 2010, 2010 Fourth ACM/IEEE International Symposium on Networks-on-Chip.

[50]  Lothar Thiele,et al.  Scheduling of mixed-criticality applications on resource-sharing multicore systems , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[51]  Jan Reineke,et al.  Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.