280 likes | 405 Views
Lecture 7: Performance Issues with Virtualization. Xiaowei Yang (Duke University). Recap . What’s cloud computing Security issues. Today. How v irtualization impacts performance (measurement) The Impact of Virtualization on Network Performance of Amazon EC2 Data Center
E N D
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 • JiaqingDu, NipunSehrawat, and Willy Zwaenepoel
Virtualization Impacts Network Performance • Cloud computing uses virtualization to provide resource sharing • Time sharing • Processors, NIC, harddisk, performance monitoring unit Guest0 Guest1 Dom0 Driver domain Xen 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 UDPRecv Dom0 Dom0 Xen Xen NIC NIC
TCP/UDP throughput 128KB • TCPTest • Send and Receive window set to 256KB • 0.5ms • 4Gbps TCPSend TCPRecv Dom0 Dom0 Xen Xen NIC NIC
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
How to compute CPU share • Loop > 1ms off • Loop ~ 3us on
Why? • TCP/UDP sender is scheduled off • UDP > TCP • Sender can send when receiver is scheduled off
Why • Queuing? • Unlikely, rare packet loss • <500Mb/s TCP throughput no congestion • Receiver scheduled off • no reply until it’s on again
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
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?