CTIC CONFERENCE – MAY 2013 www.thalesgroup.com Development and certification of Avionics Platforms on MultiCore processors Marc GATTI – August 29th, 2013 Context 2 / This presentation is based on the final report that concludes the MULCORS project contracted with EASA. The reports provides the main outputs, recommendations and conclusions per EASA Specifications attached to the Invitation to Tender EASA.2011.OP.30. CTIC CONFERENCE – MAY 2013 Access to MULCORS report https://www.easa.europa.eu/safety-andresearch/research-projects/large-aeroplanes.php AGENDA 3 / Multi-core: CTIC CONFERENCE – MAY 2013 Introduction Problems to Solve Regarding certification Software Aspects Failure Mitigation Means & COTS Relative Features Conclusion CTIC CONFERENCE – MAY 2013 4 / Introduction MULTI-CORE Multi-Core: Introduction 5 / CTIC CONFERENCE – MAY 2013 Multi-Core processor Architecture: Unified Memory Access Multi-Core processor Architecture: Distributed Architecture Multi-Core processor Architecture: Single Address space, Distributed Memory Multi-Core: Introduction 6 / Airb. SW Airb. SW Airb. SW Drivers Drivers Drivers O.S. O.S. O.S. Intended Function BSP BSP BSP Core Core Core Core Core Core Cache Cache Cache Cache Cache Cache BUS Register BUS Register Register Register EXT MEMORY External Network HW adaptation Layer (BSP) Hypervisor layer (when required) Operating System Drivers Airborne Software External Bus Hypervisor CTIC CONFERENCE – MAY 2013 EXT MEMORY Register Register Register INTERCONNECT Register 7 / Problems to Solve CTIC CONFERENCE – MAY 2013 MULTI-CORE Multi-Core: Introduction 8 / CTIC CONFERENCE – MAY 2013 What’s a multicore processor? Multicore processor characterized by N (N ≥ 2) processing cores + a set of shared resources (Memories, PCIe, Ethernet, Cache, Registers, etc.) Two main types of processors The first one where interconnect between cores is based on an arbitrated bus The second one where interconnect between cores is based on a network Multicore management in certified embedded platform can be summarize to shared resources conflicts management for DAL_A, DAL_B or DAL_C constraints Multi-Core: Introduction 9 / Access conflits Interconnect between cores If InterConnect = bus Accesses arbitration is done at this level If InterConnect = network Accesses arbitration depend of numbers of authorized parallel routes (Memories accesses, Bus accesses, Networks accesses, etc.) Conflicts Management CTIC CONFERENCE – MAY 2013 Conflicts Management Conflicts Management Conflicts Management Conflicts Management Multi-Core: Introduction 10 / DETERMINISM IN EMBEDDED AIRCRAFT SYSTEMS Abstract notion partially described in DO-297 Definition based on Multicore COTS Processors CTIC CONFERENCE – MAY 2013 Execution Integrity WCET analysis Platform Usage Domain Robust Partitioning (not only for IMA system) Conflicts Management Spatial Management: how to manage accesses to be sure that one core can’t access to a space reserved for another core. Temporal Management: For Memory Accesses Operating System Architecture Choice regarding Industry needs (AMP or SMP) 11 / Regarding Certification CTIC CONFERENCE – MAY 2013 MULTI-CORE 12 / CTIC CONFERENCE – MAY 2013 Processor Selection Manufacturer Selection criteria Experience in Avionic domain Experience with the certification process Publication Life expectancy Long term support Design information on COTS processor Robustness tests like SEE (Single Event Effect) or SER Processor Architecture Focus Virtual Memory service MMU components Use of hierarchical memory to improve Software performances Multi-Core Processor features 13 / INTERCONNECT The first shared resource between cores. Interleaves concurrent transactions sent by the cores to the shared resources Architecture and impact on determinism Architecture and partitioning insurance Interconnect services to be managed Arbitration of incoming requests Arbitration rules Arbiter internal logic Network topology Allocation of the physical destination devices Allocation of a path to the destination. Support for atomic operations, CTIC CONFERENCE – MAY 2013 Hardware locking mechanisms Snooping mechanisms for cache coherency Inter Processors Interruptions (IPI) for inter-core communications Multi-Core Processor features 14 / SHARED CACHE Shared cache in Embedded Aircraft Systems requires a solution to the following problems: Shared cache content prediction. Cache content integrity. . Concurrent accesses impact. Cache organizations Fully associative N-way set associative Direct mapped cache CTIC CONFERENCE – MAY 2013 cache Replacement policies CACHE COHERENCY MECHANISM Required in architecture that integrates several storage devices hosting same data. Coherency protocols: Invalidate protocols Update protocols Multi-Core Processor features 15 / SHARED SERVICES Providing Shared Services among the cores. Interrupts generation and routing to cores Core and processor clock configurations Timer configurations Watchdog configurations Power supply and reset Support for atomic operations CTIC CONFERENCE – MAY 2013 CORES Support execution of multiple software instances in parallel. Use of inter-core interrupts. Memory mapping defined in the Memory Management Unit. Warning: A non-coherent configuration may weaken Robust Partitioning. Multi-Core Processor features 16 / PERIPHERALS: MAIN MEMORY AND I/O’S Sharing main memory sharing physical storage resources and memory controllers. Space partitioning: Storage resource can be partitioned when necessary. Sharing Shared I/O features similar to shared services configuration: Access CTIC CONFERENCE – MAY 2013 accesses to the memory have to be well managed. simultaneously read and/or write buffers. Classic rules of time and space partitioning can be applied Initiate specific protocols operations: uninterrupted access is required during the protocol execution to be able to fulfill correctly the concerned protocol. Concurrent accesses to shared I/O may occur simultaneously from different cores. Some I/O are accessed according to a protocol, others are accessed from a read and/or write buffer Atomic access patterns have to be ensured. 17 / Software Aspects CTIC CONFERENCE – MAY 2013 MULTI-CORE Partitioned system features 18 / Components evolution to take benefit of multi-core platforms The most “flexible” component is the integration software layer. Possible designs: A single OS instance shared among all the cores A private OS instance per core A virtualization layer hosting several operating systems in dedicated virtual machines. Partition Deployment One partition is activated on all cores and has an exclusive access to platform resources CTIC CONFERENCE – MAY 2013 Symmetrical Multi-processing (SMP). Each partition are activated on one core with true parallelism between partitions Asymmetrical Multi-processing (AMP). Operating System global view 19 / From Single Core to Multi-Core in AMP (Asymmetric multi-processing) APP1 APP2 APP3 T1 T1 T1 T2 T2 T3 T3 T2 T3 T4 T4 T5 Space & Time Partitionning Space & Time Partitionning Space & Time Partitionning Operating System Operating System Operating System CORE CORE CORE BRIDGE CTIC CONFERENCE – MAY 2013 Memory Controller I/O Controller INTERCONNECT BUS / Network Interface Memory Controller Solve Conflict I/O Controller BUS / Network Interface Memory Controller Operating System global view 20 / From Single Core to Multi-Core in SMP (Symmetric multi-processing) APP1 T1 APP2 APP3 T1 T1 T1 T2 T2 APP1 T2 T2 T3 T3 T3 T4 T4 T3 T5 T4 Space & Time Partitionning Space & Time Partitionning Operating System Operating System CORE BRIDGE CTIC CONFERENCE – MAY 2013 Memory Controller I/O Controller CORE CORE INTERCONNECT BUS / Network Interface Memory Controller Solve Conflict I/O Controller BUS / Network Interface Memory Controller Current mono-core concept 21 / APP2 APP1 T1 APP3 T1 T1 T2 T2 T3 T2 T3 T3 T4 T4 T5 Space & Time Partitionning Operating System CORE BRIDGE Memory Controller I/O Controller BUS / Network Interface Thread / Process T4 T3 T1 T3 T3 T2 Partition 1 T1 Partition 2 T3 T2 T2 T1 T4 T1 T2 T1 OS Core CTIC CONFERENCE – MAY 2013 T5 T4 T1 T1 Appli. 1 T Appli. 2 T Appli. 3 T idle Partition 3 Partition 4 time 22 / APP4 APP1 APP3 APP2 T1 T1 T1 T1 T1 T2 T3 T3 T2 T2 T3 T3 T4 T3 T4 T1 T2 T2 T2 AMP APP5 APP5 T4 T3 T5 Space & Time Partitionning Space & Time Partitionning Operating System Operating System CORE CORE INTERCONNECT Core 2 Memory Controller T5 T2 T2 T2 T1 T1 T3 T3 T2 T1 T2 T1 Partition 2.2 T1 T1 Partition 2.4 Partition 2.3 T4 T3 T3 T1 T3 T3 T3 T2 T1 Partition 1.1 T1 Partition 1.2 T3 T2 T2 T1 T2 T1 OS 2 T3 T3 Thread / Process T4 T4 Partition 1.1 CTIC CONFERENCE – MAY 2013 BUS / Network Interface I/O Controller T1 T1 OS 1 Core 1 Memory Controller Appli. 1 T Appli.2 T Appli 3 T Appli 4 T Appli 5 T Appli 6 T Appli 7 T idle Partition 1.3 Partition 1.4 time SMP 23 / APP2 APP1 T3 APP3 T2 T1 T3 T1 T4 T2 In SMP mode, Processes, Threads or Tasks should be allocated to cores statically to achieve determinism T2 T4 T1 T3 T5 Space & Time Partitionning Operating System CORE CORE INTERCONNECT I/O Controller T2 BUS / Network Interface T2 Memory Controller T2 Thread / Process T2 T5 T4 T1T1 Partition 1 T4 T4 T3 T3 T1T3 Partition 2 T1T1 Partition 3 OS Core 1 Core 2 CTIC CONFERENCE – MAY 2013 Memory Controller T3 T1 Appli. 1 T Appli. 2 Appli. 3 T T idle T1 Partition 4 time 24 / Failure Mitigation Means & COTS Relative Features CTIC CONFERENCE – MAY 2013 MULTI-CORE Multi-Core: Failure Mitigation 25 / FMEA and/or FFPA for a single or a multi-core processor is not achievable at processor level Software Error Rate SEE (Single Event Effect) Measurements on SER are usually performed by the manufacturers on their own Deep Sub Micronics CTIC CONFERENCE – MAY 2013 Mitigation has to be provided, by the equipment provider, at board level where this processor is used DSM has impact of long term reliability CTIC CONFERENCE – MAY 2013 26 / CONCLUSION CONCLUSIONS 27 / Complexity of Multi-Core Processors Has increased over the past few years, Level of demonstration for design assurance remains at least the same as or better than for COTS without such increment in complexity. A COTS component remains a COTS component CTIC CONFERENCE – MAY 2013 Features proprietary data from the COTS manufacturer Approaches: Access to additional data under agreements with the COTS manufacturer And/or mitigation of potential COTS faults or errors at board or equipment level, CONCLUSIONS 28 / MULCORS put emphasis on specific Multi-Core features linked to Shared Resource Accesses like Memory, Bus, Network, Internal Registers, Clock Management, etc. Features that are the main differences between single-core and multi-core devices that have to be managed Airborne Software Level Airborne Software behavior Airborne Software applications allocation to cores can demonstrate the non-interaction between cores. Interconnect CTIC CONFERENCE – MAY 2013 behavior Shall be well known and well managed Hypervisor level Hypervisor can be used to constraint the behavior of the interconnect. Constraints reduce performances but offer determinism