lecture 7: performance issues with virtualization xiaowei yang (duke university)

Post on 24-Dec-2015

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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?

top related