virt/rk: a real-time virtualization framework for multi...

1
Virt/RK: A Real-Time Virtualization Framework for Multi-Core Platforms Hyoseung Kim and Ragunathan (Raj) Rajkumar Electrical and Computer Engineering Carnegie Mellon University Benefits of Multi-Core Platforms Real-Time System Virtualization Virt/RK Experimental Results Demonstration Cache Interference within a VM Workload consolidation onto a multi-core CPU Reduces the number of CPUs and wiring harnesses among them Leads to a significant reduction in size, weight, power and cost requirements Multi-core platform Single-core Platforms Workload Consolidation Barriers to consolidation: Applications are typically developed independently by different vendors Bare-metal, proprietary OS Linux, Android IP and licensing considerations Consolidation via virtualization Each application can maintain its own implementation Minimizes re-certification process IP protection and license segregation Fault isolation Virtualization Multi-core CPU Real-Time Hypervisor Real-time virtualization with resource kernel approach CPU reservation for VCPUs + Memory reservation for VMs Current implementation: Virt/RK::KVM-x86, Virt/RK::KVM-ARM Virt/RK::L4 under development VM1 VCPU1 Task τ 1 Task Scheduler Task τ 2 VCPU2 Task τ 3 Task Scheduler Task τ 4 VM Resource Reservation VCPU1/2: 50% of physical CPU VM1: 25% of host memory with Cache & DRAM bank partitioning Problem: cache interference among tasks within the same VM Each VM can be assigned private cache partitions But, those cache partitions are shared among tasks running in the VM Solutions: vLLC & vColoring, hypervisor-level methods to manage the cache allocation of individual tasks running in a VM Supports proprietary, closed-source guest OSs Prevents inter-VM interference VM1 VCPU1 Task τ 1 Task Scheduler Task τ 2 VCPU2 Task τ 3 Task Scheduler Task τ 4 (1) Intra-VCPU cache interference: tasks running on the same VCPU (2) Inter-VCPU cache interference: tasks running on different VCPUs (1) (2) Experimental Setup x86: Intel i7-2600 four cores, ARM: Exynos 5422 (four ARM Cortex-A15 cores) Guest OSs: Linux/RK, Vanilla Linux, MS Windows Embedded (x86 only) Inter-VCPU interference among cache-sensitive tasks within a VM 1209.60 1203.85 101.14 102.13 0 200 400 600 800 1000 1200 1400 1600 Linux/RK Vanilla Linux Norm. Exec Time (%) Baseline w/ vLLC w/ vColoring 471.89 475.19 443.83 101.47 100.27 101.35 0 100 200 300 400 500 600 Linux/RK Vanilla Linux MS Windows Norm. Exec Time (%) Baseline w/ vLLC w/ vColoring x86 ARM Virt/RK with vLLC & vColoring effectively prevents cache interference inside a VM Virtualization of the driving context of an autonomous vehicle* * C. Urmson et al., “Autonomous Driving in Urban Environments: Boss and the Urban Challenge”, Field and Robotics, 2008. J. Wei et al., “Towards a Viable Autonomous Driving Research Platform”, In IEEE Intelligent Vehicles Symposium (IV), 2013.

Upload: others

Post on 03-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virt/RK: A Real-Time Virtualization Framework for Multi ...hyoseung/pdf/rtsswork15-virtrk-poster.pdf · – x86: Intel i7-2600 four cores, ARM: Exynos 5422 (four ARM Cortex-A15 cores)

Virt/RK: A Real-Time Virtualization Framework

for Multi-Core Platforms

Hyoseung Kim and Ragunathan (Raj) Rajkumar

Electrical and Computer Engineering Carnegie Mellon University

Benefits of Multi-Core Platforms Real-Time System Virtualization

Virt/RK

Experimental Results Demonstration

Cache Interference within a VM

• Workload consolidation onto a multi-core CPU

• Reduces the number of CPUs and wiring harnesses among them

• Leads to a significant reduction in size, weight, power and cost requirements

Multi-core platform

Single-core Platforms

Workload

Consolidation

• Barriers to consolidation:

– Applications are typically developed

independently by different vendors • Bare-metal, proprietary OS

• Linux, Android

–IP and licensing considerations

• Consolidation via virtualization

– Each application can maintain

its own implementation

– Minimizes re-certification process

– IP protection and license segregation

– Fault isolation

Virtualization

Multi-core CPU

Real-Time Hypervisor

• Real-time virtualization with resource kernel approach

– CPU reservation for VCPUs + Memory reservation for VMs

– Current implementation: Virt/RK::KVM-x86, Virt/RK::KVM-ARM

–Virt/RK::L4 under development

VM1

VCPU1

Task τ1

Task Scheduler

Task τ2

VCPU2

Task τ3

Task Scheduler

Task τ4

VM Resource Reservation

• VCPU1/2: 50% of physical CPU

• VM1: 25% of host memory with

Cache & DRAM bank partitioning

• Problem: cache interference among tasks within the same VM

– Each VM can be assigned private cache partitions

– But, those cache partitions are shared among tasks running in the VM

• Solutions: vLLC & vColoring, hypervisor-level methods to manage

the cache allocation of individual tasks running in a VM

– Supports proprietary, closed-source guest OSs

Prevents inter-VM interference

VM1

VCPU1

Task τ1

Task Scheduler

Task τ2

VCPU2

Task τ3

Task Scheduler

Task τ4

(1) Intra-VCPU cache interference:

tasks running on the same VCPU

(2) Inter-VCPU cache interference:

tasks running on different VCPUs

(1) (2)

• Experimental Setup

– x86: Intel i7-2600 four cores, ARM: Exynos 5422 (four ARM Cortex-A15 cores)

– Guest OSs: Linux/RK, Vanilla Linux, MS Windows Embedded (x86 only)

• Inter-VCPU interference among cache-sensitive tasks within a VM

1209.60 1203.85

101.14 102.13

0

200

400

600

800

1000

1200

1400

1600

Linux/RK Vanilla Linux

No

rm.

Exec T

ime (

%)

Baseline w/ vLLC w/ vColoring

471.89 475.19 443.83

101.47 100.27 101.35

0

100

200

300

400

500

600

Linux/RK Vanilla Linux MS Windows

No

rm.

Exec T

ime (

%)

Baseline w/ vLLC w/ vColoring

x86 ARM

Virt/RK with vLLC & vColoring effectively prevents cache interference inside a VM

• Virtualization of the driving context of an autonomous vehicle*†

* C. Urmson et al., “Autonomous Driving in Urban Environments: Boss and the Urban Challenge”, Field and

Robotics, 2008. † J. Wei et al., “Towards a Viable Autonomous Driving Research Platform”, In IEEE Intelligent Vehicles

Symposium (IV), 2013.