WPI TCP CUBIC in ns-3 CS577 Brett Levasseur

WPI TCP CUBIC in ns-3 CS577 Brett Levasseur

WPI TCP CUBIC in ns-3 CS577 Brett Levasseur 12/10/2013 Outline WPI Introduction CUBIC CUBIC in Linux ns-3 Implementation Results

Conclusions 12/10/2013 2 Introduction WPI TCP grows cwnd too slowly for large bandwidth connections New TCP Variant needed 10Gbps 120,000,000 Almost 1.4 hours to take up possible cwnd 100,000,000 Bytes

80,000,000 60,000,000 cwnd 40,000,000 20,000,000 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4

1.6 1,250 byte packets ssthresh ~ 8000 bytes 100ms RTT Hours 12/10/2013 3 CUBIC WPI BIC was first attempt CUBIC simplified and improved upon BIC Grow cwnd slower around loss events 12/10/2013

4 CUBIC Basics WPI cwnd growth Packet loss C CUBIC parameter t Elapsed time from the last window reduction K Time period to increase W to Wmax W Current cwnd

Wmax 12/10/2013 cwnd at last window reduction Window decrease constant 5 CUBIC Basics WPI 300 Wmax 250 200 150 100

50 W(t=0) 0 0 2 4 6 8 10 12 14 At loss event set Wmax, reduce cwnd by and calculate K

12/10/2013 6 CUBIC Basics WPI K 300 W(t=K) 250 W(t=2) 200 150 W(t=1) 100

50 0 0 2 4 6 8 10 12 14 16 18 20

cwnd grows back to K when t = K 12/10/2013 7 CUBIC in Linux WPI Not implemented as in the CUBIC paper cwnd grows in increments of segment sizes Custom method for calculating cube roots Checks for error conditions Unit scaling 12/10/2013

8 Growing cwnd WPI 1.2 Linux only grows cwnd by full segments CUBIC can grow cwnd less than full segment Same impact by increasing amount of time between updates 12/10/2013 1 0.8 0.6 0.4

0.2 0 0 1 2 3 4 5 0 0 1 0.25 0

0 2 0.5 4 1 3 0.75 4 1 9 Scaling in CUBIC WPI

Most scaling is related to time Variable t measured with TCP timestamps Timestamps use clock cycles to increment Units are called jiffies in the Linux Kernel Number of milliseconds in a jiffy depends on the CPUs clock Scaling required to get time units correct 12/10/2013 10 ns-3 Implementation WPI Object oriented design Generic TCP defined TCP variants are extended from base TCP headers and buffers

provided Added TcpCubic object tcp-cubic.cc tcp-cubic.h 12/10/2013 11 ns-3 Methods WPI NewAck called for every new ACK received Normal cwnd updates in slow start CUBIC updates otherwise DupAck called for every duplicate ACK received Normal operation when < 3 duplicates For 3 duplicate ACKs reduce cwnd 12/10/2013

12 CUBIC Methods WPI CubicRoot Find the cubic root of a number Based on Linux Kernel implementation CubicUpdate Calculate the cwnd target for CUBIC CubicTcpFriendliness Change the cwnd target for TCP Friendliness CubicReset Reset CUBIC parameters 12/10/2013 13 CUBIC Flow NewAck CubicUpdate

If outside slow start CubicRoot WPI CubicTcp Friendliness Set K for loss event Check TCP Friendliness Recommended cwnd growth 12/10/2013 14 Issues WPI

ns-3 does not have TCP timestamps Simulation clock used instead Requires adjustments to calculating t due to different units Could remove the use of jiffy code but much of the Linux implementation relies on scaling factors based on the system clock 12/10/2013 15 Results WPI Compare to real world CUBIC example Examine simulation results Verify cwnd reduction Verify cwnd growth in relation to Wmax Compare simulated CUBIC to simulated

NewReno 12/10/2013 16 Simulation Scenario WPI Simple sender and sink topology Packet sizes 536 bytes Transmission rate 1Mbps Delay 40ms Error rate Causes lost packets at the receiver 12/10/2013 17

Measurements WPI Measurement and simulation have similar CUBIC curve Number of segments similar 12/10/2013 18 Packet Loss WPI Before loss cwnd = 216 After loss cwnd = 172 = 819 BICTCP_BETA_SCALE = 1024

12/10/2013 19 CUBIC Growth WPI convex concave & convex concave Before and after additional scaling of t More work is needed for using simulator clock with t 12/10/2013 20 NewReno Comparison

WPI Same simulation run with CUBIC and NewReno Both increment the same under slow start CUBIC grows cwnd faster CUBIC handles packet loss better than NewReno 12/10/2013 21 Conclusions WPI Created a CUBIC implementation in ns-3 Similar cwnd growth to actual CUBIC

measurements Current version outperforms NewReno Scaling adjustments required 12/10/2013 22 Questions 12/10/2013 WPI 23

Recently Viewed Presentations

  • What is a scale factor and how do

    What is a scale factor and how do

    Scale factor of small to large =23 =46 Scale factor of large to small =64 = 32 Core Lesson. The Scale Factor is the ratio of the lengths of corresponding sides in similar figures. Consider these two similar parallelograms. Since...
  • Chilean Exports Fresh fruit leads Chile's export mix

    Chilean Exports Fresh fruit leads Chile's export mix

    Chilean Exports. Fresh fruit leads Chile's export mix - Chile emerges as major supplier of fresh fruit to world market due to ample natural resources, consumer demand for fresh fruit during winter season in U.S. and Europe, and incentives in...
  • Nervous System Taylor, Kyra, Ryan, and Brennan Function

    Nervous System Taylor, Kyra, Ryan, and Brennan Function

    Taylor, Kyra, Ryan, and Brennan. Nervous System . Function of Central and Peripheral Systems. integrating sensory information and responding accordingly. The spinal cord serves as a conduit for signals between the brain and the rest of the body.
  • AP Literature and Composition Mr. Houghteling September 18, 2009

    AP Literature and Composition Mr. Houghteling September 18, 2009

    - page 53 - the corporal's boots - page 61 - crying - page 67 - "I" - page 73 - "mustard gas and roses" - page 75 - Hitler, Adam and Eve More important text to examine: page 86...
  • Chapter 13: Management of Common Illnesses, Disease, and ...

    Chapter 13: Management of Common Illnesses, Disease, and ...

    Chapter 13: Management of Common Illnesses, Disease, and Health Conditions: CV and Resp. Bonnie M. Wivell, MS, RN, CNS Stroke and TIAs: Warning Signs Sudden numbness or weakness of face, arm, or leg, especially on one side of the body...
  • BIDDING PROCEDURES FOR THE PROCUREMENT OF GOODS Procurement

    BIDDING PROCEDURES FOR THE PROCUREMENT OF GOODS Procurement

    A general statement on the criteria to be used for eligibility check, evaluation of bids, and post-qualification; ... that it has a bona fide subscription list of paying subscribers, and that it is published at regular intervals. ... §22.5.2 RA...
  • Atomic Mass

    Atomic Mass

    - mass of an atom in atomic mass units (amu) - atoms have very little mass - equal to 1/12th of the mass of carbon - often an average mass - weighted mass. AMU or the Dalton (Da) - equal...
  • NEW FINANCIAL MODELS IN SCHOOLS Schools across the

    NEW FINANCIAL MODELS IN SCHOOLS Schools across the

    Tyler Koteskey, "Are Microschools the Next Big Thing?" Reaso. n ... In exchange for a one-time startup fee of $15,000 and 3% of annual revenues to invest in curriculum development, Acton Academy offers the following to potential affiliate schools: ......