24
Sebastian Eckl, Daniel Krefft, Uwe Baumgarten Technische Universität München TUM Department of Informatics Chair of Operating Systems OSPERT 2017, Dubrovnik, 27.06.2017 Migration of Components and Processes as means for dynamic Reconfiguration in Distributed Embedded Real-Time Operating Systems

Migration of Components and Processes as means for dynamic

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Migration of Components and Processes as means for dynamic

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten

Technische Universität München

TUM Department of Informatics

Chair of Operating Systems

OSPERT 2017, Dubrovnik, 27.06.2017

Migration of Components and Processes as means for dynamic Reconfiguration in Distributed Embedded Real-Time Operating Systems

Page 2: Migration of Components and Processes as means for dynamic

• Research Environment• Challenge• Proposed Solution: Dynamic Reconfiguration• Operating System Design

• Partitioning• Migration Support

• Implementation (Current State)• Evaluation (Test Setup)• Next Steps• Conclusion

Agenda

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 2

Page 3: Migration of Components and Processes as means for dynamic

• Future cyber-physical-systems (CPS) as distributed, embedded, real-time systems in a criticality-aware environment

• Key demands• Multi-core hardware support• Mixed-criticality support• Context-sensitive reaction behavior support

• Examples• Automotive Systems (e.g. Autonomous Driving, C-ITS)• Industrial Automation (e.g. Industry 4.0)

Research Environment

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 3

Page 4: Migration of Components and Processes as means for dynamic

• Vision: Offer context-sensitive reaction behavior via Dynamic Reconfiguration at run-time

• Tradeoff: Flexibility vs. Reliability/Safety• State-of-Art safety guarantee: physical separation of software

components (spatial & temporal isolation)• State-of-Art reconfiguration: Semi-statically configured

systems• Mode-switch mechanism (run-time substitution of a set of precalculated,

offline schedules)• Hardware-supported redundancy (device switch)

Challenge

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 4

Page 5: Migration of Components and Processes as means for dynamic

• Idea: (Online) Dynamic reconfiguration via migration at runtime• Migration of software components and processes• Between different devices• Integration into operating system (OS) layer

• Background: adoption of run-time adaptation concepts from datacenters (virtual machine migration)

• Efficient resource management• Fault tolerance/availability• Scalability

Proposed solution

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 5

Page 6: Migration of Components and Processes as means for dynamic

• Application of (heterogeneous) COTS hardware• Homogeneous software-based run-time environment (RTE)• Real-Time Operating System (RTOS)• L4 microkernel based OS (small & minimalist base)• Migration: Extension of OS via

• Migration decision making• Migration execution

General Design Assumptions

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 6

Page 7: Migration of Components and Processes as means for dynamic

• Premise: Keeping up a system‘s real-time capability• Implementation in Userland• Base: Multi-core platform (concurrent execution)

• Goal: Temporal isolation• Limitation: Shared resources (e.g. system buses, caches)

• Approach• Partitioning: Mapping of software components of different criticality level to

corresponding cores• Migration: Stepwise evaluation (from migration of lower-critical components to

dealing with harder constraints)

• Implementation: L4 Fiasco.OC & Genode OS Framework

Operating System Design

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 7

Page 8: Migration of Components and Processes as means for dynamic

Partitioning – Partitioned Scheduling

Combined management of best-effort, soft and hard real-time tasks.

AdmCtrl

Sync

Enforce

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 8

Page 9: Migration of Components and Processes as means for dynamic

Background: Future Trends

https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html

https://www.arm.com/products/processors/instruction-set-architectures/armv8-r-architecture.php

https://www.renesas.com/en-eu/solutions/automotive/products/rcar-h3.html

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 9

Page 10: Migration of Components and Processes as means for dynamic

Partitioning – MPSoC platform

Physically separated management of best-effort, soft and hard real-time tasks.

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 10

Page 11: Migration of Components and Processes as means for dynamic

• UDOO Dual/Quad (NXP i.MX6 Cortex-A9 + Arduino Due-compatible ATMEL Cortex-M3)

Partitioning – Prototypical Development

http://www.udoo.org/docs/Hardware_&_Accessories/IMX6_And_Sam3X_Communication.html

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 11

Page 12: Migration of Components and Processes as means for dynamic

• Runtime Monitoring• Global Migration Decision (Analysis, Planning)• Migration

• Checkpointing (save all necessary process data)• Serialisation (prepare data for transport)• Transfer (send data to target platform)• De-Serialisation (unpack data on target platform)• Restore (restart process on target platform)• OPTIONAL: Reorganisation (restore communication paths)

• Local Admission Control• Synchronisation• Real-Time Scheduling

Migration Process

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 12

Page 13: Migration of Components and Processes as means for dynamic

