25
VOSYSmonitor 29 th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality Systems on ARMv8-A [email protected]

VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

VOSYSmonitor

29th Euromicro Conference on Real-Time Systems2017-06-28, Dubrovnik, Croatia.

A Low Latency Monitor Layer for Mixed-Criticality Systems on ARMv8-A

[email protected]

Page 2: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 2

Autorship and sponsorship

Virtual Open Systems is a high-tech software company active in open source virtualization solutions and custom services for complex mixed-criticality automotive, NFV networking infrastructures, consumer electronics, mobile devices and in general for embedded heterogeneous multicore systems around new generation processor architectures.

This work is done in the context of the FP7 Distributed REal-time Architecture for Mixed criticality Systems (DREAMS) project under the grant agreement number 610640 (http://www.dreams-project.eu/).

Page 3: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 3

➢Centralized ECUs integration on ARMv8-A

➢VOSYSmonitor for automotive mixed-criticality systems

➢Benchmark and conclusion

Presentation Plan

Page 4: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 4

Growth Areas – System Types (by Strategic Analytics)

All automotive system areas are growing up, specially systems related to ADAS and HEV/EV. This trend will considerably increase the number of

software functions while ECU numbers should be decrease.

Rapidly growing number of software functions

Growing Areas of Automotive Electronics

2009 2014 20200

50

100

150

200

250

Software complexity evolution

(Source: http://spectrum.ieee.org/transportation/systems/this-car-runs-on-code)

Number of software code lines (Million) Number of ECU

Page 5: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 5

Low-power and High-performance Computing for centralized ECUs

Multi-core ECU

Last multi-core architectures are bringing new functionalities to the automotive platforms :

➢ Computing performance is increasing

➢ Power consumption is decreasing

➢ Hardware virtualization support

The main interest is to use the computing performance and hardware capabilities to embed more functionalities, having different levels of criticality, in the same ECU in order to decrease the number of hardware platforms needed in the car.

Page 6: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 6

Centralized ECUs integration: challenges

Such a concept of the future car, brings new and unprecedented challenges to the automotive industry:

➢ Multi-OS support and integration: As functions are served by different operating systems (e.g., AUTOSAR for safety-critical functions, GenIVI Linux for automotive infotainment, Android for user apps), the multi-core system needs to be able to run multiple operating systems at the same time.

➢ Efficient shared use of SoC resources: Different functions make use of the same dedicated system resources. Examples for this include accelerated graphics from different integrated functions, or the shared use of communication channels.

➢Separation of functions and mixed-criticality support: Safety critical functions need to be able to run alongside non-safety-critical functions without compromising their safety characteristics.

Page 7: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 7

Exception level changing through specific instructions SMC, SVC, HVC, ERET

Secure world is completely isolated

(memory, devices, etc) from the Normal world by ARM TrustZone security

extensions. Since TrustZone is implemented in hardware, it reduces the

security vulnerabilities. The secure world could be used to run a secure OS to provide secure services to

the OS running in the Normal world.

ARM Virtualization extensions address the needs of devices for the partitioning and

management of complex software environments into

virtual machines.

Normal world to run concurrently another OS (e.g Linux) without impacting the secure OS.

Monitor layer is the highest priority level which provides a bridge between each world to allow some interactions.

ARMv8-A exception level

Page 8: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 8

ARMv8-A TrustZone

Hardware security extension

➢ CPU partitioned in two compartments: Secure and Non-secure worlds.

➢ Secure world dedicated to Trusted OS and applications.

➢Normal world available for rich GPOS with virtualization features (e.g. Liunx KVM).

➢MMU TLBs and caches are assigned to each world.

➢ Interrupts can be divided in secure / non-secure.

Page 9: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 9

➢Centralized ECUs integration on ARMv8-A

➢VOSYSmonitor for automotive mixed-criticality systems

➢Conclusion

Presentation Plan

Page 10: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

10 Virtual Open Systems Confidential & Proprietary

➢ VOSYSmonitor is a software layer based on ARM Trusted Firmware, which enables the co-execution of virtualized systems along with safety critical applications on the same platform and/or core.

➢ Safety critical OS isolation using ARM Trustzone

➢ GPOS virtualization extensions (KVM) enabled

➢ High priority to the critical applications to meet timing constraints

➢When no pending task in the Safety critical OS, the control is given to the non-critical OS

VOSYSmonitor System Overview

Page 11: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

11 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor compliance

VOSYSmonitor is fully compliant with ARM conventions/protocols :

➢ SMC Calling convention (SMCCC)✔ Define a convention for SMC in ARM v7/v8 (e.g., register use

for parameters and returns values, SMC type, etc)✔ Specify a partitioning of service providers to allow the vendors

coexistence in the secure firmware (e.g., ARM, OEM, SIP, Trusted OS)

➢ Power State Coordination Interface (PSCI)✔ Define a standard interface to handle

power management requests.✔ Define a protocol to allow secure firmware

to arbitrate power management requests✔ Power control method in Linux AArch64

kernel

Page 12: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

12 Virtual Open Systems Confidential & Proprietary

System On Chip

Cluster 0

Cluster 1

Core 0 Core 1 Core 2 Core 3

Core 0 Core 1 Core 2 Core 3

VOSYSmonitor

Safetycritical

OS

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

Normal world Secure world Secure monitor mode

System overview: multi-core SOC

Page 13: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

13 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor environment

➢ VOSYSmonitor is compiled with ARM Compiler 6✔ ARM compiler 6 will be ISO-26262 compliant for

the end of Q2 2017 to enable users to apply this compiler for safety-related development without qualification activities.

➢ VOSYSmonitor has been ported on several ARMv8 development platforms:

✔ ARM Fast Models AEMv8A (Virtual Platform)✔ ARM JUNO Development board✔ Renesas R-CAR H3/M3 board

Compliant with ISO-26262 (ASIL-B)✔ Nvidia Jetson Tegra X1✔ VOSYSmonitor is portable on all ARMv8-A and

ARMv7-A boards with TrustZone extensions.

Page 14: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

14 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor software architecture

The VOSYSmonitor architecture is split into four parts to ease:

EL3 Monitor Layer

Platform API

Interruptcontroller UARTWatchdog

Secure OSService Layer

Drivers

➢ The support of new hardware platforms and/or Trusted OS➢ Software components re-use

Programmable interface between the Secure OS and the monitor layer, running in EL3, to dispatch SMC secure services as well as to handle interrupts forwarding.

Drivers to access

peripherals requested by Monitor Layer

runtime

Platform API functions to abstract driver function calls from Monitor Layer

Monitor layer implemented for ARMv8 architecture, which handles context switching operation and routes trapped exceptions to the right handler

VOSYSmonitor

Page 15: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

15 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor booting order

Page 16: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

16 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor interaction (1/2)

➢ Normal world only executes upon a request by the secure world (SMC)

➢ FIQ are directly handled in S-EL1 (ensuring low latency)

➢ IRQ are masked during the Secure world execution.

Secure world execution:

Page 17: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

17 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor interaction (2/2)

➢ Normal interrupts (IRQ) are directly handled in NS-EL1

➢ Secure interrupts (FIQ) are trapped in the Secure monitor firmware to forward it to the Safety critical OS (Normal world preemption)

➢ Normal world can call secure services through SMC

Normal world execution:

Page 18: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

18 Virtual Open Systems Confidential & Proprietary

VOSYSmonitor safety: ASIL-C certification

➢ VOSYSmonitor has been developed with ISO 26262 requirements in mind and as such includes:

➢ Functional safety package: Safety manual, Tool evaluation document, Software verification report, etc

➢ Self-tests: Perform self-tests (memory checking, context switch measurement, etc) during the VOSYSmonitor runtime in order to detect potential failures

➢ Safe state: Preserve the execution of the safety critical OS in case of failures.

➢ VOSYSmonitor targets ISO-26262 ASIL C compliance.

Page 19: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

19 Virtual Open Systems Confidential & Proprietary

System On Chip

Cluster 0

Cluster 1

Core 0 Core 1 Core 2 Core 3

Core 0 Core 1 Core 2 Core 3

VOSYSmonitor

Safetycritical

OS

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

Normal world Secure world Secure monitor mode

Self-testsmode

The core which contains VOSYSmonitor self-tests is able to detect failures on the core, running the safety critical OS.

VOSYSmonitor safety: Failure detection

Page 20: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

20 Virtual Open Systems Confidential & Proprietary

System On Chip

Cluster 0

Cluster 1

Core 0 Core 1 Core 2 Core 3

Core 0 Core 1 Core 2 Core 3

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor

Noncritical

OS

VOSYSmonitor VOSYSmonitor

Noncritical

OS

Normal world Secure world Secure monitor mode

Self-testsmode

Safetycritical

OS

Noncritical

OS

VOSYSmonitor safety: RTOS migration

In order to preserve the safety criticalOS execution, VOSYSmonitor is able tomigrate its execution on another core.

Page 21: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

Virtual Open Systems Confidential & Proprietary 21

➢Centralized ECUs integration on ARMv8-A

➢VOSYSmonitor for automotive mixed-criticality systems

➢Benchmark and Conclusion

Presentation Plan

Page 22: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

22 Virtual Open Systems Confidential & Proprietary

Performance: VOSYSmonitor setup time

Test case: Use the Performance Monitoring Unit (PMU) to have a very detailed view of latency in terms of clock cycles counter. Start the PMU at the VOSYSmonitor entrypoint and stop it just before jumping to the Secure OS entrypoint.

VOSYSmonitor ATF

Time (us)JUNO board

Frequency 700MHz

17,74 us 853,48 us

Time (us)RCAR-H3 board

Frequency 1,3GHz

45,7 us 1119,81 us

VOSYSmonitor setup includes: ARM EL3 initialization, platform peripheral initialization (e.g., Interrupt controller, etc), SMC service, Secure Timer, etc.

Page 23: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

23 Virtual Open Systems Confidential & Proprietary

Test case: Set a timer (free-running mode) interrupt in FreeRTOS. When the FreeRTOS fiq handler is reached, the timer value is compared with the trigger value in order to measure the time consumed before handling the interrupt in FreeRTOS.

Target: Renesas R-Car H3 with 1.5 GHz A57 cluster and 1.2 GHz A53 cluster.

Performance: VOSYSmonitor interrupt latency

An interrupt framework can be used to distinguish FIQ assigned for the Secure world or VOSYSmonitor, which implies an additional overhead around 100ns.

Page 24: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

24 Virtual Open Systems Confidential & Proprietary

Conclusion: VOSYSmonitor a flexible software component

VOSYSmonitorAll means of transport,

mixed-criticality systems, could be

covered by VOSYSmonitor.

Handle Android OS and secure applications

(e.g., online-payment, fingerprint, DRM, etc)

Telecoms

Public transports

Electrical industry

Circuit breaker: Human Interface Module (HMI) management and overvoltage monitoring

All possible use-cases with mixed-criticality systems.

DronesRun a safety software (e.g., landing, overflight, back to

home, etc) in case of the main control OS crash.

Page 25: VOSYSmonitor - Virtual Open Systems...VOSYSmonitor 29th Euromicro Conference on Real-Time Systems 2017-06-28, Dubrovnik, Croatia. A Low Latency Monitor Layer for Mixed-Criticality

25