On the Benefits of Multicores for Real-Time Systems

In real-time and safety-critical systems, the move towards multicores is becoming unavoidable in order to keep pace with the increasing required processing power and to meet the high integration trend while maintaining a reasonable power consumption. However, the benefit expected from multicore platforms may not step up to the mark, and real-time constraints can be easily violated. Indeed, an efficient use of multicore platforms usually requires a suitable parallelization of the software and a proper knowledge of the hardware constraints in order to find the best trade-off between increasing the parallelization benefit and decreasing contentions from accessing shared resources. In this paper, we illustrate this duality and investigate a general approach to automate some deployment decisions in order to maximize the benefit from using multicores while meeting the schedulability constraints of the system.

[1]  Sanjoy K. Baruah,et al.  A Response-Time Bound in Fixed-Priority Scheduling with Arbitrary Deadlines , 2009, IEEE Transactions on Computers.

[2]  Günter Schäfer,et al.  Parallel execution of AUTOSAR legacy applications on multicore ECUs with timed implicit communication , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Marco Caccamo,et al.  A Predictable Execution Model for COTS-Based Embedded Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[4]  Selma Saidi,et al.  Dynamic admission control for real-time networks-on-chips , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[5]  Michael Paulitsch,et al.  Leveraging Multi-core Computing Architectures in Avionics , 2012, 2012 Ninth European Dependable Computing Conference.

[6]  Leandro Soares Indrusiak,et al.  End-to-end schedulability tests for multiprocessor embedded systems based on networks-on-chip with priority-preemptive arbitration , 2014, J. Syst. Archit..

[7]  R. Ernst,et al.  Compositional Performance Analysis in Python with pyCPA , 2012 .

[8]  Selma Saidi,et al.  The shift to multicores in real-time and safety-critical systems , 2015, 2015 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[9]  Daniel Gracia Pérez,et al.  Predictable Flight Management System Implementation on a Multicore Processor , 2014 .

[10]  Mikael Sjödin,et al.  Improved response-time analysis calculations , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[11]  Kees G. W. Goossens,et al.  Coupling TDM NoC and DRAM controller for cost and performance optimization of real-time systems , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[12]  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).

[13]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[14]  Rolf Ernst,et al.  System Level Performance Analysis for Real-Time Automotive Multicore and Network Architectures , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  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).

[16]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[17]  Mark D. Hill,et al.  Amdahl's Law in the Multicore Era , 2008 .

[18]  Rolf Ernst,et al.  System level performance analysis - the SymTA/S approach , 2005 .

[19]  Alan Burns,et al.  Real-Time Communication Analysis for On-Chip Networks with Wormhole Switching , 2008, Second ACM/IEEE International Symposium on Networks-on-Chip (nocs 2008).