In this paper we tackle the problem of providing Quality of Service
guarantees to virtualized applications, focusing on computing and networking
guarantees. We propose a mechanism for providing temporal isolation based on
a CPU real time scheduling strategy. This allows not only to have control over
the individual virtual machine throughput, but also on the activation latency and
response-time by which virtualized software components react to external events.
We show experimental results gathered on a real system validating the approach.
3. Introduction
“Traditional” 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 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
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 3/24
4. Introduction
Virtualization is a key technology
For IaaS providers (Cloud Computing)
For server consolidation
Physical Host
Physical Host
OS
OS
...
Physical Host
Physical Host
OS
OS
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 4/24
5. Introduction
Virtualization is a key technology
For IaaS providers (Cloud Computing)
For server consolidation
Physical Host
Physical Host Physical Host
Physical Host
OS
OS VM/OS
VM/OS
... ...
Physical Host VM/OS
VM/OS
Physical Host
OS
OS
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 5/24
6. Need for Performance Isolation
Resource sharing
→ Temporal interference
Physical Host
Physical Host
VM
VM
VM
VM
VM
VM
VM
VM
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 6/24
7. Need for Performance Isolation
~30ms
Resource sharing VM Alone
→ Temporal interference
Physical Host
Physical Host
VM
VM
VM
VM
VM
VM
VM
VM
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 7/24
8. Need for Performance Isolation
~30ms
Resource sharing VM Alone
→ Temporal interference
Physical Host
Physical Host
VM
VM
VM
VM
~120ms
2 VMs
VM
VM
VM
VM
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 8/24
9. Possible Solution
Hardware replication and Physical Host
Physical Host
static partitioning VM
VM
Computing
Multi-core (1 core per VM)
VM
VM
Networking
Multiple network adapters
(1 network adapter per VM) VM
VM
Multi-queue adapters
Drawbacks VM
VM
Limitation of flexibility
Under-utilization of resources
e.g., with real-time/interactive workloads
(cloud computing)
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 9/24
10. Possible Solution
Another approach
Let multiple VMs use the same resources
Use proper resource scheduling strategies
For example
Computing
Xen credit-based and SEDF schedulers
Networking
QoS-aware protocols (IntServ, MPLS)
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 10/24
11. What is still missing ?
Most 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 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 focus
Network performance isolation among concurrent VMs
Virtualization with a host OS
Specifically, on Linux as host OS with KVM
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 11/24
13. Proposed Approach
Use of real-time CPU scheduling
As basic mechanism for isolating VMs concurrently
running on the same CPU and core
IRMOS 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
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 13/24
14. What can we achieve ?
(by CPU real-time scheduling)
CPU real-time scheduling achieves
Performance isolation of
compute-intensive VMs
Shown in other papers
What about network-intensive VMs ?
Problems
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 ?
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 14/24
15. Preliminary Solution
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
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 15/24
17. Experimental Results
(Q6600 @ 2.4 GHz, 1-Gbit Card)
Achievable network throughput as a function of
the CPU share reserved to the VM
Measured via iperf: almost linear, as expected
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 17/24
18. Experimental Results
(2 VMs on the same core)
Throughput 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%
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 18/24
19. Experimental Results
(2 VMs on the same core)
Throughput 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%
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 19/24
20. Experimental Results
(2 VMs on the same core)
Throughput as a function of the budget reserved
to the other interfering VM
Drop due to compute-intensive interfering VM lower than
the one due to network-intensive interfering VM
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 20/24
21. Experimental Results
(application-level benchmark)
Download 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
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 21/24
22. Conclusions and Future Work
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 22/24
23. Conclusions and Future Work
Conclusions
We showed how to achieve network
performance isolation by CPU
real-time scheduling
Technique to be used jointly with
traffic-shaping techniques
Planned 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
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 23/24
24. Thanks for your attention!
Questions ?
Tommaso Cucinotta – ReTiS Lab – Scuola Superiore Sant'Anna – Pisa – Italy 24/24