tessellation space time partitioning in a manycore client
play

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


  1. 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

  2. Client Device  Single-user device  Runs a heterogeneous mix of interactive, real-time and batch applications simultaneously  Generally battery constrained

  3. 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

  4. 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

  5. Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 5

  6. Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 6

  7. Spatial Partitions Radio Isolated unit containing a subset of Memory physical machine resources 7

  8. Spatial Partitions QoS enforced share of Radio interconnect bandwidth Isolated unit containing a subset of Memory physical machine resources 8

  9. Spatial Partitions Energy or Power Budget Radio Isolated unit containing a subset of Memory physical machine resources 9

  10. Machine divided into spatial partitions Wireless radio Memory 10

  11. Put applications in spatial partitions Radio Media Player Browser Memory 11

  12. 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

  13. Put OS Services in spatial partitions Network Wireless Media Player Driver radio Browser Filesystem Memory 13

  14. Put sub-components in spatial partitions Media Player Network Wireless Driver radio GUI Video decoder Browser Filesystem Memory 14

  15. Put virtual machines in spatial partitions Media Player Network Wireless Driver radio GUI Video decoder Windows Browser VM Filesystem Memory 15

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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?

  21. Communication in space and time Media Player Network Wireless Driver radio GUI Video decoder Windows Browser VM Filesystem De-scheduled Memory Partitions 21

  22. Outline  Why a new OS for Manycore Clients?  A Case for Space-time Partitioning  Implementing Space-Time Partitioning in a Manycore OS (Tessellation)  Status

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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