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 National Laboratory
Client Device Single-user device Runs a heterogeneous mix of interactive, real-time and batch applications simultaneously Generally battery constrained
Why a new Client OS? Enter the Manycore world Must address parallelism Current client OSs weren’t designed for parallel applications Existing OSs addressing parallelism targets servers or HPC contexts, not clients 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
Outline 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
Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 5
Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 6
Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 7
Spatial Partitions QoS enforced share of Radio interconnect bandwidth Isolated unit containing a subset of Memory physical machine resources 8
Spatial Partitions Energy or Power Budget Radio Isolated unit containing a subset of Memory physical machine resources 9
Machine divided into spatial partitions Wireless radio Memory 10
Put applications in spatial partitions Radio Media Player Browser Memory 11
Benefits of spatial partitions • Each app can run a custom user-level runtime for best performance • Provides apps with resource guarantees for performance predictability • Functional & Performance Isolation Radio • Natural unit for fault Media Player containment, energy management Browser Memory 12
Put OS Services in spatial partitions Network Wireless Media Player Driver radio Browser Filesystem Memory 13
Put sub-components in spatial partitions Media Player Network Wireless Driver radio GUI Video decoder Browser Filesystem Memory 14
Put virtual machines in spatial partitions Media Player Network Wireless Driver radio GUI Video decoder Windows Browser VM Filesystem Memory 15
Partitions need to communicate Spatial Communication occurs without a context switch Media Player Network Wireless Driver radio GUI Video decoder Windows Browser VM Filesystem Memory 16
Communication Challenges Communication relaxes the isolation boundaries of partitions and introduces issues like: • Security • Service-level QoS and/or Media Player Network Wireless resource accounting of Driver radio requestors within GUI Video decoder service partitions Windows Browser VM Filesystem Memory 17
Space-time partitioning virtualizes spatial partitions • Partition Context Switch Media Player Network Wireless Cost ~ Process Context Driver radio Switch Cost • Time multiplex at a GUI Video decoder coarse granularity to allow for user-level Windows Browser scheduling VM Filesystem Memory De-scheduled Partitions 18
Space-Time Partition Scheduling Descheduled Partitions: Partitions are dynamically resized while running without a reboot or application restart Time Partition resources put in low power state Real-time app is always scheduled
Space-Time Partition Scheduling Challenges: Descheduled 1. How to determine the right Partitions: resource allocation for a partition? 2. What granularity to time multiplex each partition? Don’t … need to use same time quanta for all partitions. 3. We can deschedule partitions Time from each type of resource independently. E.g. time Partitions are dynamically resized multiplex off cores more while running without a reboot or frequently than multiplex application restart partition data off caches. How to determine ‘best’ policy?
Communication in space and time Media Player Network Wireless Driver radio GUI Video decoder Windows Browser VM Filesystem De-scheduled Memory Partitions 21
Outline Why a new OS for Manycore Clients? A Case for Space-time Partitioning Implementing Space-Time Partitioning in a Manycore OS (Tessellation) Status
Tessellation OS Media Player Network Wireless Driver radio Video GUI Video decoder Driver Windows Browser VM Virus Filesystem Checker USB Driver De-scheduled Memory Partitions 23
Tessellation Kernel Application Custom Library OS Or Scheduler Functionality OS Service Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 24
Tessellation Kernel Application Custom Library OS Or Scheduler Functionality OS Service App-specific scheduler for Marshalls syscalls into best parallel performance. messages for the respective (See Lithe talk on user-level OS Service Partition scheduling.) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 25
Tessellation Kernel Application Custom Library OS Or Scheduler Functionality OS Service Tessellation Kernel Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 26
Tessellation Kernel Application Custom Library OS Or Scheduler Functionality OS Service Partition Tessellation Management Kernel Layer Partition Mechanism Layer (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 27
Partition Mechanism Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Tessellation Management Kernel Layer Partition Configure Partition Mechanism Resources enforced by Layer HW at runtime (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 28
Partition Mechanism Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Tessellation Management Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 29
Partition Management Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Tessellation Partition Management Allocator Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 30
Partition Management Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Resizing Callback API Partition Tessellation Partition Management Allocator Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 31
Partition Management Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Res. Resizing Reqs. Callback API Partition Tessellation Partition Management Allocator Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 32
Partition Management Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Res. Comm Resizing Reqs. Reqs Callback API Partition Tessellation Partition Partition Management Scheduler Allocator Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 33
Partition Management Layer Application Custom Library OS Or Scheduler Functionality OS Service Partition Sched Res. Comm. Resizing Reqs. Reqs. Reqs Callback API Partition Tessellation Partition Partition Management Scheduler Allocator Kernel Layer Partition Configure Partition Configure Mechanism Resources enforced by HW-supported Layer HW at runtime Communication (Trusted) Interconnect Message Physical Performance Cache CPUs Bandwidth Passing Memory Counters Hardware Partitioning Mechanisms 34
Recommend
More recommend