SlideShare a Scribd company logo
1 of 33
Download to read offline
On ParaVirualizing TCP:
Congestion Control in Xen Virtual Machines
Luwei Cheng, Cho-Li Wang, Francis C.M. Lau
Department of Computer Science
The University of Hong Kong
Xen Project Developer Summit 2013
Edinburgh, UK, October 24-25, 2013
Outline
 Motivation
– Physical datacenter vs. Virtualized datacenter
– Incast congestion
 Understand the Problem
– Pseudo-congestion
– Sender-side vs. Receiver-side
 PVTCP – A ParaVirtualized TCP
– Design, Implementation, Evaluation
 Questions & Comments
Outline
 Motivation
– Physical datacenter vs. Virtualized datacenter
– Incast congestion
 Understand the Problem
– Pseudo-congestion
– Sender-side vs. Receiver-side
 PVTCP – A ParaVirtualized TCP
– Design, Implementation, Evaluation
 Questions & Comments
Physical datacenter Virtualized datacenter
Core switch

Core switch

ToR
switches

…

ToR
switches

...
…

…

Servers in a rack

…

...
…

…

Servers in a rack

VM VM VM
VM VM VM

 A set of physical machines  A set of virtual machines
 Network delays:
 Network delays:

propagation delays of the
physical network/switch

additional delays due to
virtualization overhead
Virtualization brings “delays”
VM
VM

VM

VM

delay

VM

VM

Hypervisor
pCPU

pCPU

 1. I/O virtualization overhead (PV or HVM)
– Guest VMs are unable to directly access the hardware.
– Additional data movement between dom0 and domUs.
– HVM: Passthrough I/O can avoid it
 2. VM scheduling delays
– Multiple VMs share one physical core
Virtualization brings “delays”
Avg: 0.147ms

Avg: 0.374ms

[PM  PM]

[1VM  1VM]

 Delays of I/O virtualization (PV guests): < 1ms
Peak: 30ms

Peak: 60ms

[1VM  2VMs]

 VM scheduling delays: 10× ms
– Queuing delays  VM scheduling delays
 The dominant factor to network RTT

[1VM  3VMs]
Network delays in public clouds

[INFOCOM’10]

[HPDC’10]
Incast network congestion
• A special form of network congestion, typically seen in
distributed processing applications (scatter-gather).

– Barrier-synchronized request workloads
– The limited buffer space of the switch output port can be easily
overfilled by simultaneous transmissions.

• Application-level throughput (goodput) can be orders of
magnitude lower than the link capacity.

[SIGCOMM’09]
Solutions for physical clusters
 Prior works: none of them can fully eliminate the

throughput collapse.
–
–
–
–
–
–

Increase switch buffer size
Limited transmit
Reduce duplicate ACK threshold
Disable slow-start
Randomize timeout value
Reno, NewReno, SACK

 The dominate factor: once the packet loss happens,

whether the sender can know it as soon as possible.
– In case of “tail loss”, the sender can only count on the
retransmit timer’s firing.

Two representative papers:

 Measurement and Analysis of TCP Throughput Collapse in Cluster-based Storage Systems [FAST’08].
 Understanding TCP Incast Throughput Collapse in Datacenter Networks [WREN’09].
Solutions for physical clusters (cont’d)
 Significantly reducing RTOmin has been shown to be a safe

and effective approach. [SIGCOMM’09]
 Even with ECN support in hardware switch, a small RTOmin
still shows apparent advantages. [DCTCP, SIGCOMM’10]

[SIGCOMM’09]

[DCTCP, SIGCOMM’10]

RTOmin in a virtual cluster? Not well studied.
Outline
 Motivation
– Physical datacenter vs. Virtualized datacenter
– Incast congestion
 Understand the Problem
– Pseudo-congestion
– Sender-side vs. Receiver-side
 PVTCP – A ParaVirtualized TCP
– Design, Implementation, Evaluation
 Questions & Comments
Pseudo-congestion
NO network congestion, still RTT spikes.
Red points:
measured RTTs
30ms
30ms

VM

30ms

VM

Blue points:
calculated RTO values

VM

RTOmin=200ms

RTOmin=100ms

pCPU

TCP’s low-pass filter

RTO = SRTT + 4* RTTVAR
Lower-bound: RTOmin

3VMs per core

Retransmit TimeOut
RTOmin=10ms

RTOmin=1ms

A small RTOmin  frequent spurious RTOs
Pseudo-congestion (cont’d)
A small RTOmin:
serious spurious
RTOs with largely
varied RTTs.

A big RTOmin:
throughput collapse
with heavy network
congestion.

 “adjusting RTOmin: a tradeoff between timely

response with premature timeouts, and there is NO
optimal balance between the two.”
-- Allman and Paxson [SIGCOMM’99]

Virtualized datacenters  A new instantiation
Sender-side vs. Receiver-side

The scheduling delays to the sender VM

The scheduling delays to the receiver VM

