Dynamic Processors Demand Dynamic Operating Systems
Sankaralingam Panneerselvam Michael M. Swift
Computer Sciences Department University of Wisconsin, Madison, WI
HotPar 2010 1
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
HotPar 2010 1
Chip Multiprocessor Does not support well for sequential workloads
HotPar 2010
Possible Configurations “Amdahls law in the multicore era” [IEEE computer, July 2008]
256 128 64 32 16 8 4 2 1 Number of effective cores Speedup symmetric
System with up to 256 cores
250 200 150 100 50
2
Asymmetric Chip Multiprocessor To satisfy diverse workloads
HotPar 2010
256 255 253 249 241 225 193 129 1 Number of effective cores Speedup asymmetric
“Amdahls law in the multicore era” [IEEE computer, July 2008] System with up to 256 cores
250 200 150 100 50
3
Dynamic Multiprocessor Flexible to cast to the right configuration based
HotPar 2010
Speedup Dynamic
Number of elementary cores that gets configured dynamically to make a powerful core
“Amdahls law in the multicore era” [IEEE computer, July 2008] System with up to 256 cores
1 2 4 8 16 32 64 128 256 250 200 150 100 50
4
Core Fusion [ISCA’07]
Intel Turbo Boost [Nehalem]
HotPar 2010 5
Performance Merging resources: Core Fusion, Speculative
Shifting power: Turbo Boost, Over-provisioned
Reliability Redundant execution [ISCA’07]
HotPar 2010 6
Servicing of interrupts, IPI, Bottom halves is stopped Other processors might wait for spinlock RCU stall Thread execution is stopped
HotPar 2010 7
Analysis of Linux mechanisms for changing processors Two new techniques for dynamically varying processors
Processor Proxies Deferred/Parallel Hotplug
HotPar 2010 8
HotPar 2010 9
Scheduler Per-CPU structures
Communication between processors - IPI Read Copy Update (RCU) mechanism
HotPar 2010 10
HotPar 2010
11
Partitioning/virtualization Physical repair
Assumes that processors, once off lined, never
Notifies all relevant subsystems, creates/deletes all
HotPar 2010 12
3 1 2 4
CPU_DOWN_PREPARE CPU_DEAD CPU_POST_DEAD
CPU 3 going down
HotPar 2010
Time
13
take_cpu_down
cpu_online_mask
CPU_DYING
NOP loop NOP loop NOP loop
Hotplug Operations Cores Latency (msec) OFFLINE 1 25 2 60 3 137 ONLINE 1 106 2 214 3 331
HotPar 2010 14
HotPar 2010 15
HotPar 2010 16
Servicing Inter Processor Interrupts (IPI) Ensuring progress in RCU mechanism
HotPar 2010 17
CPU A
Native context Proxy context
Interrupts destined to CPU A Interrupts destined to CPU B CPU B Interrupt/Bottom halves servicing B is offline and A is proxying for B
HotPar 2010 18
Hotplug Operations Cores Native (msec) Proxy (msec) OFFLINE 1 25 1.7 2 60 4 3 137 6.5 ONLINE 1 106 1.2 2 214 2.8 3 331 6
HotPar 2010 19
Threads don’t run on a proxy
Deferred hotplug: remove a CPU that is currently
Parallel hotplug: reconfigure multiple CPUs
HotPar 2010 20
Major time spent in initialization for CPU online Initialization can happen in parallel
Hotplug Operations Cores Native (msec) Parallel (msec) OFFLINE 1 25 25 2 60 60 3 137 130 ONLINE 1 106 106 2 214 111 3 331 131
HotPar 2010 21
Operating systems are not prepared Hotplug mechanisms is too slow
Processor Proxies Deferred and Parallel hotplug
Resource management
HotPar 2010 22