lecture 7: performance issues with virtualization xiaowei yang (duke university)
TRANSCRIPT
Lecture 7: Performance Issues with Virtualization
Xiaowei Yang (Duke University)
Recap
• What’s cloud computing
• Security issues
Today
• How virtualization impacts performance (measurement)– The Impact of Virtualization on Network
Performance of Amazon EC2 Data Center• Guohui Wang, T. S. Eugene Ng
– Performance Profiling in a Virtualized Environment• Jiaqing Du, Nipun Sehrawat, and Willy
Zwaenepoel
Virtualization Impacts Network Performance
• Cloud computing uses virtualization to provide resource sharing– Time sharing– Processors, NIC, harddisk, performance
monitoring unit
Xen
Dom0Guest0 Guest1Driverdomain
NIC
Measure the impact of virtualization
• Processor sharing
• Packet round-trip delay
• TCP/UDP throughput
• Packet loss
Processor sharing
• Measurement methodology– CPUTest: loops for a million times– Gettimeofday() at the beginning and
end of the loop– Saves timestamps in memory– Dump the saves timestamps to disks
Packet round-trip delay
• 10 ping probes per second, 5000 round-trip delay measurements
TCP/UDP throughput
• UDPTest– The program itself must be able to read
and send data as fast as possible
128KB
UDPSend Dom0
XenNIC
UDPRecv Dom0
XenNIC
TCP/UDP throughput
• TCPTest– Send and Receive window set to 256KB– 0.5ms– 4Gbps
128KB
TCPSend Dom0
XenNIC
TCPRecv Dom0
XenNIC
Packet loss
• Badabing– Packet loss estimation– Active probes and statistical estimations
Experiments setup: spatial
• Across different instances, availability zone
• For each availability zone (3 total)– 250 pairs of small instance– 50 pairs of medium instances– TCP/UDP
• May congest the network• Limit to 800MB data
– Badabing• One minute
Experiments setup: temporal
• Over a period of time• Two small instance pairs and one
medium in each of the availability zone– Processor sharing, network
performance, and packet loss– Round by round for 150 hours– Each round separate for 10 minutes
Results
Processor sharing
How to compute CPU share
• Loop > 1ms off• Loop ~ 3us on
Distribution of CPU share
Bandwidth measurement results
Bandwidth measurement results
A closer look
Medium instances’ performance
Why?
• TCP/UDP sender is scheduled off
• UDP > TCP– Sender can send when receiver is
scheduled off
End-to-end delays
Why
• Queuing?– Unlikely, rare packet loss–<500Mb/s TCP throughput no
congestion
• Receiver scheduled off– no reply until it’s on again
Packet loss estimation
Why?
• Measurement tool not considering virtualization does not fit– Badabing detects loss episodes– Loss episode• A packet loss within some time of now• One way delay is larger than a threshold
• Large variation leads to a high loss estimate
Badabing overestimates loss
Implications
• Delay = queuing + transmission + propagation + scheduled off
• Affect the fidelity of network testing if using small instances
• May cause performance problems for some applications– yet to be validated
Discussion• Easy fix: using medium or large instances
• I/O sharing
• Better way to share networks?
• Ways to detect whether you are sharing with another instance
• Try it on other instances?