dynamic processors demand dynamic operating systems
play

Dynamic Processors Demand Dynamic Operating Systems Sankaralingam - PowerPoint PPT Presentation

Dynamic Processors Demand Dynamic Operating Systems Sankaralingam Panneerselvam Michael M. Swift Computer Sciences Department University of Wisconsin, Madison, WI 1 HotPar 2010 Motivation Chip Multiprocessor Does not support well


  1. Dynamic Processors Demand Dynamic Operating Systems Sankaralingam Panneerselvam Michael M. Swift Computer Sciences Department University of Wisconsin, Madison, WI 1 HotPar 2010

  2. Motivation  Chip Multiprocessor  Does not support well for sequential workloads 250 Possible Configurations 200 System with up Speedup symmetric to 256 cores 150 100 50 0 256 128 64 32 16 8 4 2 1 Number of effective cores “ Amdahls law in the multicore era” [IEEE computer, July 2008] 2 HotPar 2010

  3. Motivation  Asymmetric Chip Multiprocessor  To satisfy diverse workloads 250 200 System with up Speedup asymmetric to 256 cores 150 100 50 0 256 255 253 249 241 225 193 129 1 Number of effective cores “ Amdahls law in the multicore era” [IEEE computer, July 2008] 3 HotPar 2010

  4. Motivation  Dynamic Multiprocessor  Flexible to cast to the right configuration based on the need 250 200 System with up Speedup Dynamic to 256 cores 150 100 50 0 1 2 4 8 16 32 64 128 256 Number of elementary cores that gets configured dynamically to make a powerful core “ Amdahls law in the multicore era” [IEEE computer, July 2008] 4 HotPar 2010

  5. Examples of Dynamic Multiprocessors Core Fusion Intel Turbo Boost [ISCA’07] [Nehalem] 5 HotPar 2010

  6. Motivation  Many mechanisms lead to dynamically variable processors  Performance  Merging resources: Core Fusion, Speculative Multithreading  Shifting power: Turbo Boost, Over-provisioned systems  Reliability  Redundant execution [ISCA’07] 6 HotPar 2010

  7. Why reconfigure the OS?  What happens if a processor goes to offline state without any notification?  Servicing of interrupts, IPI, Bottom halves is stopped  Other processors might wait for spinlock  RCU stall  Thread execution is stopped 7 HotPar 2010

  8. Can the OS adapt to changing processors ?  Common theme: the number of physical execution contexts may change dynamically and frequently  Our work:  Analysis of Linux mechanisms for changing processors  Two new techniques for dynamically varying processors  Processor Proxies  Deferred/Parallel Hotplug 8 HotPar 2010

  9. Outline  Motivation  Current Mechanisms  Processor Proxies  Deferred/Parallel hotplug 9 HotPar 2010

  10. Why is changing processors hard?  Many pieces of code know which processors are available  Scheduler  Per-CPU structures  Distributed operations require processors to communicate  Communication between processors - IPI  Read Copy Update (RCU) mechanism 10 HotPar 2010

  11. CPU dependence in Linux  Analysis of Linux 2.6.31-4 kernel on a 4 CPU machine Number of per-CPU data 446 data structures structures Number of callbacks when CPU 35 callbacks set changes Frequency of global RCU 90 callbacks/second operations  Inference: CPU dependences are widespread 11 HotPar 2010

  12. Current solution: Linux Hotplug  Hotplug allows dynamic addition/removal of a processor  Partitioning/virtualization  Physical repair  Used for long-term reconfigurations  Assumes that processors, once off lined, never comes online  Notifies all relevant subsystems, creates/deletes all per-CPU state 12 HotPar 2010

  13. CPU 3 going down 1 3 4 2 Time CPU_DOWN_PREPARE take_cpu_down - disables interrupt - remove cpu from NOP NOP NOP cpu_online_mask loop loop loop CPU_DYING -schedule idle thread on this cpu CPU_DEAD CPU_POST_DEAD 13 HotPar 2010

  14. Hotplug performance Hotplug Cores Latency Operations (msec) 1 25 OFFLINE 2 60 3 137 1 106 ONLINE 2 214 3 331  Good for virtualization but too slow for rapid reconfiguration 14 HotPar 2010

  15. Outline  Motivation  Current Mechanisms  Processor Proxies  Deferred/Parallel hotplug 15 HotPar 2010

  16. Our approach Strategy  Do very little for short-term changes  Do long-term changes off line, asynchronously and  in parallel Solutions  Processor proxies address short-term  reconfiguration Deferred and Parallel hotplug reduces the  frequency and latency of long-term reconfiguration 16 HotPar 2010

  17. Processor Proxies  A processor proxy is a fill-in for offline processor  Provides separate execution context on the proxying CPU called the proxy context  Participates in operations that requires the offline processor:  Servicing Inter Processor Interrupts (IPI)  Ensuring progress in RCU mechanism  Does not execute threads 17 HotPar 2010

  18. CPU B CPU A Proxy Native context context Interrupt/Bottom halves servicing B is offline and A is proxying for B Interrupts destined to CPU A Interrupts destined to CPU B 18 HotPar 2010

  19. Processor Proxy Evaluation Result  Offline / Online performance compared to native Hotplug Cores Native Proxy Operations (msec) (msec) 1 25 1.7 OFFLINE 2 60 4 3 137 6.5 1 106 1.2 ONLINE 2 214 2.8 3 331 6 19 HotPar 2010

  20. Deferred and Parallel Hotplug  Processor proxies are not a long term solution  Threads don’t run on a proxy  If the reconfiguration is long lasting, move to a stable state  Solutions:  Deferred hotplug: remove a CPU that is currently proxied  Parallel hotplug: reconfigure multiple CPUs simultaneously 20 HotPar 2010

  21. Evaluation Results Hotplug Cores Native Parallel Operations (msec) (msec) 1 25 25 OFFLINE 2 60 60 3 137 130 1 106 106 ONLINE 2 214 111 3 331 131  Performance of CPU online is greatly improved  Major time spent in initialization for CPU online  Initialization can happen in parallel 21 HotPar 2010

  22. Conclusions  Dynamic reconfiguration  Operating systems are not prepared  Hotplug mechanisms is too slow  Low latency solutions  Processor Proxies  Deferred and Parallel hotplug  Future work  Resource management 22 HotPar 2010

Recommend


More recommend