24
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 1/24 VHPC 2010 VHPC 2010 August 31 August 31 st st , Ischia, Italy , Ischia, Italy Providing Performance Guarantees to Providing Performance Guarantees to Virtual Machines Virtual Machines using Real-Time using Real-Time Scheduling Scheduling Tommaso Cucinotta Tommaso Cucinotta , Dhaval Giani, , Dhaval Giani, Dario Faggioli, Fabio Checconi Dario Faggioli, Fabio Checconi Real-Time Systems Laboratory Real-Time Systems Laboratory Scuola Superiore Sant'Anna Scuola Superiore Sant'Anna Pisa, Italy Pisa, Italy

Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling

Embed Size (px)

DESCRIPTION

In this paper we tackle the problem of providing Quality of Serviceguarantees to virtualized applications, focusing on computing and networkingguarantees. We propose a mechanism for providing temporal isolation based ona CPU real time scheduling strategy. This allows not only to have control overthe individual virtual machine throughput, but also on the activation latency andresponse-time by which virtualized software components react to external events.We show experimental results gathered on a real system validating the approach.

Citation preview

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 ?