To transmit 4000 1MB data blocks

3VMs1VM
1086
0
0
0

Freq.
1× RTOs
2× RTOs
3× RTOs
4× RTOs

RTO only happens once a time

1VM3VMs
677
673
196
30

Successive RTOs are normal
A micro-view with tcpdump
9.1

snd.una: the first sent but unacknowledged byte.

x106

snd.nxt

9

snd.una

8.9

RTO happens twice,
before the receiver
VM wakes up.

The sender
VM has been
stopped.

8.8
8.7

snd.nxt: the next byte that will be sent.

The receiver
VM has been
stopped.

An ACK arrives
before the sender
VM wakes up.

snd.nxt

8.6
snd.una

8.5

RTO happens just after
the sender VM wakes up.

8.4
0

10

20

30

40

50

60

70

Time (ms) vs. sequence number (from the sender VM)

When the sender VM is preempted

 The ACK’s arrival time is not

80

0

10

20

30

40

50

60

70

80

Time (ms) vs. ACK number (from the receiver VM)

When the receiver VM is preempted

 The generation and the
delayed, but the receiving
return of the ACKs will be
time is too late.
delayed.
 From TCP’s perspective, RTO  RTOs must happen on the
should not be triggered.
sender’s side.
The sender-side problem: OS reasons
ACK

ACK

TCP
receiver

ACK

Physical
network

VM scheduling latency

wait ..

Within
hypervisor

data

data
clear
timer

Timer

Buffer

data
clear
timer

Timer

2

Network IRQ:
receive ACK;
Spurious RTO!

1

Timer IRQ:
RTO happens!

Expire time
Timer

deliver
ACK

VM1 is running

VM3 is running

VM1 is running

VM2 is waiting

VM3 is waiting

VM1 is waiting

VM1 is waiting

VM2 is waiting

TCP
sender

VM2 is waiting

VM3 is waiting

Scheduling
queue

VM2 is running

Driver
domain

VM3 is waiting

 After the VM wakes up, both TIMER and NET are pending.
 RTO happens just before the ACK enters the VM

 The reasons due to common OS design
– Timer interrupt is executed before other interrupts
– Network processing is a little late (bottom half)
To detect spurious RTOs
 Two well-known detection algorithms: F-RTO and Eifel
– Eifel performs much worse than F-RTO in some situations, e.g.
with bursty packet loss [CCR’03]
– F-RTO is implemented in Linux
[3VMs1VM]

Low
detection
rate

c

[1VM3VMs]

Low
detection
rate

 F-RTO interacts badly with delayed ACK (ACK coalescing)
– Reducing delayed ACK timeout value does NOT help.

Disabling delayed ACK seems to be helpful
Delayed ACK vs. CPU overhead

Sender VM

Receiver VM

Sender VM

Receiver VM

Disabling delayed ACK  Significant CPU overhead
Delayed ACK vs. CPU overhead

delack-200ms delack-1ms w/o delack
Total ACKs

229,650

244,757

2,832,260

delack-200ms delack-1ms w/o delack
Total ACKs

252,278

262,274

2,832,179

Sender delayed VM
Disabling VM ReceiverACK: 11~13×Sender VM ACKs are sent
more Receiver VM

Disabling delayed ACK  Significant CPU overhead
Outline
 Motivation
– Physical datacenter vs. Virtualized datacenter
– Incast congestion
 Understand the Problem
– Pseudo-congestion
– Sender-side vs. Receiver-side
 PVTCP – A ParaVirtualized TCP
– Design, Implementation, Evaluation
 Questions & Comments
PVTCP – A ParaVirtualized TCP
 Observation
– Spurious RTOs only happen when the sender/receiver
VM just experienced a scheduling delays.
 Main Idea
– If we can detect such moment, and let the guest OS be
aware of this, there is a chance to handle the problem.
“the more information about current network conditions
available to a transport protocol, the more efficiently it
can use the network to transfer its data.”
-- Allman and Paxson [SIGCOMM’99]
Detect the VM’s wakeup moment
VM

30ms

VM

30ms

VM
pCPU

3VMs per core

Guest OS
(HZ=1000)

jiffies++
jiffies++
jiffies++
jiffies++
jiffies++

30ms

VM is NOT
running

jiffies += 60

VM is
running
jiffies++
jiffies++
jiffies++
jiffies++
jiffies++

VM is
running

...
Virtual timer IRQs
(every 1ms)
Hypervisor

Time

Virtual timer IRQs
(every 1ms)

one-shot timer

Acute increase of the system clock (jiffies) 
The VM just wakes up
PVTCP – the sender VM is preempted
 Spurious RTOs can be avoided.

No need to detect them at all!

ACK

ACK

ACK

Physical
network
wait ..

Within
hypervisor

data

data
clear
timer

Timer

Timer

VM scheduling latency

Timer

TCP

Start
time

VM2 is running

Network IRQ:
receive ACK;
Spurious RTO!

1

Expire time

