Embedded System Lab. 김해천 Decoupling Cores, Kernels, and Operating Systems Gerd Zellweger,...

Post on 18-Jan-2018

229 views 0 download

description

김 해 천김 해 천 Embedded System Lab. What’s happening to hardware Core counts are increasing  Dark silicon  Constrained by power consumption Reconfigurable cores (dynamically changed behavior)  DVFS, Turbo Boost  Core fusion Heterogeneous cores  Fast and power hungry vs. slow and power efficient  Asymmetric multiprocessing

Transcript of Embedded System Lab. 김해천 Decoupling Cores, Kernels, and Operating Systems Gerd Zellweger,...

Embedded System Lab.

Embedded System Lab.

김해천haecheon100@gmail.com

Decoupling Cores, Ker-nels, and Operating Sys-

temsGerd Zellweger, Simon Gerber, Kornilios Kourtis, and Timothy Roscoe, ETH

Zürichhttps://www.usenix.org/conference/osdi14/technical-sessions/presentation/

zellweger

김 해 천

Embedded System Lab.

Outline Motivation

Trends in hardware and software Design

Decoupling the kernel state Booting and shutting down cores dynamically

Evaluation Kernel updates, specialized kernels

김 해 천

Embedded System Lab.

What’s happening to hardware Core counts are increasing

Dark silicon Constrained by power consumption

Reconfigurable cores (dynamically changed behavior) DVFS, Turbo Boost Core fusion

Heterogeneous cores Fast and power hungry vs. slow and power efficient Asymmetric multiprocessing

김 해 천

Embedded System Lab.

What’s happening to software Modifying, upgrading, patching, or replacing OS kernels at runtime

K42 – dynamic kernel update Ksplice – binary patching of linux kernels without reboot Dtrace – modify the kernel at run time

CPU Hotplug

Multikernels

김 해 천

Embedded System Lab.

Barrelfish/DC Design Booting a new core

boot driver manages a “target core” and encapsulates the hardware func-tionality to boot, suspend, resume, and power-down

boot driver abstraction treats CPU cores much like peripheral devices only involves two processes: the boot driver, the kernel on the target core

No global lock or other synchronization

Home core

Boot driver

kernel

cpu

kernel

김 해 천

Embedded System Lab.

Barrelfish/DC Design Shutting down a core

Highly scalable, only two cores involved

cpu cpu cpu

kernel kernel kernel

cpu

kernel

OSNode

OSNode

OSNode

OSNode

Applica-tion

Application Applica-tion

김 해 천

Embedded System Lab.

Barrelfish/DC Design Shutting down a core

Highly scalable, only two cores involved

cpu cpu cpu

kernel kernel kernel

OSNode

OSNode

O.N

Applica-tion

Application

Applica-tion

O.N

ParkingOSNode

OSNodescheduler

김 해 천

Embedded System Lab.

Barrelfish/DC Design Decoupling Cores, Kernels and Operating Systems

cpu

kernel

OSNode

cpu

kernel

OSNode

김 해 천

Embedded System Lab.

Barrelfish/DC Design Decoupling Cores, Kernels and Operating Systems

cpu

kernel

cpu

kernel

OSNode

OSNode

OSNode

OSNode

kernel

김 해 천

Embedded System Lab.

Evaluation Performance of core management operation

Adding and removing cores in the system

김 해 천

Embedded System Lab.

Evaluation PostgreSQL & TPC-H

Kernel Updates Shut-down target core Reboot core with a new kernel image Dispatch previous OSNode

김 해 천

Embedded System Lab.

Evaluation Specialized kernels

Shut-down target core Temporarily park the target OSNode Boot simple real-time kernel that runs Just one application

Dose not take interrupts No timers No scheduler

Temporarily provides task with hard real time gurantees

김 해 천

Embedded System Lab.

http://www.barrelfish.org/zellweger-decoupling-cores.pdf https://www.usenix.org/conference/osdi14/technical-sessions/presen-

tation/zellweger