Safe Virtual Interrupts Leveraging Distributed Shared Resources and Core-to-Core Communication on Many-Core Platforms

Modern many-core platforms offer sufficient redundant resources for increasing availability and fault-tolerance of multiple applications, also of different criticality (mixed-criticality). A suitable platform must allow remapping applications and replacing peripherals dynamically. Mapping to distributed resources but also communication among resources ideally is transparent and flexible to allow changes at run time. Communication additionally has to be predictable, especially for safety-critical applications, and can be efficiently implemented by the use of interrupt requests. This paper presents a scalable interrupt translation mechanism supporting flexible and transparent communication among resources. Our contribution is of particular benefit for legacy applications but also eases development of new applications. A fast and predictable monitoring and control mechanism enforces specified behavior of applications and peripherals communicating with critical applications at run time. This significantly reduces integration effort for mixed-critical applications on a shared platform, and thus makes many-core platforms more attractive for embedded and safety-critical systems.

[1]  Dionisio de Niz,et al.  Integrated Task and Interrupt Management for Real-Time Systems , 2012, TECS.

[2]  Rolf Ernst,et al.  Monitoring Arbitrary Activation Patterns in Real-Time Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[3]  Gianluca Palermo,et al.  An Interrupt Controller for FPGA-based Multiprocessors , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[4]  Reinhold Weicker,et al.  Dhrystone: a synthetic systems programming benchmark , 1984, CACM.

[5]  Udo Steinberg,et al.  NOVA: a microhypervisor-based secure virtualization architecture , 2010, EuroSys '10.

[6]  Lui Sha,et al.  Real-Time Control of I/O COTS Peripherals for Embedded Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[7]  Rolf Ernst,et al.  IDAMC: A Many-Core Platform with Run-Time Monitoring for Mixed-Criticality , 2012, 2012 IEEE 14th International Symposium on High-Assurance Systems Engineering.

[8]  John Regehr,et al.  Preventing interrupt overload , 2005, LCTES '05.

[9]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[10]  Coniferous softwood GENERAL TERMS , 2003 .

[11]  Adrian Schüpbach,et al.  The multikernel: a new OS architecture for scalable multicore systems , 2009, SOSP '09.

[12]  Mathieu Jan,et al.  Method and Tools for Mixed-Criticality Real-Time Applications within PharOS , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

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

[14]  Randolf Rotta On Efficient Message Passing on the Intel SCC , 2011, MARC Symposium.

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

[16]  Giorgio C. Buttazzo,et al.  Non-preemptive interrupt scheduling for safe reuse of legacy drivers in real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[17]  Josef Strnadel Monitoring-driven HW/SW interrupt overload prevention for embedded real-time systems , 2012, 2012 IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[18]  Wolfgang Schröder-Preikschat,et al.  Parallel, hardware-supported interrupt handling in an event-triggered real-time operating system , 2009, CASES '09.

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

[20]  Andreas Herkersdorf,et al.  Enhanced reliability in tiled manycore architectures through transparent task relocation , 2012, ARCS 2012.