Tessellation: Space-Time Partitioning in a Manycore Client OS
Rose Liu1,2, Kevin Klues1, Sarah Bird1, Steven Hofmeyr3, Krste Asanovic1, John Kubiatowicz1
1Parallel Computing Laboratory, UC Berkeley 2Data Domain 3Lawrence Berkeley National Laboratory
Tessellation: Space-Time Partitioning in a Manycore Client OS Rose - - PowerPoint PPT Presentation
Tessellation: Space-Time Partitioning in a Manycore Client OS Rose Liu 1,2 , Kevin Klues 1 , Sarah Bird 1 , Steven Hofmeyr 3 , Krste Asanovic 1 , John Kubiatowicz 1 1 Parallel Computing Laboratory, UC Berkeley 2 Data Domain 3 Lawrence Berkeley
1Parallel Computing Laboratory, UC Berkeley 2Data Domain 3Lawrence Berkeley National Laboratory
Single-user device Runs a heterogeneous mix of interactive, real-time and batch
Generally battery constrained
Enter the Manycore world Must address parallelism
Current client OSs weren’t designed for parallel
Existing OSs addressing parallelism targets servers or
Servers – emphasis on throughput vs. Client – emphasis on user experience/responsiveness HPC – machine dedicated to one parallel application vs. Client – runs many heterogeneous parallel applications Client - Longer battery life
Why a new OS for Manycore Clients? A Case for Space-time Partitioning
Define space-time partitioning Use cases for space-time partitioning
Implementing Space-Time Partitioning in a Manycore OS Status
5
Memory Radio
6
Memory Radio
7
Memory Radio
8
Memory Radio
9
Memory Radio
10
Wireless radio Memory
11
Radio Memory Media Player Browser
12
Radio Memory Media Player Browser
Isolation
containment, energy management
13
Wireless radio Memory Media Player Network Driver Filesystem Browser
14
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI
15
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM
16
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM Spatial Communication
context switch
17
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM
Communication relaxes the isolation boundaries of partitions and introduces issues like:
resource accounting of requestors within service partitions
18
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM
Cost ~ Process Context Switch Cost
coarse granularity to allow for user-level scheduling
Time
Partition resources put in low power state
Descheduled Partitions:
Real-time app is always scheduled Partitions are dynamically resized while running without a reboot or application restart
Time Descheduled Partitions: Challenges:
resource allocation for a partition?
multiplex each partition? Don’t need to use same time quanta for all partitions.
from each type of resource
multiplex off cores more frequently than multiplex partition data off caches. How to determine ‘best’ policy?
Partitions are dynamically resized while running without a reboot or application restart
21
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM
Why a new OS for Manycore Clients? A Case for Space-time Partitioning Implementing Space-Time Partitioning in a Manycore OS
Status
23
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM
Video Driver Virus Checker USB Driver
24
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters
Custom Scheduler Library OS Functionality Message Passing
25
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters
Custom Scheduler Library OS Functionality Message Passing
Marshalls syscalls into messages for the respective OS Service Partition App-specific scheduler for best parallel performance. (See Lithe talk on user-level scheduling.)
26
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters
Custom Scheduler Library OS Functionality Message Passing
27
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Message Passing
28
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure Partition Resources enforced by HW at runtime Message Passing
29
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime
30
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator
31
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Resizing Callback API
32
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Resizing Callback API Res. Reqs.
33
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Scheduler Comm Reqs Partition Resizing Callback API Res. Reqs.
34
Partition Management Layer
CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted)
Custom Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Scheduler Comm. Reqs Sched Reqs. Partition Resizing Callback API Res. Reqs.
Why a new OS for Manycore Clients? A Case for Space-time Partitioning
Define space-time partitioning Use cases for space-time partitioning
Implementing Space-Time Partitioning in a Manycore OS Status
Basics of Tessellation kernel and primitive OS service up
Provides rudimentary partition interface Boots on standard x86 hardware No I/O yet – statically linked applications and kernel
TOS OS Services User App 0 User App 1 Manycore HW Tesselation Kernel
Build fast cross-core communication mechanisms for
Context-switch free system calls APIC driven message notification with shared memory
Add support for the 19 newLib system calls in TOS OS
TOS OS Services User App 0 User App 1
Syscall Syscall Newlib C Newlib C
Existing I/O Drivers I/O Server Process
TOS OS Service doesn’t have all drivers, so run BSD with
existing drivers on one core to service I/O from TOS OS Service
Tessellation runs on rest of the cores
TOS OS Service User App 0 User App 1 Manycore HW Syscall Syscall BSD Kernel Newlib C Newlib C Pinned Shared Memory Channel
We would like to thank the entire ParLab OS group and
Research supported by Microsoft Award #024263 and
This work has also been in part supported by an NSF
40
Wireless radio Memory Media Player Network Driver Filesystem Browser Video decoder GUI Windows VM