providing qos with virtual private machines
DESCRIPTION
Providing QoS with Virtual Private Machines. Kyle J. Nesbit, James Laudon, and James E. Smith. Motivation for QoS. Multithreaded Chips Resource sharing Higher utilization E.g., Niagara Inter-thread interference Applications Soft real-time applications Cell-phones and game consoles - PowerPoint PPT PresentationTRANSCRIPT
Providing QoS with Virtual Private Machines
Kyle J. Nesbit, James Laudon, and James E. Smith
Motivation for QoS
Multithreaded Chips Resource sharing Higher utilization
E.g., Niagara Inter-thread interference
Applications Soft real-time applications
Cell-phones and game consoles Fine-grain parallel applications
Scheduling and synchronization Server consolidation
Hosting services
QoS Objectives
Isolation Priority Fairness Performance
Objectives are combined E.g., Isolation and performance
QoS Framework
Separation of Objectives, Policies, Mechanisms Well structured solutions
Main Memory (Capacity M)
Memory Controller
Proc. 1
L1 Cache
Interconnect
Proc. 2
L1 Cache
Proc. 3
L1 Cache
Proc. 4
L1 Cache
L2 Cache (Capacity C)
Bandwidth K
Bandwidth L
LocalPolicy
Mechanisms
LocalPolicy
LocalPolicy
GlobalPolicy
Objectives
Local PolicyResource-Directed
IsolationAllocations – Minimum Service
AllocatedConsumed
PriorityVector – Relative Service
Unallocated orUnused
FairnessMultiple Definitions?
Higher PriorityConsumed
Same PriorityUnused
Service
Work ConservingPolicies
Global Policy Virtual Private Machines
Main Memory
Memory Cntl.
L2 Cache (Capacity .5C)
Proc. 1
L1 Cache
VPM 1
Main Memory
Memory Cntl.
L2 Cache (Capacity .1C)
Proc. 2
L1 Cache
VPM 2
BW .5L BW .1L
Main Memory
Memory Cntl.
L2 Cache (Capacity .1C)
Proc. 3
L1 Cache
VPM 3
Main Memory
Memory Cntl.
L2 Cache (Capacity .1C)
Proc. 4
L1 Cache
VPM 4
BW .1L BW .1L
BW .5K BW .1K BW .1K BW .1K
Real-TimeThread
BackgroundThread
BackgroundThread
BackgroundThread
Priority = 0 Priority = 0 Priority = 0
Fairness Policy
Priority = 3
Global PolicyPerformance-Directed
Global optimization problem Use local policies to control resources Optimize one bottleneck and the
bottleneck appears somewhere else Performance-directed policies need to
fit into the VPM policy E.g., optimize aggregate performance
within a priority level
Status
Completed Secondary cache [ISCA ’07] and SDRAM
memory system mechanisms [Micro ‘06] Bandwidth mechanisms Cache capacity mechanisms
Ongoing and Future Work Multithreaded Processors Work conserving cache capacity policy Priority policy Aggregate performance policy
Conclusion
Objectives: Isolation, Priority, Fairness, Performance
Implementation: Separation of policies and mechanisms
Abstraction: Virtual Private Machines Composable global policies that coexist
on a per application basis
Questions and Comments
Do Virtual Private Machines meet all of the requirements of software controlled micro-architecture resource management?