VM1 is running

deliver
ACK

2

Buffer

data
clear
timer

TCP
receiver

Timer IRQ:
RTO happens!

VM3 is running

VM1 is running

Timer

Expiry
time

Driver
domain

TCP
sender
PVTCP – the sender VM is preempted
 Spurious RTOs can be avoided.

No need to detect them at all!
 Solution: after the VM wakes up,
extend the TCP retransmit
timer’s expiry time by 1ms.
ACK

ACK

ACK

Physical
network
wait ..

Within
hypervisor

data

data
clear
timer

Timer

Timer

VM scheduling latency

deliver
ACK

Driver
domain

Buffer

data
clear
timer

TCP
receiver

Net IRQ first:
ACK enters.

Expire time

Reset the timer.

Timer

VM1 is running

TCP
PVTCP

Start
time

VM2 is running

VM3 is running

VM1 is running

Timer
Timer

1ms
Expiry
time

TCP
sender
PVTCP – the sender VM is preempted
ACK

ACK

ACK

Physical
network
wait ..

Within
hypervisor

data

data
clear
timer

Timer

Timer

VM1 is running

PVTCP

VM scheduling latency

deliver
ACK

Driver
domain

Buffer

data
clear
timer

TCP
receiver

Net IRQ first:
ACK enters.

Expire time

Reset the timer.

Timer

VM2 is running

StartTime

VM3 is running

VM1 is running

Timer

ExpiryTime

1ms

Measured RTT (MRTT) = TrueRTT + VMSchedDelay
TCP’s low-pass filter to estimate RTT/RTO
Smoothed RTT (SRTTi)  7/8 * SRTTi-1 +1/8 * MRTTi
RTT variance (RTTVARi)  3/4 * RTTVARi -1+ 1/4 * |SRTTi - MRTTi|
Expected RTO value (RTOi+1)  SRTTi + 4 * RTTVARi

Solution: MRTTi  SRTTi-1

TCP
sender
PVTCP – the receiver VM is preempted
Spurious RTOs cannot be
avoided, so we have to let
the sender detect them.
 Detection algorithms requires deterministic return of

future ACKs from the receiver

– Enable delayed ACK  retransmission ambiguity
– Disable delayed ACK  significant CPU overhead

 Solution: temporarily disable delayed ACK when the

receiver VM just wakes up.

– Eifel: check the timestamp of the first one ACK
– F-RTO: check the ACK number of the first two ACKs
– Just-in-time: do not delay the ACKs for the first three segments
PVTCP evaluation: throughput
TCP’s dilemma: pseudo-congestion & real congestion
PVTCP-1ms
TCP-200ms
TCP-1ms
Experimental setup:
20 sender VMs  1 receiver VM

RTOmin

PVTCP avoids throughput collapse in the whole range
PVTCP evaluation: CPU overhead

Sender VM

Receiver VM

Sender VM

Receiver VM

Enable delayed ACK:
PVTCP (RTOmin=1ms) ≈ TCP (RTOmin=200ms)
PVTCP evaluation: CPU overhead

Sender VM

Receiver VM

Spurious RTOs are avoided

Sender VM

Receiver VM

Temporarily disable delayed
ACK to help the sender
detect spurious RTOs

RTOmin

TCP-200ms

TCP-1ms

PVTCP-1ms

RTOmin

TCP-200ms

TCP-1ms

PVTCP-1ms

Total ACKs

192,587

244,757

192,863

Total ACKs

194,384

262,274

208,688

+0%

+7.4%
One concern
The buffer of the netback
Sender
VM
VM 3
WAIT

VM 2
WAIT

VM 1
RUN

VM 1
WAIT

VM 3
WAIT

VM 2
RUN

VM 2
WAIT

VM 1
WAIT

VM 3
RUN

VM 3
WAIT

VM 2
WAIT

VM 1
RUN

VM scheduling queue

Driver
domain

Receiver
VM

Data packets,
waiting for ACK

wait

ACKing

buffer

Within
hypervisor

Driver
domain

Data packets, waiting for ACK

wait

RTO
happens!

Sender
VM

Hypervisor
scheduling delay

The buffer
size matters!

deliver
Physical
network

The scheduling delays to the sender VM

Receiver
VM
VM 1
ACKing RUN

VM2
WAIT

VM 3
WAIT

VM 2
RUN

VM 3
WAIT

VM 1
WAIT

VM 3
RUN

VM 1
WAIT

VM 2
WAIT

ACKing VM 1

VM 2
WAIT

VM 3
WAIT

buffer

Hypervisor
scheduling delay
RTO
happens!

deliver

RUN

Physical
network

Within
hypervisor

VM scheduling queue

The scheduling delays to the receiver VM

 The vif’s buffer: temporarily store incoming packets

when the VM has been preempted.

– ifconfig vifX.Y txqueuelen [value]

 The default value is too small  intensive packet loss
– #define XENVIF_QUEUE_LENGTH 32
 This parameter should be set bigger (> 10,000 perhaps..)
