Download - Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Transcript
Page 1: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 1/24

VHPC 2010VHPC 2010August 31August 31stst, Ischia, Italy, Ischia, Italy

Providing Performance Guarantees to Providing Performance Guarantees to Virtual Machines Virtual Machines using Real-Time using Real-Time

SchedulingScheduling

Tommaso CucinottaTommaso Cucinotta, Dhaval Giani,, Dhaval Giani,Dario Faggioli, Fabio ChecconiDario Faggioli, Fabio Checconi

Real-Time Systems LaboratoryReal-Time Systems LaboratoryScuola Superiore Sant'AnnaScuola Superiore Sant'Anna

Pisa, ItalyPisa, Italy

Page 2: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 2/24

Introduction and MotivationsIntroduction and Motivations

Page 3: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 3/24

IntroductionIntroduction

““Traditional” worlds of computingTraditional” worlds of computing General-Purpose Computing (GPC) and servers

Low-cost, low parallelism degree equipment Focused on mixing batch and interactive workloads

High-Performance Computing (HPC) High-cost, massively parallel and vector-based equipment Focused on batch computing, tightly coupled parallel tasks,

scientific applications

New trendsNew trends Affordable many-core systems also for GPC Cloud-Computing: world-level scalability and replicability

Use of high-performance hardware in CC applications Interest in mixing interactive/real-time and HPC workloads

Page 4: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 4/24

IntroductionIntroduction

Virtualization is a key technologyVirtualization is a key technology For IaaS providers (Cloud Computing) For server consolidation

Physical HostPhysical Host

OSOS

. . .

Physical HostPhysical Host

OSOS

Page 5: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 5/24

IntroductionIntroduction

Virtualization is a key technologyVirtualization is a key technology For IaaS providers (Cloud Computing) For server consolidation

Physical HostPhysical Host

OSOS

. . .

Physical HostPhysical Host

OSOS

Physical HostPhysical Host

VM/OSVM/OS

VM/OSVM/OS

. . .

Page 6: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 6/24

Need for Performance IsolationNeed for Performance Isolation

Resource sharingResource sharing→ Temporal interference

Physical HostPhysical Host

VMVM

VMVM

VMVM

VMVM

Page 7: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 7/24

Need for Performance IsolationNeed for Performance Isolation

Resource sharingResource sharing→ Temporal interference

Physical HostPhysical Host

VMVM

VMVM

VMVM

VMVM

VM Alone

~30ms

Page 8: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 8/24

Need for Performance IsolationNeed for Performance Isolation

Resource sharingResource sharing→ Temporal interference

Physical HostPhysical Host

VMVM

VMVM

VMVM

VMVM

VM Alone

2 VMs

~30ms

~120ms

Page 9: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 9/24

Possible SolutionPossible Solution

Hardware replication andHardware replication andstatic partitioningstatic partitioning Computing

Multi-core (1 core per VM) Networking

Multiple network adapters(1 network adapter per VM)

Multi-queue adapters

DrawbacksDrawbacks Limitation of flexibility Under-utilization of resources

e.g., with real-time/interactive workloads(cloud computing)

Physical HostPhysical Host

VMVM

VMVM

VMVM

VMVM

Page 10: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 10/24

Possible SolutionPossible Solution

Another approachAnother approach Let multiple VMs use the same resources Use proper resource scheduling strategies

For exampleFor example Computing

Xen credit-based and SEDF schedulers Networking

QoS-aware protocols (IntServ, MPLS)

Page 11: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 11/24

What is still missing ?What is still missing ?

Most approachesMost approaches Investigate on high-level load balancing techniques

Without the necessary care for fine-grain resource scheduling Focus on fairness among multiple VMs

Only a few worksOnly a few works Focus on providing precise QoS guarantees to VMs For example

Gupta et al., “[...] Performance Isolation […] in Xen” Cherkasova et al., “Comparison of the 3 CPU Schedulers in Xen”

