Virtual execution platforms for mixed-time-criticality applications : the CompSoC architecture and design flow

Systems on chip (SOC) contain multiple concurrent applicationswith different time criticality (firm, soft, non real-time). As aresult, they are often developed by different teams or companies, withdifferent models of computation (MOC) such as dataflow, Kahn processnetworks (KPN), or time-triggered (TT). SOC functionality and (realtime)performance is verified after all applications have been integrated.In this paper we propose the CompSOC platform and design flows thatoffers a virtual execution platform per application, to allow independentdesign, verification, and execution. We introduce the composability andpredictability concepts, why they help, and how they are implemented inthe different resources of the CompSOC architecture. We define a designflow that allows real-time cyclo-static dataflow (CSDF) applications to beautomatically mapped, verified, and executed. Mapping and analysis ofKPN and TT applications is not automated but they do run composablyin their allocated virtual platforms.Although most of the techniques used here have been publishedin isolation, this paper is the first comprehensive overview of theCompSOC approach. Moreover, three new case studies illustrate allclaimed benefits: 1) An example firm-real-time CSDF H.263 decoderis automatically mapped and verified. 2) Applications with differentmodels of computation (CSDF and TT) run composably. 3) Adaptivesoft-real-time applications execute composably and can hence be verifiedindependently by simulation.

[1]  Kees G. W. Goossens,et al.  Design and implementation of an operating system for composable processor sharing , 2011, Microprocess. Microsystems.

[2]  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.

[3]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[4]  J.,et al.  Composability and Predictability for Independent Application Development , Verification and Execution , 2010 .

[5]  Aloysius K. Mok,et al.  Real-Time Virtual Resource: A Timely Abstraction for Embedded Systems , 2002, EMSOFT.

[6]  Stephen A. Edwards,et al.  Predictable programming on a precision timed architecture , 2008, CASES '08.

[7]  Kees G. W. Goossens,et al.  Composable Resource Sharing Based on Latency-Rate Servers , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

[8]  Thomas A. Henzinger,et al.  Trading end-to-end latency for composability , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[9]  Krste Asanovic,et al.  METERG: Measurement-Based End-to-End Performance Estimation Technique in QoS-Capable Multiprocessors , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[10]  Kees G. W. Goossens,et al.  CoMPSoC: A template for composable and predictable multi-processor system on chips , 2009, TODE.

[11]  O. Pires dos reis Moreira,et al.  Temporal analysis and scheduling of hard real-time radios running on a multi-processor , 2012 .

[12]  Sascha Uhrig,et al.  RTOS Support for Parallel Execution of Hard Real-Time Applications on the MERASA Multi-core Processor , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[13]  Sander Stuijk,et al.  A Predictable Multiprocessor Design Flow for Streaming Applications with Dynamic Behaviour , 2010, DSD.

[14]  Nacer-Eddine Zergainoh,et al.  On Line Power Optimization of Data Flow Multi-core Architecture Based on Vdd-Hopping for Local DVFS , 2010, PATMOS.

[15]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[16]  Reinder J. Bril Towards pragmatic solutions for two-level hierarchical scheduling. Part I: a basic approach for independent applications , 2007 .

[17]  Rudy Lauwereins,et al.  Cyclo-static data flow , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[18]  Kees G. W. Goossens,et al.  Composable power management with energy and power budgets per application , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[19]  Thomas Nolte,et al.  Independently-Developed Real-Time Systems on Multi-cores with Shared Resources , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[20]  José Pineda de Gyvez,et al.  On-chip digital power supply control for system-on-chip applications , 2005, ISLPED '05. Proceedings of the 2005 International Symposium on Low Power Electronics and Design, 2005..

[21]  Kees G. W. Goossens,et al.  A Unified Execution Model for Data-Driven Applications on a Composable MPSoC , 2011, 2011 14th Euromicro Conference on Digital System Design.

[22]  Orlando Moreira,et al.  A new data flow analysis model for TDM , 2012, EMSOFT '12.

[23]  Kees G. W. Goossens,et al.  The aethereal network on chip after ten years: Goals, evolution, lessons, and future , 2010, Design Automation Conference.

[24]  Gernot Heiser,et al.  The OKL4 microvisor: convergence point of microkernels and hypervisors , 2010, APSys '10.

[25]  Kees G. W. Goossens,et al.  C-HEAP: A Heterogeneous Multi-Processor Architecture Template and Scalable and Flexible Protocol for the Design of Embedded Signal Processing Systems , 2002, Des. Autom. Embed. Syst..

[26]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[27]  Kees G. W. Goossens,et al.  Automatic Generation of Efficient Predictable Memory Patterns , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[28]  Sander Stuijk,et al.  Resource-Efficient Real-Time Scheduling Using Credit-Controlled Static-Priority Arbitration , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[29]  Sander Stuijk,et al.  Multiprocessor Resource Allocation for Throughput-Constrained Synchronous Dataflow Graphs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[30]  Kees G. W. Goossens,et al.  Predator: A predictable SDRAM memory controller , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[31]  Stefan Savage,et al.  Processor Capacity Reserves for Multimedia Operating Systems , 1993 .

[32]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[33]  Anthony Massa,et al.  Embedded Software Development with eCos , 2002 .

[34]  Lothar Thiele,et al.  Worst-case response time analysis of resource access models in multi-core systems , 2010, Design Automation Conference.

[35]  Edward A. Lee,et al.  Temporal isolation on multiprocessing architectures , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[36]  Yifan Wu,et al.  Partitioning Real-Time Applications Over Multicore Reservations , 2011, IEEE Transactions on Industrial Informatics.