Summary
Problem: VM scheduling delays cause spurious RTOs.
 Sender-side problem
 Receiver-side problem
– There are OS reasons

– Networking problem

 Proposed Solution: a ParaVirtualized TCP (PVTCP)
– Provide a method to detect a VM’s wakeup moment
 Sender-side problem
– Spurious RTOs can be
avoided.
– Slightly extends the
retransmit timer’s expiry
time after the sender
VM wakes up.

 Receiver-side problem
– Spurious RTOs can be
detected.
– Temporarily disable
delayed ACK after the
receiver VM wakes up.
– Just-in-time

 Future Work: your inputs ..
Thanks for your listening
Comments & Questions

Email: lwcheng@cs.hku.hk
URL: http://www.cs.hku.hk/~lwcheng

More Related Content

What's hot

TCP Congestion Control By Owais Jara
TCP Congestion Control By Owais JaraTCP Congestion Control By Owais Jara
TCP Congestion Control By Owais JaraOwaîs Járå
 
Congestion Control in Computer Networks - ATM and TCP
Congestion Control in Computer Networks - ATM and TCPCongestion Control in Computer Networks - ATM and TCP
Congestion Control in Computer Networks - ATM and TCPAttila Balazs
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)NYversity
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Computer network (5)
Computer network (5)Computer network (5)
Computer network (5)NYversity
 
Investigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion ControlInvestigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion ControlMichele Weigle
 
Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshopKae Hsu
 
Troubleshooting TCP/IP
Troubleshooting TCP/IPTroubleshooting TCP/IP
Troubleshooting TCP/IPvijai s
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion AvoidanceRam Dutt Shukla
 
Congestion control
Congestion controlCongestion control
Congestion controlAbhay Pai
 
TCP Traffic Control Chapter12
TCP Traffic Control Chapter12TCP Traffic Control Chapter12
TCP Traffic Control Chapter12daniel ayalew
 
Link-Level Flow and Error Control Chapter11
Link-Level Flow and Error Control Chapter11Link-Level Flow and Error Control Chapter11
Link-Level Flow and Error Control Chapter11daniel ayalew
 
features of tcp important for the web
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the webrinnocente
 

What's hot (20)

Congestion control avoidance
Congestion control avoidanceCongestion control avoidance
Congestion control avoidance
 
TCP Congestion Control
TCP Congestion ControlTCP Congestion Control
TCP Congestion Control
 
TCP Congestion Control By Owais Jara
TCP Congestion Control By Owais JaraTCP Congestion Control By Owais Jara
TCP Congestion Control By Owais Jara
 
Congestion Control in Computer Networks - ATM and TCP
Congestion Control in Computer Networks - ATM and TCPCongestion Control in Computer Networks - ATM and TCP
Congestion Control in Computer Networks - ATM and TCP
 
Tcp congestion avoidance
Tcp congestion avoidanceTcp congestion avoidance
Tcp congestion avoidance
 
Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
Analysis of TCP variants
Analysis of TCP variantsAnalysis of TCP variants
Analysis of TCP variants
 
Computer network (5)
Computer network (5)Computer network (5)
Computer network (5)
 
Lect9 (1)
Lect9 (1)Lect9 (1)
Lect9 (1)
 
DCTcp
DCTcpDCTcp
DCTcp
 
Investigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion ControlInvestigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion Control
 
Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshop
 
Troubleshooting TCP/IP
Troubleshooting TCP/IPTroubleshooting TCP/IP
Troubleshooting TCP/IP
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion Avoidance
 
Congestion control
Congestion controlCongestion control
Congestion control
 
TCP Traffic Control Chapter12
TCP Traffic Control Chapter12TCP Traffic Control Chapter12
TCP Traffic Control Chapter12
 
Link-Level Flow and Error Control Chapter11
Link-Level Flow and Error Control Chapter11Link-Level Flow and Error Control Chapter11
Link-Level Flow and Error Control Chapter11
 
features of tcp important for the web
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the web
 
Virtual net performance
Virtual net performanceVirtual net performance
Virtual net performance
 

Viewers also liked

Cobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentCobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentAbhishek Singh
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsThe Linux Foundation
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...The Linux Foundation
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...The Linux Foundation
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEThe Linux Foundation
 
Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenThe Linux Foundation
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...The Linux Foundation
 
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...The Linux Foundation
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, CitrixThe Linux Foundation
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMThe Linux Foundation
 
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...The Linux Foundation
 
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...The Linux Foundation
 
LF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and FuturesLF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and FuturesThe Linux Foundation
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMThe Linux Foundation
 
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...The Linux Foundation
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondThe Linux Foundation
 
10 Sincere Ways To Show Your Employees Love
10 Sincere Ways To Show Your Employees Love10 Sincere Ways To Show Your Employees Love
10 Sincere Ways To Show Your Employees LoveOfficevibe
 

Viewers also liked (20)