Our focusOur focus Network performance isolation among concurrent VMs Virtualization with a host OS

Specifically, on Linux as host OS with KVM

Page 12: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 12/24

Proposed ApproachProposed Approach

Page 13: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 13/24

Proposed ApproachProposed Approach

Use of real-time CPU schedulingUse of real-time CPU scheduling As basic mechanism for isolating VMs concurrently

running on the same CPU and core

IRMOS Real-Time SchedulerIRMOS Real-Time Scheduler For the Linux kernel Provides hierarchical EDF/FP scheduling

EDF-based resource reservations– (Q, P): a budget Q is granted every period P– Both a guarantee and a limitation

FP scheduling within each EDF reservation Provides temporal isolation

Page 14: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 14/24

What can we achieve ?What can we achieve ?(by CPU real-time scheduling)(by CPU real-time scheduling)

CPU real-time scheduling achievesCPU real-time scheduling achieves Performance isolation of

compute-intensive VMs Shown in other papers

What about network-intensive VMs ?

ProblemsProblems On the host OS (Linux)

network-intensive VMs impose a big interrupt workload– difficult to quantify and keep under control– steals CPU from reservations of other VMs

How can we fix this ?

Page 15: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 15/24

Preliminary SolutionPreliminary Solution

Preliminary solution (subject of this paper)Preliminary solution (subject of this paper) Temporal isolation of VMs by real-time scheduling

Scheduling parameters tuned according to benchmarked figures– Reservation period set according to responsiveness requirements– Budget needed for computations, plus– Budget needed for sustaining network traffic

Budget over-provisioning According to the foreseen interference due to

network-intensive VMs

Page 16: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 16/24

Experimental ResultsExperimental Results

Page 17: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 17/24

Experimental ResultsExperimental Results(Q6600 @ 2.4 GHz, 1-Gbit Card)(Q6600 @ 2.4 GHz, 1-Gbit Card)

Achievable network throughput as a function of Achievable network throughput as a function of the CPU share reserved to the VMthe CPU share reserved to the VM Measured via iperf: almost linear, as expected

Page 18: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 18/24

Experimental ResultsExperimental Results(2 VMs on the same core)(2 VMs on the same core)

Throughput as a function of its own budgetThroughput as a function of its own budget 13% drop when

own reservation is 35% (from ~300 Mbps to ~260 Mbps) and reservation of other VM increased from 10% to 40%

Page 19: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 19/24

Experimental ResultsExperimental Results(2 VMs on the same core)(2 VMs on the same core)

Throughput as a function of its own budgetThroughput as a function of its own budget ~14% budget over-provisioning needed

for sustaining a ~300 Mbps throughput when reservation of other VM increased from 10% to 40%

Page 20: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 20/24

Experimental ResultsExperimental Results(2 VMs on the same core)(2 VMs on the same core)

Throughput as a function of the budget reserved Throughput as a function of the budget reserved to the other interfering VMto the other interfering VM Drop due to compute-intensive interfering VM lower than

the one due to network-intensive interfering VM

Page 21: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 21/24

Experimental ResultsExperimental Results(application-level benchmark)(application-level benchmark)

Download time for a 100 KB file from ApacheDownload time for a 100 KB file from Apache Periodic download requests every 20ms Response-times may be kept much more stable

by real-time scheduling

Page 22: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 22/24

Conclusions and Future WorkConclusions and Future Work

Page 23: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 23/24

Conclusions and Future WorkConclusions and Future Work

ConclusionsConclusions We showed how to achieve network

performance isolation by CPUreal-time scheduling

Technique to be used jointly withtraffic-shaping techniques

Planned Future WorkPlanned Future Work Experiment with PREEMPT_RT

IRQs handled in kernel threads Investigate on task-level isolation of network traffic of

different VMs (via real-time scheduling) Make KVM a QoS-aware hypervisor Investigate on the use of Adaptive Reservations

Page 24: Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 24/24

Thanks for your attention!Thanks for your attention!

Questions ?Questions ?