Convicted Brinks Robber Becomes a Very Special "Jailhouse Lawyer"
Siemens Corporate Technology | October 2016 … · Jailhouse: Lightweight Real-Time Partitioning...
-
Upload
vuongnguyet -
Category
Documents
-
view
215 -
download
0
Transcript of Siemens Corporate Technology | October 2016 … · Jailhouse: Lightweight Real-Time Partitioning...
Unrestricted © Siemens AG 2016. All rights reserved
Jailhouse: Lightweight Real-Time Partitioning for Linux
Siemens Corporate Technology | October 2016
Page 2 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
On the Design of the Jailhouse Hypervisor
Agenda
Motivation
Jailhouse introduction & philosophy
Structure & mechanisms
Current status
Summary
Page 3 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Asymmetric Multi-Processing (AMP) & Linux
RTOS /Bare-Metal
Hardware
Linux
Core 4Core 3Core 1 Core 2
Page 4 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
AMP Drivers
• Low latency & high throughput
• Hard real-time
• Preexisting software
• Mixed criticality
Page 5 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
AMP for Linux?
Hardware
Linux #2
Core 1 Core 2 Core 3 Core 4 Core 5 Core 6 Core 62 Core 63 Core 64
Linux #1 Linux #3 Linux #n
Page 6 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
What is Jailhouse?
A tool to run
… real-time and/or safety tasks
… on multicore platforms (AMP)
… aside Linux
It provides
• strong & clean isolation
• bare-metal-like performance & latencies
• no reason to modify Linux (well, almost)
… and it's open source (GPLv2)
Page 7 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
What makes Jailhouse different?
• Use hardware-assisted virtualization for isolation
• Prefer simplicity over features
• Resource access controlinstead of resource virtualization
• 1:1 resource assignmentinstead of scheduling
• Partition booted systeminstead of booting Linux
• Do not hide existence of Jailhouse
• Offload work to Linux
• System boot
• Jailhouse and partition (“cell”) loading & starting
• Control and monitoring
Features Simplicity
Page 8 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
AMP with Jailhouse
RTOS /Bare-Metal
Hardware
Linux
Core 4Core 3Core 1 Core 2
Jailhouse Hypervisor
Device A Device B Device C Device D
Stahlkocher,CC BY-SA 3.0
Non-rootCell
RootCell
Page 9 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Late Partitioning Concept
Hardware Hardware
Partitioning Layer
LinuxLinux
Hardware
Partitioning Layer
LinuxRT
App
1. Boot phase 2. Partitioningphase
3. Operational phase
Firmware/BIOS
[Boot Loader]
Images
Configs
Linux
Page 10 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Jailhouse Components
Linux Kernel
JailhouseDriver Module
JailhouseManagement Tool
/sys/devices/jailhouse /dev/jailhouse
Cell Image CellConfig
Jailhouse Image
CellConfig
Cell Image
Jailhouse Hypervisor
SystemConfig
Hardware
Page 11 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Two Management Models
Open Model
• Linux (root cell) is in control
• Cells not involved in managementdecisions
• Sufficient if root cell is trusted
Safety Model
• Linux controls, but...
• Certain cells are configured to voteover management decisions
• Building block for safe operation
Linux
Jailhouse
Cell 1
Cell 2 Cell 3
Linux
Jailhouse
Cell 1
Cell 3
Cell 2
Page 12 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Jailhouse Status – x86
• Initial focus on x86, first Intel, then AMD
• Requirement: VT-x / VT-d, AMD-V / IOMMU
• AMD interrupt remapping on to-do list
• It's small!
• Currently ~8.8K lines of code (for Intel)
• Direct interrupt delivery
• Zero VM exits, minimal latencies feasible
• Max. timer IRQ latency (Xeon D-1540): <1 µs
• Cache Allocation Technology
• Intel feature for partitioning caches
• L3 supported, L2 on to-do list
Page 13 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Jailhouse Status – ARM
• ARMv7
• Runs in FastModel, on Banana-Pi,NVIDIA Jetson TK1
• WiP: TI AM572x evaluation module
• SMMU on to-do list
• It's small too!
• Currently ~7.1k lines of code
• ARMv8
• Contributed by Huawei (ERC Munich)
• Merge delayed due to ARM fixes, but now ready
• Targets: ARMv8 Foundation Model, AMD Seattle, LeMaker HiKey
Page 14 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Summary
• Jailhouse provides clean AMP for Linux
• Full CPU isolation
• Minimal I/O latency
• Simplicity and cleanness rules
• Reduced to the minimum (goal: <10k LOC/arch)
• No emulation, no overcommitment
• Support for safety scenarios, certification material under preparation
• Jailhouse is a community project
• GPLv2, public development for 3 years
• Significant contributions enabledAMD64, ARMv7, ARMv8
• To be proposed as kernel subsystem eventually
Page 15 October 2016 Jan Kiszka, Corporate Technology Unrestricted © Siemens AG 2016. All rights reserved
Any Questions?
Thank you!
https://github.com/siemens/jailhouse
Jan Kiszka <[email protected]>