Xen summit amd_2010v3
Xen summit amd_2010v3Xen summit amd_2010v3
Xen summit amd_2010v3
 
Cobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM DeploymentCobbler Summit - Automated Xen VM Deployment
Cobbler Summit - Automated Xen VM Deployment
 
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium LabsXPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
XPDS16: Making Migration More Secure - John Shackleton, Adventium Labs
 
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
XPDS16: Xen Orchestra: building a Cloud on top of Xen - Olivier Lambert & Jul...
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
 
XPDS16: Xen Development Update
XPDS16: Xen Development UpdateXPDS16: Xen Development Update
XPDS16: Xen Development Update
 
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSEXPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
XPDS16: libvirt and Tools: What's New and What's Next - James Fehlig, SUSE
 
Fosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for XenFosdem 17 - Towards a HVM-like Dom0 for Xen
Fosdem 17 - Towards a HVM-like Dom0 for Xen
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...XPDS16:  Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
XPDS16: Scope and Performance of Credit-2 Scheduler. - Anshul Makkar, Ctirix...
 
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
XPDS16:  CPUID handling for guests - Andrew Cooper, CitrixXPDS16:  CPUID handling for guests - Andrew Cooper, Citrix
XPDS16: CPUID handling for guests - Andrew Cooper, Citrix
 
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARMXPDS16: Keeping coherency on ARM - Julien Grall, ARM
XPDS16: Keeping coherency on ARM - Julien Grall, ARM
 
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
XPDS16: High-Performance Virtualization for HPC Cloud on Xen - Jun Nakajima &...
 
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...XPDS16:  Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
XPDS16: Hypervisor-based Security: Vicarious Learning via Introspektioneerin...
 
LF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and FuturesLF Collaboration Summit: Xen Project 4 4 Features and Futures
LF Collaboration Summit: Xen Project 4 4 Features and Futures
 
Performance Tuning Xen
Performance Tuning XenPerformance Tuning Xen
Performance Tuning Xen
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 
10 Sincere Ways To Show Your Employees Love
10 Sincere Ways To Show Your Employees Love10 Sincere Ways To Show Your Employees Love
10 Sincere Ways To Show Your Employees Love
 

Similar to XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng, Student, University of Hong Kong

Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Chandra Meena
 
Mobile transport layer
 Mobile transport layer Mobile transport layer
Mobile transport layerSonaliAjankar
 
6TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 20156TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 2015Pascal Thubert
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Controlsoohyunc
 
UNIT II tramission control
UNIT II tramission controlUNIT II tramission control
UNIT II tramission controlsangusajjan
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot LayerMaulik Patel
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OpenvSwitch
 
Congestion_Control09.ppt
Congestion_Control09.pptCongestion_Control09.ppt
Congestion_Control09.ppttahaniali27
 
Computer network (11)
Computer network (11)Computer network (11)
Computer network (11)NYversity
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet CountAmazon Web Services
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsGerardo Pardo-Castellote
 
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...IEEEGLOBALSOFTSTUDENTPROJECTS
 
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...IEEEFINALSEMSTUDENTSPROJECTS
 
LF_OVS_17_Ingress Scheduling
LF_OVS_17_Ingress SchedulingLF_OVS_17_Ingress Scheduling
LF_OVS_17_Ingress SchedulingLF_OpenvSwitch
 
What every Java developer should know about network?
What every Java developer should know about network?What every Java developer should know about network?
What every Java developer should know about network?aragozin
 
Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)RealTime-at-Work (RTaW)
 

Similar to XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng, Student, University of Hong Kong (20)

Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
Mobile transport layer
 Mobile transport layer Mobile transport layer
Mobile transport layer
 
NE #1.pptx
NE #1.pptxNE #1.pptx
NE #1.pptx
 
TCP_Congestion_Control.ppt
TCP_Congestion_Control.pptTCP_Congestion_Control.ppt
TCP_Congestion_Control.ppt
 
6TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 20156TiSCH @Telecom Bretagne 2015
6TiSCH @Telecom Bretagne 2015
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Control
 
UNIT II tramission control
UNIT II tramission controlUNIT II tramission control
UNIT II tramission control
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
Lecture 13
Lecture 13Lecture 13
Lecture 13
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Congestion_Control09.ppt
Congestion_Control09.pptCongestion_Control09.ppt
Congestion_Control09.ppt
 
Computer network (11)
Computer network (11)Computer network (11)
Computer network (11)
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time Communications
 
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
IEEE 2014 JAVA NETWORKING PROJECTS Receiver based flow control for networks i...
 
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
2014 IEEE JAVA NETWORKING PROJECT Receiver based flow control for networks in...
 
LF_OVS_17_Ingress Scheduling
LF_OVS_17_Ingress SchedulingLF_OVS_17_Ingress Scheduling
LF_OVS_17_Ingress Scheduling
 
