Presentation is loading. Please wait.

Presentation is loading. Please wait.

Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell.

Similar presentations


Presentation on theme: "Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell."— Presentation transcript:

1 Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell University USENIX NSDI 2005

2 Outline Introduction Stateless Transport Protocol  About “Continuation”  Abstraction of Trickle  Trickles’s congestion control Server API Client processing Evaluation

3 Introduction A new network protocol stack which system state can be kept entirely on one side of a connection.

4 Stateless Network Protocol Continuation:  Transport continuation For shipping Kernel-level state (TCP control block,TCB): Packet number, RTT, ssthresh …  User continuation For supportting stateless user-level server applications.

5 Trickle abstraction  Packets are decomposed into disjoint trickles.  One packet is exactly a member of one trickle.  Each line pattern corresponds to a trickle.

6 3 actions when receiving a request packet :  Continuing Trickles permits the srver application to send response.  Terminate Trickles stops sending one response when packet loss.  Split Trickles starts one new response to trigger a new trickle.  Using SACK.

7 Congestion control of Trickles Request number ‘k’  Trickles associates each request packet arrived with a request number ‘ k ’.  new Cwnd = TCPCwnd (K)  Trickle updated when each packet ‘k’ received: TrickleUpdate = TCPCwnd(k) – TCPCwnd(k-1) Generate ‘ TrickleUpdate + 1 ‘ responses.

8 Slow start and congestion avoidance

9 Fast retransmit / recovery  First packet ‘k’ after losses, retransmitting the lost packets.  If cwndAtLoss – lossoffset < newCwnd Continue the trickle.  For fast recovery : ssthresh = startCwnd = newCwnd firstLoss = number of first loss cwndAtLoss = TCPCwnd (firstloss-1) newCwnd = numInFlight / 2

10

11 Retransmit timeout  ssthresh = TCPCwnd ( firstloss -1) / 2  newCwnd = InitialCwnd

12 Server API an ‘event’ queue  Every response generated to client, a event passed to the application.  An event includes data of a request that needed for application.  Minisocket Each minisocket is associated with one client. Created and destroyed with one event. For optimizations, minisockets caching is used.

13 Client processing A Trickles client stack implements a Berkeley sockets interface using Trickles transport protocol.  Input continuations: To help server application to resume accepting client input.  Output continuations: To help server application to resume generate output to the client.

14 Evaluation Trickles protocol stack is implemented in Linux 2.4.26. Environment  Gigabit Ethernet  P4 1.7G  512 Mb RAM  Intel e1000 gigabit NIC

15 Throughput  Point to point topology, server 100 Mb/sec bottleneck link.

16 Memory utilization

17 CPU utilization

18 Failover : disconnection occurs at t = 10.

19 Conclusion Stateless side has good performance with small memory usage. Trickles’s scalability is good. Transparent connection migration. Trickles is backward compatible with TCP.


Download ppt "Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell."

Similar presentations


Ads by Google