• Observer/Controller (migration planning)• Runtime Monitoring• Admission Control (local online schedulability analysis)• Global Planning (global online schedulability analysis)

• Core OS (migration execution)• Snapshot (Checkpoint/Restore, De/Serialization)• Storage (In-Memory)• Networking (Transfer)• Synchronisation (Deployment)• Real-Time Scheduling (Enforcement)

Migration - OS Components

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 13

Page 14: Migration of Components and Processes as means for dynamic

• Periodic snapshot creation: context switch (scheduler preempt)• Target: Reducing duration of memory checkpointing by

• Snapshot granularity (full, partial, incremental memory dump)• Processing implementation

• Sequential (Single-Core based Stop/Start) • Parallel (Multi-Core based Copy-on-Write)

• Type of Memory Access (Separated-, Shared-, Redundant-Memory)• Dedicated hardware support (e.g. Co-Processor/FPGA based)

Core OS – Checkpoint/Restore

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 14

Page 15: Migration of Components and Processes as means for dynamic

Background: L4 Fiasco.OC & Genode

https://l4re.org/doc/l4re_intro.html

http://genode.org/documentation/general-overview/index

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 15

Page 16: Migration of Components and Processes as means for dynamic

Hierarchical component structure

Kernel (HAL)

base/base-foc(SAL)

OS

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 16

Page 17: Migration of Components and Processes as means for dynamic

• Operating System• Runtime Monitoring• Checkpoint/Restore (Shared Memory)

• Granularity (Full, Partial, Incremental)• Method (Stop/Start, Copy-on-Write)• Multi-Core mapping

• Partitioning (Affinity)• Admission Control (Online schedulability analysis)• Synchronisation (in idle mode)• Real-Time Scheduling (FPP, EDF)

• Hardware Support (Porting to ARM Quad-Core platforms)

Current Development – Embedded System

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 17

Page 18: Migration of Components and Processes as means for dynamic

18Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017

Open Source – Argos-Research

Argos-Research

operating system testbed

genode/foc

dom0

parser/taskloader

monitoring

ctrl/sync

QemuS/A-VM

Speed-dreams

sumo

simcoupler

pub/sub C/R migration

toolchain-host

For more info seehttps://github.com/argos-research

Page 19: Migration of Components and Processes as means for dynamic

• Current support: ARMv7-A (Cortex-A9, Dual-Core)• Pandaboard ES (TI OMAP 4)• Digilent Zybo (Xilinx Zynq-7000)• QEMU (RealView Platform Baseboard Explore) (PBX-A9)

• Future support: ARMv7-A (Cortex-A9, Quad-Core)• ODROID U3 (Samsung Exynos 4412)• Wandboard (NXP i.MX6)• UDOO Board (NXP i.MX6)

Current Development – Hardware support

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 19

Page 20: Migration of Components and Processes as means for dynamic

• Production line (industrial automation)-> energy saving scenario

• Autonomous Parking-> fault-tolerance scenario (e.g. fail-safe)

Test Cases – Automotive/Robotics

http://www.whichcar.com.au/media/1841/image94342_c.jpg?width=500&height=372.23168654173764

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 20

Page 21: Migration of Components and Processes as means for dynamic

Intermediate Changes

A. Weidinger KIA4SM Zwischenvortrag December 20, 2016 8 / 9

Test Setup – Hybrid Simulator

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 21

Page 22: Migration of Components and Processes as means for dynamic

• Migration Execution• (De-)Serialization• Transfer

• Checkpoint/Restore (Redundant Memory)• Hardware-supported Checkpoint/Restore

• Co-Processor (e.g. PB ES Cortex-M3)• FPGA-based (e.g. Enhanced MMU)

• Hardware support (e.g. placement) of further migrationrelated components (Runtime Monitoring, Analysis, Planning)

• Flexible thread management (intelligent synchronisation vs. idlemode)

Next Steps – Operating System

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 22

Page 23: Migration of Components and Processes as means for dynamic

• Motivation: Future CPS• Dynamic Reconfiguration: Migration of software-based

components• Relevant OS research areas

• Mixed-Criticality-aware Partitioning• Migration decision• Migration execution

• Development• Implementation: L4 Fiasco.OC/Genode OS Framework• COTS-Hardware (physical/virtual)

• Test Setup & Test Cases• Hybrid Simulator• Automotive & Robotics

Conclusion

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 23

Page 24: Migration of Components and Processes as means for dynamic

Thank you!

https://www.os.in.tum.de/

Sebastian Eckl, M.Sc.TUM – Technische Universität MünchenInformatik F13 (Operating Systems)Boltzmannstr. 385748 GarchingT: +49 89 289 18791E: [email protected]

Sebastian Eckl, Daniel Krefft, Uwe Baumgarten © 06/2017 24