What every Java developer should know about network?
What every Java developer should know about network?What every Java developer should know about network?
What every Java developer should know about network?
 
Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)Pushing the limits of Controller Area Network (CAN)
Pushing the limits of Controller Area Network (CAN)
 

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Recently uploaded

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

XPDS13: On Paravirualizing TCP - Congestion Control on Xen VMs - Luwei Cheng, Student, University of Hong Kong

  • 1. On ParaVirualizing TCP: Congestion Control in Xen Virtual Machines Luwei Cheng, Cho-Li Wang, Francis C.M. Lau Department of Computer Science The University of Hong Kong Xen Project Developer Summit 2013 Edinburgh, UK, October 24-25, 2013
  • 2. Outline  Motivation – Physical datacenter vs. Virtualized datacenter – Incast congestion  Understand the Problem – Pseudo-congestion – Sender-side vs. Receiver-side  PVTCP – A ParaVirtualized TCP – Design, Implementation, Evaluation  Questions & Comments
  • 3. Outline  Motivation – Physical datacenter vs. Virtualized datacenter – Incast congestion  Understand the Problem – Pseudo-congestion – Sender-side vs. Receiver-side  PVTCP – A ParaVirtualized TCP – Design, Implementation, Evaluation  Questions & Comments
  • 4. Physical datacenter Virtualized datacenter Core switch Core switch ToR switches … ToR switches ... … … Servers in a rack … ... … … Servers in a rack VM VM VM VM VM VM  A set of physical machines  A set of virtual machines  Network delays:  Network delays: propagation delays of the physical network/switch additional delays due to virtualization overhead
  • 5. Virtualization brings “delays” VM VM VM VM delay VM VM Hypervisor pCPU pCPU  1. I/O virtualization overhead (PV or HVM) – Guest VMs are unable to directly access the hardware. – Additional data movement between dom0 and domUs. – HVM: Passthrough I/O can avoid it  2. VM scheduling delays – Multiple VMs share one physical core
  • 6. Virtualization brings “delays” Avg: 0.147ms Avg: 0.374ms [PM  PM] [1VM  1VM]  Delays of I/O virtualization (PV guests): < 1ms Peak: 30ms Peak: 60ms [1VM  2VMs]  VM scheduling delays: 10× ms – Queuing delays  VM scheduling delays  The dominant factor to network RTT [1VM  3VMs]
  • 7. Network delays in public clouds [INFOCOM’10] [HPDC’10]
  • 8. Incast network congestion • A special form of network congestion, typically seen in distributed processing applications (scatter-gather). – Barrier-synchronized request workloads – The limited buffer space of the switch output port can be easily overfilled by simultaneous transmissions. • Application-level throughput (goodput) can be orders of magnitude lower than the link capacity. [SIGCOMM’09]
  • 9. Solutions for physical clusters  Prior works: none of them can fully eliminate the throughput collapse. – – – – – – Increase switch buffer size Limited transmit Reduce duplicate ACK threshold Disable slow-start Randomize timeout value Reno, NewReno, SACK  The dominate factor: once the packet loss happens, whether the sender can know it as soon as possible. – In case of “tail loss”, the sender can only count on the retransmit timer’s firing. Two representative papers:  Measurement and Analysis of TCP Throughput Collapse in Cluster-based Storage Systems [FAST’08].  Understanding TCP Incast Throughput Collapse in Datacenter Networks [WREN’09].
  • 10. Solutions for physical clusters (cont’d)  Significantly reducing RTOmin has been shown to be a safe and effective approach. [SIGCOMM’09]  Even with ECN support in hardware switch, a small RTOmin still shows apparent advantages. [DCTCP, SIGCOMM’10] [SIGCOMM’09] [DCTCP, SIGCOMM’10] RTOmin in a virtual cluster? Not well studied.
  • 11. Outline  Motivation – Physical datacenter vs. Virtualized datacenter – Incast congestion  Understand the Problem – Pseudo-congestion – Sender-side vs. Receiver-side  PVTCP – A ParaVirtualized TCP – Design, Implementation, Evaluation  Questions & Comments
  • 12. Pseudo-congestion NO network congestion, still RTT spikes. Red points: measured RTTs 30ms 30ms VM 30ms VM Blue points: calculated RTO values VM RTOmin=200ms RTOmin=100ms pCPU TCP’s low-pass filter RTO = SRTT + 4* RTTVAR Lower-bound: RTOmin 3VMs per core Retransmit TimeOut RTOmin=10ms RTOmin=1ms A small RTOmin  frequent spurious RTOs
  • 13. Pseudo-congestion (cont’d) A small RTOmin: serious spurious RTOs with largely varied RTTs. A big RTOmin: throughput collapse with heavy network congestion.  “adjusting RTOmin: a tradeoff between timely response with premature timeouts, and there is NO optimal balance between the two.” -- Allman and Paxson [SIGCOMM’99] Virtualized datacenters  A new instantiation
  • 14. Sender-side vs. Receiver-side The scheduling delays to the sender VM The scheduling delays to the receiver VM To transmit 4000 1MB data blocks 3VMs1VM 1086 0 0 0 Freq. 1× RTOs 2× RTOs 3× RTOs 4× RTOs RTO only happens once a time 1VM3VMs 677 673 196 30 Successive RTOs are normal
  • 15. A micro-view with tcpdump 9.1 snd.una: the first sent but unacknowledged byte. x106 snd.nxt 9 snd.una 8.9 RTO happens twice, before the receiver VM wakes up. The sender VM has been stopped. 8.8 8.7 snd.nxt: the next byte that will be sent. The receiver VM has been stopped. An ACK arrives before the sender VM wakes up. snd.nxt 8.6 snd.una 8.5 RTO happens just after the sender VM wakes up. 8.4 0 10 20 30 40 50 60 70 Time (ms) vs. sequence number (from the sender VM) When the sender VM is preempted  The ACK’s arrival time is not 80 0 10 20 30 40 50 60 70 80 Time (ms) vs. ACK number (from the receiver VM) When the receiver VM is preempted  The generation and the delayed, but the receiving return of the ACKs will be time is too late. delayed.  From TCP’s perspective, RTO  RTOs must happen on the should not be triggered. sender’s side.
  • 16. The sender-side problem: OS reasons ACK ACK TCP receiver ACK Physical network VM scheduling latency wait .. Within hypervisor data data clear timer Timer Buffer data clear timer Timer 2 Network IRQ: receive ACK; Spurious RTO! 1 Timer IRQ: RTO happens! Expire time Timer deliver ACK VM1 is running VM3 is running VM1 is running VM2 is waiting VM3 is waiting VM1 is waiting VM1 is waiting VM2 is waiting TCP sender VM2 is waiting VM3 is waiting Scheduling queue VM2 is running Driver domain VM3 is waiting  After the VM wakes up, both TIMER and NET are pending.  RTO happens just before the ACK enters the VM  The reasons due to common OS design – Timer interrupt is executed before other interrupts – Network processing is a little late (bottom half)
  • 17. To detect spurious RTOs  Two well-known detection algorithms: F-RTO and Eifel – Eifel performs much worse than F-RTO in some situations, e.g. with bursty packet loss [CCR’03] – F-RTO is implemented in Linux [3VMs1VM] Low detection rate c [1VM3VMs] Low detection rate  F-RTO interacts badly with delayed ACK (ACK coalescing) – Reducing delayed ACK timeout value does NOT help. Disabling delayed ACK seems to be helpful
  • 18. Delayed ACK vs. CPU overhead Sender VM Receiver VM Sender VM Receiver VM Disabling delayed ACK  Significant CPU overhead
  • 19. Delayed ACK vs. CPU overhead delack-200ms delack-1ms w/o delack Total ACKs 229,650 244,757 2,832,260 delack-200ms delack-1ms w/o delack Total ACKs 252,278 262,274 2,832,179 Sender delayed VM Disabling VM ReceiverACK: 11~13×Sender VM ACKs are sent more Receiver VM Disabling delayed ACK  Significant CPU overhead
  • 20. Outline  Motivation – Physical datacenter vs. Virtualized datacenter – Incast congestion  Understand the Problem – Pseudo-congestion – Sender-side vs. Receiver-side  PVTCP – A ParaVirtualized TCP – Design, Implementation, Evaluation  Questions & Comments
  • 21. PVTCP – A ParaVirtualized TCP  Observation – Spurious RTOs only happen when the sender/receiver VM just experienced a scheduling delays.  Main Idea – If we can detect such moment, and let the guest OS be aware of this, there is a chance to handle the problem. “the more information about current network conditions available to a transport protocol, the more efficiently it can use the network to transfer its data.” -- Allman and Paxson [SIGCOMM’99]
  • 22. Detect the VM’s wakeup moment VM 30ms VM 30ms VM pCPU 3VMs per core Guest OS (HZ=1000) jiffies++ jiffies++ jiffies++ jiffies++ jiffies++ 30ms VM is NOT running jiffies += 60 VM is running jiffies++ jiffies++ jiffies++ jiffies++ jiffies++ VM is running ... Virtual timer IRQs (every 1ms) Hypervisor Time Virtual timer IRQs (every 1ms) one-shot timer Acute increase of the system clock (jiffies)  The VM just wakes up
  • 23. PVTCP – the sender VM is preempted  Spurious RTOs can be avoided. No need to detect them at all! ACK ACK ACK Physical network wait .. Within hypervisor data data clear timer Timer Timer VM scheduling latency Timer TCP Start time VM2 is running Network IRQ: receive ACK; Spurious RTO! 1 Expire time VM1 is running deliver ACK 2 Buffer data clear timer TCP receiver Timer IRQ: RTO happens! VM3 is running VM1 is running Timer Expiry time Driver domain TCP sender
  • 24. PVTCP – the sender VM is preempted  Spurious RTOs can be avoided. No need to detect them at all!  Solution: after the VM wakes up, extend the TCP retransmit timer’s expiry time by 1ms. ACK ACK ACK Physical network wait .. Within hypervisor data data clear timer Timer Timer VM scheduling latency deliver ACK Driver domain Buffer data clear timer TCP receiver Net IRQ first: ACK enters. Expire time Reset the timer. Timer VM1 is running TCP PVTCP Start time VM2 is running VM3 is running VM1 is running Timer Timer 1ms Expiry time TCP sender
  • 25. PVTCP – the sender VM is preempted ACK ACK ACK Physical network wait .. Within hypervisor data data clear timer Timer Timer VM1 is running PVTCP VM scheduling latency deliver ACK Driver domain Buffer data clear timer TCP receiver Net IRQ first: ACK enters. Expire time Reset the timer. Timer VM2 is running StartTime VM3 is running VM1 is running Timer ExpiryTime 1ms Measured RTT (MRTT) = TrueRTT + VMSchedDelay TCP’s low-pass filter to estimate RTT/RTO Smoothed RTT (SRTTi)  7/8 * SRTTi-1 +1/8 * MRTTi RTT variance (RTTVARi)  3/4 * RTTVARi -1+ 1/4 * |SRTTi - MRTTi| Expected RTO value (RTOi+1)  SRTTi + 4 * RTTVARi Solution: MRTTi  SRTTi-1 TCP sender
  • 26. PVTCP – the receiver VM is preempted Spurious RTOs cannot be avoided, so we have to let the sender detect them.  Detection algorithms requires deterministic return of future ACKs from the receiver – Enable delayed ACK  retransmission ambiguity – Disable delayed ACK  significant CPU overhead  Solution: temporarily disable delayed ACK when the receiver VM just wakes up. – Eifel: check the timestamp of the first one ACK – F-RTO: check the ACK number of the first two ACKs – Just-in-time: do not delay the ACKs for the first three segments
  • 27. PVTCP evaluation: throughput TCP’s dilemma: pseudo-congestion & real congestion PVTCP-1ms TCP-200ms TCP-1ms Experimental setup: 20 sender VMs  1 receiver VM RTOmin PVTCP avoids throughput collapse in the whole range
  • 28. PVTCP evaluation: CPU overhead Sender VM Receiver VM Sender VM Receiver VM Enable delayed ACK: PVTCP (RTOmin=1ms) ≈ TCP (RTOmin=200ms)
  • 29. PVTCP evaluation: CPU overhead Sender VM Receiver VM Spurious RTOs are avoided Sender VM Receiver VM Temporarily disable delayed ACK to help the sender detect spurious RTOs RTOmin TCP-200ms TCP-1ms PVTCP-1ms RTOmin TCP-200ms TCP-1ms PVTCP-1ms Total ACKs 192,587 244,757 192,863 Total ACKs 194,384 262,274 208,688 +0% +7.4%
  • 31. The buffer of the netback Sender VM VM 3 WAIT VM 2 WAIT VM 1 RUN VM 1 WAIT VM 3 WAIT VM 2 RUN VM 2 WAIT VM 1 WAIT VM 3 RUN VM 3 WAIT VM 2 WAIT VM 1 RUN VM scheduling queue Driver domain Receiver VM Data packets, waiting for ACK wait ACKing buffer Within hypervisor Driver domain Data packets, waiting for ACK wait RTO happens! Sender VM Hypervisor scheduling delay The buffer size matters! deliver Physical network The scheduling delays to the sender VM Receiver VM VM 1 ACKing RUN VM2 WAIT VM 3 WAIT VM 2 RUN VM 3 WAIT VM 1 WAIT VM 3 RUN VM 1 WAIT VM 2 WAIT ACKing VM 1 VM 2 WAIT VM 3 WAIT buffer Hypervisor scheduling delay RTO happens! deliver RUN Physical network Within hypervisor VM scheduling queue The scheduling delays to the receiver VM  The vif’s buffer: temporarily store incoming packets when the VM has been preempted. – ifconfig vifX.Y txqueuelen [value]  The default value is too small  intensive packet loss – #define XENVIF_QUEUE_LENGTH 32  This parameter should be set bigger (> 10,000 perhaps..)
  • 32. Summary Problem: VM scheduling delays cause spurious RTOs.  Sender-side problem  Receiver-side problem – There are OS reasons – Networking problem  Proposed Solution: a ParaVirtualized TCP (PVTCP) – Provide a method to detect a VM’s wakeup moment  Sender-side problem – Spurious RTOs can be avoided. – Slightly extends the retransmit timer’s expiry time after the sender VM wakes up.  Receiver-side problem – Spurious RTOs can be detected. – Temporarily disable delayed ACK after the receiver VM wakes up. – Just-in-time  Future Work: your inputs ..
  • 33. Thanks for your listening Comments & Questions Email: lwcheng@cs.hku.hk URL: http://www.cs.hku.hk/~lwcheng