| < draft-irtf-iccrg-tcpeval-00.txt | draft-irtf-iccrg-tcpeval-01.txt > | |||
|---|---|---|---|---|
| Network Working Group D. Hayes | Network Working Group D. Hayes | |||
| Internet-Draft University of Oslo | Internet-Draft University of Oslo | |||
| Intended status: Informational D. Ros | Intended status: Informational D. Ros | |||
| Expires: January 4, 2015 Telecom Bretagne | Expires: January 5, 2015 Simula Research Laboratory | |||
| L.L.H. Andrew | L. Andrew | |||
| CAIA Swinburne University of Technology | Monash University | |||
| S. Floyd | S. Floyd | |||
| ICSI | ICSI | |||
| July 3, 2014 | July 4, 2014 | |||
| Common TCP Evaluation Suite | Common TCP Evaluation Suite | |||
| draft-irtf-iccrg-tcpeval-00 | draft-irtf-iccrg-tcpeval-01 | |||
| Abstract | Abstract | |||
| This document presents an evaluation test suite for the initial assess- | This document presents an evaluation test suite for the initial | |||
| ment of proposed TCP modifications. The goal of the test suite is to | assessment of proposed TCP modifications. The goal of the test suite | |||
| allow researchers to quickly and easily evaluate their proposed TCP | is to allow researchers to quickly and easily evaluate their proposed | |||
| extensions in simulators and testbeds using a common set of well- | TCP extensions in simulators and testbeds using a common set of well- | |||
| defined, standard test cases, in order to compare and contrast proposals | defined, standard test cases, in order to compare and contrast | |||
| against standard TCP as well as other proposed modifications. This test | proposals against standard TCP as well as other proposed | |||
| suite is not intended to result in an exhaustive evaluation of a pro- | modifications. This test suite is not intended to result in an | |||
| posed TCP modification or new congestion control mechanism. Instead, the | exhaustive evaluation of a proposed TCP modification or new | |||
| focus is on quickly and easily generating an initial evaluation report | congestion control mechanism. Instead, the focus is on quickly and | |||
| that allows the networking community to understand and discuss the | easily generating an initial evaluation report that allows the | |||
| behavioral aspects of a new proposal, in order to guide further experi- | networking community to understand and discuss the behavioral aspects | |||
| mentation that will be needed to fully investigate the specific aspects | of a new proposal, in order to guide further experimentation that | |||
| of a new proposal. | will be needed to fully investigate the specific aspects of such | |||
| proposal. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 4, 2015. | This Internet-Draft will expire on January 5, 2015. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1 Introduction . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2 Traffic generation . . . . . . . . . . . . . . . . . . . 3 | 2. Traffic generation . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1 Desirable model characteristics . . . . . . . . . . . . . 4 | 2.1. Desirable model characteristics . . . . . . . . . . . . . 4 | |||
| 2.2 Tmix . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Tmix . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.2.1 Base Tmix trace files for tests . . . . . . . . . . . . . 5 | 2.2.1. Base Tmix trace files for tests . . . . . . . . . . . 5 | |||
| 2.3 Loads . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. Loads . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2.3.1 Varying the Tmix traffic load . . . . . . . . . . . . . . 5 | 2.3.1. Varying the Tmix traffic load . . . . . . . . . . . . 6 | |||
| 2.3.1.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3.2. Dealing with non-stationarity . . . . . . . . . . . . 7 | |||
| 2.3.2 Dealing with non-stationarity . . . . . . . . . . . . . . 6 | 2.4. Packet size distribution . . . . . . . . . . . . . . . . 7 | |||
| 2.3.2.1 Bin size . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.4.1. Potential revision . . . . . . . . . . . . . . . . . 8 | |||
| 2.3.2.2 NS2 implementation specifics . . . . . . . . . . . . . . 6 | 3. Achieving reliable results in minimum time . . . . . . . . . 8 | |||
| 2.4 Packet size distribution . . . . . . . . . . . . . . . . 6 | 3.1. Background . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 2.4.1 Potential revision . . . . . . . . . . . . . . . . . . . 7 | 3.2. Equilibrium or Steady State . . . . . . . . . . . . . . . 8 | |||
| 3 Achieving reliable results in minimum time . . . . . . . 7 | 3.2.1. Note on the offered load in NS2 . . . . . . . . . . . 9 | |||
| 3.1 Background . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.3. Accelerated test start up time . . . . . . . . . . . . . 9 | |||
| 3.2 Equilibrium or Steady State . . . . . . . . . . . . . . . 7 | 4. Basic scenarios . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.2.1 Note on the offered load in NS2 . . . . . . . . . . . . . 8 | 4.1. Basic topology . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.3 Accelerated test start up time . . . . . . . . . . . . . 8 | 4.2. Traffic . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4 Basic scenarios . . . . . . . . . . . . . . . . . . . . . 9 | 4.3. Flows under test . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.1 Basic topology . . . . . . . . . . . . . . . . . . . . . 9 | 4.4. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.2 Traffic . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4.4.1. Data Center . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.3 Flows under test . . . . . . . . . . . . . . . . . . . . 11 | 4.4.2. Access Link . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.4 Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.4.3. Trans-Oceanic Link . . . . . . . . . . . . . . . . . 14 | |||
| 4.4.1 Data Center . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.4.4. Geostationary Satellite . . . . . . . . . . . . . . . 14 | |||
| 4.4.1.1 Potential Revisions . . . . . . . . . . . . . . . . . . . 11 | 4.4.5. Wireless LAN . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.4.2 Access Link . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.4.6. Dial-up Link . . . . . . . . . . . . . . . . . . . . 17 | |||
| 4.4.2.1 Potential Revisions . . . . . . . . . . . . . . . . . . . 12 | 4.5. Metrics of interest . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.4.3 Trans-Oceanic Link . . . . . . . . . . . . . . . . . . . 12 | 4.6. Potential Revisions . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.4.4 Geostationary Satellite . . . . . . . . . . . . . . . . . 12 | 5. Latency specific experiments . . . . . . . . . . . . . . . . 19 | |||
| 4.4.5 Wireless LAN . . . . . . . . . . . . . . . . . . . . . . 13 | 5.1. Delay/throughput tradeoff as function of queue size . . . 19 | |||
| 4.4.5.1 NS2 implementation specifics . . . . . . . . . . . . . . 14 | 5.1.1. Topology . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4.4.5.2 Potential revisions . . . . . . . . . . . . . . . . . . . 15 | 5.1.2. Flows under test . . . . . . . . . . . . . . . . . . 20 | |||
| 4.4.6 Dial-up Link . . . . . . . . . . . . . . . . . . . . . . 15 | 5.1.3. Metrics of interest . . . . . . . . . . . . . . . . . 20 | |||
| 4.4.6.1 Note on parameters . . . . . . . . . . . . . . . . . . . 15 | 5.2. Ramp up time: completion time of one flow . . . . . . . . 20 | |||
| 4.4.6.2 Potential revisions . . . . . . . . . . . . . . . . . . . 16 | 5.2.1. Topology and background traffic . . . . . . . . . . . 20 | |||
| 4.5 Metrics of interest . . . . . . . . . . . . . . . . . . . 16 | 5.2.2. Flows under test . . . . . . . . . . . . . . . . . . 22 | |||
| 4.6 Potential Revisions . . . . . . . . . . . . . . . . . . . 17 | 5.2.3. Metrics of interest . . . . . . . . . . . . . . . . . 23 | |||
| 5 Latency specific experiments . . . . . . . . . . . . . . 17 | 5.3. Transients: release of bandwidth, arrival of many flows . 23 | |||
| 5.1 Delay/throughput tradeoff as function of queue size | 5.3.1. Topology and background traffic . . . . . . . . . . . 23 | |||
| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.3.2. Flows under test . . . . . . . . . . . . . . . . . . 24 | |||
| 5.1.1 Topology . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.3.3. Metrics of interest . . . . . . . . . . . . . . . . . 24 | |||
| 5.1.1.1 Potential revisions . . . . . . . . . . . . . . . . . . . 18 | 6. Throughput- and fairness-related experiments . . . . . . . . 24 | |||
| 5.1.2 Flows under test . . . . . . . . . . . . . . . . . . . . 18 | 6.1. Impact on standard TCP traffic . . . . . . . . . . . . . 24 | |||
| 5.1.3 Metrics of interest . . . . . . . . . . . . . . . . . . . 18 | 6.1.1. Topology and background traffic . . . . . . . . . . . 25 | |||
| 6.1.2. Flows under test . . . . . . . . . . . . . . . . . . 25 | ||||
| 6.1.3. Metrics of interest . . . . . . . . . . . . . . . . . 26 | ||||
| 6.2. Intra-protocol and inter-RTT fairness . . . . . . . . . . 26 | ||||
| 6.2.1. Topology and background traffic . . . . . . . . . . . 26 | ||||
| 6.2.2. Flows under test . . . . . . . . . . . . . . . . . . 27 | ||||
| 6.2.3. Metrics of interest . . . . . . . . . . . . . . . . . 27 | ||||
| 6.3. Multiple bottlenecks . . . . . . . . . . . . . . . . . . 27 | ||||
| 6.3.1. Topology and traffic . . . . . . . . . . . . . . . . 27 | ||||
| 6.3.2. Metrics of interest . . . . . . . . . . . . . . . . . 30 | ||||
| 7. Implementations . . . . . . . . . . . . . . . . . . . . . . . 30 | ||||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | ||||
| 9. Informative References . . . . . . . . . . . . . . . . . . . 30 | ||||
| Appendix A. Discussions on Traffic . . . . . . . . . . . . . . . 32 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 | ||||
| D. Hayes et. al. [Page 2a] | 1. Introduction | |||
| 5.2 Ramp up time: completion time of one flow . . . . . . . . 18 | This document describes a common test suite for the initial | |||
| 5.2.1 Topology and background traffic . . . . . . . . . . . . . 19 | assessment of new TCP extensions or modifications. It defines a | |||
| 5.2.2 Flows under test . . . . . . . . . . . . . . . . . . . . 20 | small number of evaluation scenarios, including traffic and delay | |||
| 5.2.2.1 Potential Revisions . . . . . . . . . . . . . . . . . . . 20 | distributions, network topologies, and evaluation parameters and | |||
| 5.2.3 Metrics of interest . . . . . . . . . . . . . . . . . . . 20 | metrics. The motivation for such an evaluation suite is to help | |||
| 5.3 Transients: release of bandwidth, arrival of many | researchers in evaluating their proposed modifications to TCP. The | |||
| flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | evaluation suite will also enable independent duplication and | |||
| 5.3.1 Topology and background traffic . . . . . . . . . . . . . 21 | verification of reported results by others, which is an important | |||
| 5.3.2 Flows under test . . . . . . . . . . . . . . . . . . . . 22 | aspect of the scientific method that is not often put to use by the | |||
| 5.3.3 Metrics of interest . . . . . . . . . . . . . . . . . . . 22 | networking community. A specific target is that the evaluations | |||
| 6 Throughput- and fairness-related experiments . . . . . . 22 | should be able to be completed in a reasonable amount of time by | |||
| 6.1 Impact on standard TCP traffic . . . . . . . . . . . . . 22 | simulation, or with a reasonable amount of effort in a testbed. | |||
| 6.1.1 Topology and background traffic . . . . . . . . . . . . . 23 | ||||
| 6.1.2 Flows under test . . . . . . . . . . . . . . . . . . . . 23 | ||||
| 6.1.3 Metrics of interest . . . . . . . . . . . . . . . . . . . 23 | ||||
| 6.1.3.1 Suggestions . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 6.2 Intra-protocol and inter-RTT fairness . . . . . . . . . . 24 | ||||
| 6.2.1 Topology and background traffic . . . . . . . . . . . . . 24 | ||||
| 6.2.2 Flows under test . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 6.2.2.1 Intra-protocol fairness: . . . . . . . . . . . . . . . . 25 | ||||
| 6.2.2.2 Inter-RTT fairness: . . . . . . . . . . . . . . . . . . . 25 | ||||
| 6.2.3 Metrics of interest . . . . . . . . . . . . . . . . . . . 25 | ||||
| 6.3 Multiple bottlenecks . . . . . . . . . . . . . . . . . . 25 | ||||
| 6.3.1 Topology and traffic . . . . . . . . . . . . . . . . . . 25 | ||||
| 6.3.1.1 Potential Revisions . . . . . . . . . . . . . . . . . . . 26 | ||||
| 6.3.2 Metrics of interest . . . . . . . . . . . . . . . . . . . 27 | ||||
| 7 Implementations . . . . . . . . . . . . . . . . . . . . . 27 | ||||
| 8 Acknowledgments . . . . . . . . . . . . . . . . . . . . 28 | ||||
| 9 Bibliography . . . . . . . . . . . . . . . . . . . . . . 28 | ||||
| A Discussions on Traffic . . . . . . . . . . . . . . . . . 30 | ||||
| D. Hayes et. al. [Page 2b] | It is not possible to provide TCP researchers with a complete set of | |||
| scenarios for an exhaustive evaluation of a new TCP extension; | ||||
| especially because the characteristics of a new extension will often | ||||
| require experiments with specific scenarios that highlight its | ||||
| behavior. On the other hand, an exhaustive evaluation of a TCP | ||||
| extension will need to include several standard scenarios, and it is | ||||
| the focus of the test suite described in this document to define this | ||||
| initial set of test cases. | ||||
| 1 Introduction | These scenarios generalize current characteristics of the Internet | |||
| such as round-trip times (RTT), propagation delays, and buffer sizes. | ||||
| It is envisaged that as the Internet evolves these will need to be | ||||
| adjusted. In particular, we expect buffer sizes will need to be | ||||
| adjusted as latency becomes increasingly important. | ||||
| This document describes a common test suite for the initial assessment | The scenarios specified here are intended to be as generic as | |||
| of new TCP extensions or modifications. It defines a small number of | possible, i.e., not tied to a particular simulation or emulation | |||
| evaluation scenarios, including traffic and delay distributions, network | platform. However, when needed some details pertaining to | |||
| topologies, and evaluation parameters and metrics. The motivation for | implementation using a given tool are described. | |||
| such an evaluation suite is to help researchers in evaluating their pro- | ||||
| posed modifications to TCP. The evaluation suite will also enable inde- | ||||
| pendent duplication and verification of reported results by others, | ||||
| which is an important aspect of the scientific method that is not often | ||||
| put to use by the networking community. A specific target is that the | ||||
| evaluations should be able to be completed in a reasonable amount of | ||||
| time by simulation, or with a reasonable amount of effort in a testbed. | ||||
| It is not possible to provide TCP researchers with a complete set of | This document has evolved from a "round-table" meeting on TCP | |||
| scenarios for an exhaustive evaluation of a new TCP extension; espe- | evaluation, held at Caltech on November 8-9, 2007, reported in | |||
| cially because the characteristics of a new extension will often require | [TESTSUITE08]. This document is the first step in constructing the | |||
| experiments with specific scenarios that highlight its behavior. On the | evaluation suite; the goal is for the evaluation suite to be adapted | |||
| other hand, an exhaustive evaluation of a TCP extension will need to | in response to feedback from the networking community. It revises | |||
| include several standard scenarios, and it is the focus of the test | draft-irtf-tmrg-tests-02 [I-D-TMRG-TESTS]. | |||
| suite described in this document to define this initial set of test | ||||
| cases. | ||||
| These scenarios generalize current characteristics of the Internet such | The traces used and a sample implementation (including patched ns-2) | |||
| as round-trip times (RTT), propagation delays, and buffer sizes. It is | are available from: http://trac.tools.ietf.org/group/irtf/trac/wiki/ | |||
| envisaged that as the Internet evolves these will need to be adjusted. | ICCRG | |||
| In particular, we expect buffer sizes will need to be adjusted as | ||||
| latency becomes increasingly important. | ||||
| The scenarios specified here are intended to be as generic as possible, | 2. Traffic generation | |||
| i.e., not tied to a particular simulation or emulation platform. How- | ||||
| ever, when needed some details pertaining to implementation using a | ||||
| given tool are described. | ||||
| This document has evolved from a "round-table" meeting on TCP evalua- | Congestion control concerns the response of flows to bandwidth | |||
| tion, held at Caltech on November 8-9, 2007, reported in [1]. This doc- | limitations or to the presence of other flows. Cross-traffic and | |||
| ument is the first step in constructing the evaluation suite; the goal | reverse-path traffic are therefore important to the tests described | |||
| is for the evaluation suite to be adapted in response to feedback from | in this suite. Such traffic can have the desirable effect of | |||
| the networking community. It revises draft-irtf-tmrg-tests-02. | reducing the occurrence of pathological conditions, such as global | |||
| synchronization among competing flows, that might otherwise be mis- | ||||
| interpreted as normal average behaviours of those protocols | ||||
| [FLOYD03][MASCOLO06]. This traffic must be reasonably realistic for | ||||
| the tests to predict the behaviour of congestion control protocols in | ||||
| real networks, and also well-defined so that statistical noise does | ||||
| not mask important effects. | ||||
| Information related to the draft can be found at: | 2.1. Desirable model characteristics | |||
| http://riteproject.eu/ietf-drafts | ||||
| 2 Traffic generation | Most scenarios use traffic produced by a traffic generator, with a | |||
| range of start times for user sessions, flow sizes, and the like, | ||||
| mimicking the traffic patterns commonly observed in the Internet. It | ||||
| is important that the same "amount" of congestion or cross-traffic be | ||||
| used for the testing scenarios of different congestion control | ||||
| algorithms. This is complicated by the fact that packet arrivals and | ||||
| even flow arrivals are influenced by the behavior of the algorithms. | ||||
| For this reason, a pure open-loop, packet-level generation of traffic | ||||
| where generated traffic does not respond to the behaviour of other | ||||
| present flows is not suitable. Instead, emulating application or | ||||
| user behaviours at the end points using reactive protocols such as | ||||
| TCP in a closed-loop fashion results in a closer approximation of | ||||
| cross-traffic, where user behaviours are modeled by well-defined | ||||
| parameters for source inputs (e.g., request sizes for HTTP), | ||||
| destination inputs (e.g., response size), and think times between | ||||
| pairs of source and destination inputs. By setting appropriate | ||||
| parameters for the traffic generator, we can emulate non-greedy user- | ||||
| interactive traffic (e.g., HTTP 1.1, SMTP and remote login), greedy | ||||
| traffic (e.g., P2P and long file downloads), as well as long-lived | ||||
| but non-greedy, non-interactive flows (or thin streams). | ||||
| Congestion control concerns the response of flows to bandwidth limita- | This approach models protocol reactions to the congestion caused by | |||
| tions or to the presence of other flows. Cross-traffic and reverse-path | other flows in the common paths, although it fails to model the | |||
| traffic are therefore important to the tests described in this suite. | reactions of users themselves to the presence of congestion. A model | |||
| that includes end-users' reaction to congestion is beyond the scope | ||||
| of this draft, but we invite researchers to explore how the user | ||||
| behavior, as reflected in the flow sizes, user wait times, and number | ||||
| of connections per session, might be affected by the level of | ||||
| congestion experienced within a session [ROSSI03]. | ||||
| Such traffic can have the desirable effect of reducing the occurrence of | 2.2. Tmix | |||
| pathological conditions, such as global synchronization among competing | ||||
| flows, that might otherwise be mis-interpreted as normal average behav- | ||||
| iours of those protocols [2,3]. This traffic must be reasonably realis- | ||||
| tic for the tests to predict the behaviour of congestion control proto- | ||||
| cols in real networks, and also well-defined so that statistical noise | ||||
| does not mask important effects. | ||||
| 2.1 Desirable model characteristics | There are several traffic generators available that implement a | |||
| similar approach to that discussed above. For now, we have chosen to | ||||
| use the Tmix [WEIGLE06] traffic generator. Tmix is available for the | ||||
| NS2 and NS3 simulators, and can generate traffic for testbeds (for | ||||
| example GENI [GENITMIX]). | ||||
| Most scenarios use traffic produced by a traffic generator, with a range | Tmix represents each TCP connection by a connection vector (CV) | |||
| of start times for user sessions, connection sizes, and the like, mim- | consisting of a sequence of (request-size, response-size, think-time) | |||
| icking the traffic patterns commonly observed in the Internet. It is | triples, thus representing bi-directional traffic. Connection | |||
| important that the same "amount" of congestion or cross-traffic be used | vectors used for traffic generation can be obtained from Internet | |||
| for the testing scenarios of different congestion control algorithms. | traffic traces. | |||
| This is complicated by the fact that packet arrivals and even flow | ||||
| arrivals are influenced by the behavior of the algorithms. For this rea- | ||||
| son, a pure open-loop, packet-level generation of traffic where gener- | ||||
| ated traffic does not respond to the behaviour of other present flows is | ||||
| not suitable. Instead, emulating application or user behaviours at the | ||||
| end points using reactive protocols such as TCP in a closed-loop fashion | ||||
| results in a closer approximation of cross-traffic, where user behav- | ||||
| iours are modeled by well-defined parameters for source inputs (e.g., | ||||
| request sizes for HTTP), destination inputs (e.g., response size), and | ||||
| think times between pairs of source and destination inputs. By setting | ||||
| appropriate parameters for the traffic generator, we can emulate non- | ||||
| greedy user-interactive traffic (e.g., HTTP 1.1, SMTP and Telnet), | ||||
| greedy traffic (e.g., P2P and long file downloads), as well as long- | ||||
| lived but non-greedy, non-interactive flows (or thin streams). | ||||
| This approach models protocol reactions to the congestion caused by | 2.2.1. Base Tmix trace files for tests | |||
| other flows in the common paths, although it fails to model the reac- | ||||
| tions of users themselves to the presence of congestion. A model that | ||||
| includes end-users' reaction to congestion is beyond the scope of this | ||||
| draft, but we invite researchers to explore how the user behavior, as | ||||
| reflected in the connection sizes, user wait times, and number of con- | ||||
| nections per session, might be affected by the level of congestion expe- | ||||
| rienced within a session [4]. | ||||
| 2.2 Tmix | The traces currently defined for use in the test suite are based on | |||
| campus traffic at the University of North Carolina (see [TRACES] for | ||||
| a description of construction methods and basic statistics). | ||||
| There are several traffic generators available that implement a similar | The traces have an additional "m" field added to each connection | |||
| approach to that discussed above. For now, we have chosen to use the | vector to provide each direction's maximum segment size for the | |||
| Tmix [5] traffic generator. Tmix is available for the NS2 and NS3 simu- | connection. This is used to provide the packet size distribution | |||
| lators, and can generate traffic for testbeds (for example GENI [6]). | described in Section 2.4. | |||
| Tmix represents each TCP connection by a connection vector consisting of | These traces contain a mixture of connections, from very short flows | |||
| a sequence of (request-size, response-size, think-time) triples, thus | that do not exist for long enough to be "congestion controlled", to | |||
| representing bi-directional traffic. Connection vectors used for traffic | long thin streams, to bulk file transfer like connections. | |||
| generation can be obtained from Internet traffic traces. | ||||
| 2.2.1 Base Tmix trace files for tests | The traces are available at: | |||
| http://trac.tools.ietf.org/group/irtf/trac/wiki/ICCRG | ||||
| The traces currently defined for use in the test suite are based on cam- | Each of the nine bidirectional trace files are named with the | |||
| pus traffic at the University of North Carolina (see [7] for a descrip- | following convention: | |||
| tion of construction methods and basic statistics). | ||||
| The traces have an additional "m" field added to each connection vector | rAsI.org | |||
| to provide each direction's maximum segment size for the connection. | ||||
| This is used to provide the packet size distribution described in sec- | ||||
| tion 2.4. | ||||
| These traces contain a mixture of connections, from very short flows | where the I is the number of the Tmix initiator node, and A is the | |||
| that do not exist for long enough to be "congestion controlled", to long | number of the tmix acceptor node, when the traffic sources are set up | |||
| thin streams, to bulk file transfer like connections. | in the dumbbell configuration shown in Figure 2. | |||
| The traces are available at: | 2.3. Loads | |||
| http://hosting.riteproject.eu/tcpevaltmixtraces.tgz | ||||
| 2.3 Loads | While the protocols being tested may differ, it is important that we | |||
| maintain the same "load" or level of congestion for the experimental | ||||
| scenarios. For many of the scenarios, such as the basic ones in | ||||
| Section 4, each scenario is run for a range of loads, where the load | ||||
| is varied by varying the rate of session arrivals. | ||||
| While the protocols being tested may differ, it is important that we | 2.3.1. Varying the Tmix traffic load | |||
| maintain the same "load" or level of congestion for the experimental | ||||
| scenarios. For many of the scenarios, such as the basic ones in section | ||||
| 4, each scenario is run for a range of loads, where the load is varied | ||||
| by varying the rate of session arrivals. | ||||
| 2.3.1 Varying the Tmix traffic load | To adjust the traffic load for a given scenario, the connection start | |||
| times for flows in a Tmix trace are scaled as follows. Connections | ||||
| are actually started at: | ||||
| To adjust the traffic load for a given scenario, the connection start | experiment_cv_start_time = scale * cv_start_time (1) | |||
| times for flows in a Tmix trace are scaled as follows. Connections are | ||||
| actually started at: | ||||
| experiment_cv_start_time = scale * cv_start_time | where cv_start_time denotes the connection vector start time in the | |||
| Tmix traces and experiment_cv_start_time is the time the connection | ||||
| starts in the experiment. Therefore, the smaller the scale the | ||||
| higher (in general) the traffic load. | ||||
| where cv_start_time denotes the connection vector start time in the Tmix | 2.3.1.1. Notes | |||
| traces and experiment_start_time is the time the connection starts in | ||||
| the experiment. Therefore, the smaller the scale the higher (in general) | ||||
| the traffic load. | ||||
| 2.3.1.1 Notes | Changing the connection start times also changes the way the traffic | |||
| connections interact, potentially changing the "clumping" of traffic | ||||
| bursts. | ||||
| Changing the connection start times also changes the way the traffic | Very small changes in the scaling parameter can cause | |||
| connections interact, potentially changing the "clumping" of traffic | disproportionate changes in the offered load. This is due to | |||
| bursts. | possibility of the small change causing the exclusion or inclusion of | |||
| a CV that will transfer a very large amount of data. | ||||
| Very small changes in the scaling parameter can cause disproportionate | 2.3.2. Dealing with non-stationarity | |||
| changes in the offered load. This is due to possibility of the small | ||||
| change causing the exclusion or inclusion of a CV that will transfer a | ||||
| very large amount of data. | ||||
| 2.3.2 Dealing with non-stationarity | The Tmix traffic traces, as they are, offer a non-stationary load. | |||
| This is exacerbated for tests that do not require use of the full | ||||
| trace files, but only a portion of them. While removing this non- | ||||
| stationarity does also remove some of the "realism" of the traffic, | ||||
| it is necessary for the test suite to produce reliable and consistent | ||||
| results. | ||||
| The Tmix traffic traces, as they are, offer a non-stationary load. This | A more stationary offered load is achieved by shuffling the start | |||
| is exacerbated for tests that do not require use of the full trace | times of connection vectors in the Tmix trace file. The trace file | |||
| files, but only a portion of them. While removing this non-stationarity | is logically partitioned into n-second bins, which are then shuffled | |||
| does also remove some of the "realism" of the traffic, it is necessary | using a Fisher-Yates shuffle [SHUFFLEWIKI], and the required portions | |||
| for the test suite to produce reliable and consistent results. | written to shuffled trace files for the particular experiment being | |||
| conducted. | ||||
| A more stationary offered load is achieved by shuffling the start times | 2.3.2.1. Bin size | |||
| of connection vectors in the Tmix trace file. The trace file is logi- | ||||
| cally partitioned into n-second bins, which are then shuffled using a | ||||
| Fisher-Yates shuffle [8], and the required portions written to shuffled | ||||
| trace files for the particular experiment being conducted. | ||||
| 2.3.2.1 Bin size | The bin size is chosen so that there is enough shuffling with respect | |||
| to the test length. The offered traffic per test second from the | ||||
| Tmix trace files depends on a scale factor (see Section 2.3.1), which | ||||
| is related to the capacity of the bottleneck link. The shuffling bin | ||||
| size (in seconds) is set at: | ||||
| The bin size is chosen so that there is enough shuffling with respect to | b = 500e6 / C (2) | |||
| the test length. The offered traffic per test second from the Tmix trace | ||||
| files depends scale factor (see section 2.3.1), which is related to the | ||||
| capacity of the bottleneck link. The shuffling bin size (in seconds) is | ||||
| set at: b = 500e6 / C where C is the bottleneck link's capacity in bits | ||||
| per second, and 500e6 is a scaling factor (in bits). | ||||
| Thus for the access link scenario described in section 4.4.2, the bin | where C is the bottleneck link's capacity in bits per second, and | |||
| size for shuffling will be 5 seconds. | 500e6 is a scaling factor (in bits). | |||
| 2.3.2.2 NS2 implementation specifics | Thus for the access link scenario described in Section 4.4.2, the bin | |||
| size for shuffling will be 5 seconds. | ||||
| The tcl scripts for this process are distributed with the NS2 example | 2.3.2.2. NS2 implementation specifics | |||
| test suite implementation. Care must be taken when using this algorithm, | ||||
| so that the given random number generator and the same seed are | ||||
| employed, or else the resulting experimental traces will be different. | ||||
| 2.4 Packet size distribution | The tcl scripts for this process are distributed with the NS2 example | |||
| test suite implementation. Care must be taken when using this | ||||
| algorithm, so that the given random number generator and the same | ||||
| seed are employed, or else the resulting experimental traces will be | ||||
| different. | ||||
| For flows generated by the traffic generator, 10% of them use 536-byte | 2.4. Packet size distribution | |||
| packets, and 90% 1500-byte packets. The base Tmix traces described in | ||||
| section 2.2.1 have been processed at the *connection* level to have this | ||||
| characteristic. As a result, *packets* in a given test will be roughly, | ||||
| but not be exactly, in this proportion. However, the proportion of | ||||
| offered traffic will be consistent for each experiment. | ||||
| 2.4.1 Potential revision | For flows generated by the traffic generator, 10% of them use | |||
| 536-byte packets, and 90% 1500-byte packets. The base Tmix traces | ||||
| described in Section 2.2.1 have been processed at the _connection_ | ||||
| level to have this characteristic. As a result, _packets_ in a given | ||||
| test will be roughly, but not be exactly, in this proportion. | ||||
| As Tmix can now read and use a connection's Maximum Segment Size (MSS) | However, the proportion of offered traffic will be consistent for | |||
| from the trace file, it will be possible to produce Tmix connection vec- | each experiment. | |||
| tor trace files where the packet sizes reflect actual measurements. | ||||
| 3 Achieving reliable results in minimum time | 2.4.1. Potential revision | |||
| This section describes the techniques used to achieve reliable results | As Tmix can now read and use a connection's Maximum Segment Size | |||
| in the minimum test time. | (MSS) from the trace file, it will be possible to produce Tmix | |||
| connection vector trace files where the packet sizes reflect actual | ||||
| measurements. | ||||
| 3.1 Background | 3. Achieving reliable results in minimum time | |||
| Over a long time, because the session arrival times are to a large | This section describes the techniques used to achieve reliable | |||
| extent independent of the transfer times, load could be defined as: | results in the minimum test time. | |||
| A=E[f]/E[t], | 3.1. Background | |||
| where E[f] is the mean session (flow) size in bits transferred, E[t] is | Over a long time, because the session arrival times are to a large | |||
| the mean session inter-arrival time in seconds, and A is the load in | extent independent of the transfer times, load could be defined as: | |||
| bps. | ||||
| It is important to test congestion control protocols in "overloaded" | A = E[f]/E[t], | |||
| conditions. However, if A>C, where C is the capacity of the bottleneck | ||||
| link, then the system has no equilibrium. In long-running experiments | ||||
| with A>C, the expected number of flows would keep on increasing with | ||||
| time (because as time passes, flows would tend to last for longer and | ||||
| longer, thus "piling up" with newly-arriving ones). This means that, in | ||||
| an overload scenario, some measures will be very sensitive to the dura- | ||||
| tion of the tests. | ||||
| 3.2 Equilibrium or Steady State | where E[f] is the mean session (flow) size in bits transferred, E[t] | |||
| is the mean session inter-arrival time in seconds, and A is the load | ||||
| in bps. | ||||
| Ideally, experiments should be run until some sort of equilibrium | It is important to test congestion control protocols in "overloaded" | |||
| results can be obtained. Since every test algorithm can potentially | conditions. However, if A > C, where C is the capacity of the | |||
| change how long this may take, the following approach is adopted: | bottleneck link, then the system has no equilibrium. In long-running | |||
| experiments with A > C, the expected number of flows would keep on | ||||
| increasing with time (because as time passes, flows would tend to | ||||
| last for longer and longer, thus "piling up" with newly-arriving | ||||
| ones). This means that, in an overload scenario, some measures will | ||||
| be very sensitive to the duration of the tests. | ||||
| 1. Traces are shuffled to remove non-stationarity (see section | 3.2. Equilibrium or Steady State | |||
| 2.3.2.) | ||||
| 2. The experiment run time is determined from the traffic traces. | Ideally, experiments should be run until some sort of equilibrium | |||
| The shuffled traces are compiled such that the estimate of | results can be obtained. Since every test algorithm can potentially | |||
| traffic offered in the second third of the test is equal to | change how long this may take, the following approach is adopted: | |||
| the estimated traffic offered in the second third of the test | ||||
| is equal to the estimate of traffic offered in the final third | ||||
| of the test, to within a 5% tolerance. The length of the trace | ||||
| files becomes the total experiment run time (including the | ||||
| warm up time). | ||||
| 3. The warmup time until measurements start, is calculated as the | 1. Traces are shuffled to remove non-stationarity (see | |||
| time at which the NS2 simulation of standard TCP achieves | Section 2.3.2.) | |||
| "steady state". In this case, warmup time is determined as the | ||||
| time required so the measurements have statistically similar | ||||
| first and second half results. The metrics used as reference | ||||
| are: the bottleneck raw throughput, and the average bottleneck | ||||
| queue size. The latter is stable when A>>C and A<<C, but not | ||||
| when AapproxC. In this case the queue is not a stable mea- | ||||
| sure, and just the raw bottleneck throughput is used. | ||||
| 3.2.1 Note on the offered load in NS2 | 2. The experiment run time is determined from the traffic traces. | |||
| The shuffled traces are compiled such that the estimate of | ||||
| traffic offered in the second third of the test is equal to the | ||||
| estimate of traffic offered in the final third of the test, to | ||||
| within a 5% tolerance. The length of the trace files becomes the | ||||
| total experiment run time (including the warm up time). | ||||
| The offered load in an NS2 simulation using one-way TCP will be higher | 3. The warmup time until measurements start, as shown in Section 4, | |||
| than the estimated load. One-way TCP uses fixed TCP segment sizes, so | is calculated as the time at which the NS2 simulation of standard | |||
| all transmissions that would normally use a segment size less than the | TCP achieves "steady state". In this case, warmup time is | |||
| maximum segment size (in this case 496B or 1460B), such as at the end of | determined as the time required so the measurements have | |||
| a block of data, or for short queries or responses, will still be sent | statistically similar first and second half results. The metrics | |||
| as a maximum segment size packet. | used as reference are: the bottleneck raw throughput, and the | |||
| average bottleneck queue size. The latter is stable when A >> C | ||||
| and A << C, but not when A ~= C. In this case the queue is not a | ||||
| stable measure, and just the raw bottleneck throughput is used. | ||||
| 3.3 Accelerated test start up time | 3.2.1. Note on the offered load in NS2 | |||
| Tmix traffic generation does not provide an instant constant load. It | The offered load in an NS2 simulation using one-way TCP will be | |||
| can take quite a long time for the number of simultaneous TCP connec- | higher than the estimated load. One-way TCP uses fixed TCP segment | |||
| tions, and thus the offered load, to build up when using Tmix to gener- | sizes, so all transmissions that would normally use a segment size | |||
| ate the load. To accelerate the system start up, the system is "pre- | less than the maximum segment size (in this case 496B or 1460B), such | |||
| filled" to a state close to "steady state", as follows. | as at the end of a block of data, or for short queries or responses, | |||
| will still be sent as a maximum segment size packet. | ||||
| Connections that start before t=prefill_t are selected with a bias | 3.3. Accelerated test start up time | |||
| toward longer sessions. Only connections which are estimated to continue | ||||
| past the long_flow_bias time (see figure 1) are selected. | ||||
| The prefill_t (in seconds) calculation has been automated, based on the | Tmix traffic generation does not provide an instant constant load. | |||
| following heuristic: prefill_t = 1.5 * targetload * maxRTT where maxRTT | It can take quite a long time for the number of simultaneous TCP | |||
| is the median maximum RTT in the particular topology, and targetload is | connections, and thus the offered load, to build up. To accelerate | |||
| given as a percentage. The long_flow_bias threshold is set at | the system start up, the system is "prefilled" to a state close to | |||
| long_flow_bias = prefill_t / 2 These values are not optimal, but have | "steady state". This is done by starting initial sessions over a | |||
| been experimentally determined to give reasonable results. | shorter interval than they would normally start, and biasing the | |||
| sessions started to longer sessions. Details of how this is achieved | ||||
| follow. | ||||
| These selected connections are then started at an accelerated rate so | Connections that start before t=prefill_t in the Tmix traces, are | |||
| that the estimated resulting load over the accelerated start up time is | selected with a bias toward longer sessions (connections which are | |||
| the target load for this experiment: prefill_si = total_pfcb / (C * TL / | estimated to continue past the long_flow_bias time (see Figure 1)). | |||
| 100.0) where prefill_si is the interval of time for the accelerated | These selected connections are then started at an accelerated rate by | |||
| start up, total_pfcb is the total number of bits estimated to be sent by | starting them over the time interval prefill_si. | |||
| the prefill connections, C is the capacity of the bottleneck link, and | ||||
| TL is the target offered load as a percentage. | ||||
| This procedure has the effect of quickly bringing the system to a loaded | The prefill_t (in seconds) calculation is based on the following | |||
| state. From this point the system runs until t=warmup (as calculated in | heuristic: | |||
| section 3.2), after which moment statistics are computed. | ||||
| accelerated start up | prefill_t = 1.5 * targetload * maxRTT (3) | |||
| long_flow_bias->| prefill_si | ||||
| | <----> | ||||
| |--------------|-------|----|-------------------------| | ||||
| t=0 | t = prefill_t t=warmup | ||||
| | | ||||
| | | ||||
| t = prefill_t - prefill_si | ||||
| Figure 1: prefilling | where maxRTT is the median maximum RTT in the particular topology, | |||
| and targetload is given as a percentage. This generally works quite | ||||
| well, but requires some adjustment for very high BDP scenarios. | ||||
| 4 Basic scenarios | Experiment tables specify the prefill_t value to be used in each | |||
| experiment. | ||||
| The purpose of the basic scenarios is to explore the behavior of a TCP | The long_flow_bias threshold is set at | |||
| extension over different link types. These scenarios use the dumbbell | ||||
| topology described in section 4.1. | ||||
| 4.1 Basic topology | long_flow_bias = prefill_t / 2 . (4) | |||
| Most tests use a simple dumbbell topology with a central link that con- | These values are not optimal, but have been experimentally determined | |||
| nects two routers, as illustrated in Figure 2. Each router is also con- | to give reasonable results. | |||
| nected to three nodes by edge links. In order to generate a typical | ||||
| range of round trip times, edge links have different delays. Unless | ||||
| specified otherwise, such delays are as follows. On one side, the one- | ||||
| way propagation delays are: 0ms, 12ms and 25ms; on the other: 2ms, 37ms, | ||||
| and 75ms. Traffic is uniformly shared among the nine source/destination | ||||
| pairs, giving a distribution of per-flow RTTs in the absence of queueing | ||||
| delay shown in Table 1. These RTTs are computed for a dumbbell topology | ||||
| assuming a delay of 0ms for the central link. The delay for the central | ||||
| link that is used in a specific scenario is given in the next section. | ||||
| For dummynet experiments, delays can be obtained by specifying the delay | The start up time interval, prefill_si, is calculated as follows: | |||
| of each flow. | ||||
| 4.2 Traffic | prefill_si = total_pfcb / (C * TL / 100.0) (5) | |||
| Node 1 Node 4 | ||||
| \_ _/ | ||||
| \_ _/ | ||||
| \_ __________ Central __________ _/ | ||||
| | | link | | | ||||
| Node 2 ------| Router 1 |----------------| Router 2 |------ Node 5 | ||||
| _|__________| |__________|_ | ||||
| _/ \_ | ||||
| _/ \_ | ||||
| Node 3 / \ Node 6 | ||||
| Figure 2: A dumbbell topology | where total_pfcb is the total number of bits estimated to be sent by | |||
| the prefill connections, C is the capacity of the bottleneck link, | ||||
| and TL is the target offered load as a percentage. | ||||
| Path RTT Path RTT Path RTT | This procedure has the effect of quickly bringing the system to a | |||
| 1-4 4 1-5 74 1-6 150 | loaded state. From this point the system runs until t = warmup (as | |||
| 2-4 28 2-5 98 2-6 174 | calculated in Section 3.2), after which moment statistics are | |||
| 3-4 54 3-5 124 3-6 200 | computed. | |||
| Table 1: Minimum RTTs of the paths between two nodes, in milliseconds. | |<----- test_duration ----->| | |||
| | | | ||||
| prefill_si | | | ||||
| |<-->| | | | ||||
| |--------|------|----|-----------------|---------------------------| | ||||
| t=0 | | |<---- warmup --->| | ||||
| | | | | | ||||
| | | t = prefill_t t = warmup + prefill_t | ||||
| | | | ||||
| | t = prefill_t - prefill_si | ||||
| | | ||||
| t = long_flow_bias | ||||
| In all of the basic scenarios, *all* TCP flows use the TCP extension or | Figure 1: Prefilling. | |||
| modification under evaluation. | ||||
| In general, the 9 bidirectional Tmix sources are connected to nodes 1 to | 4. Basic scenarios | |||
| 6 of figure 2 to create the paths tabulated in table 1. | ||||
| Offered loads are estimated directly from the shuffled and scaled Tmix | The purpose of the basic scenarios is to explore the behavior of a | |||
| traces, as described in section 3.2. The actual measured loads will | TCP modification over different link types. These scenarios use the | |||
| depend on the TCP variant and the scenario being tested. | dumbbell topology described in Section 4.1. | |||
| Buffer sizes are based on the Bandwidth Delay Product (BDP), except for | 4.1. Basic topology | |||
| the Dial-up scenario where a BDP buffer does not provide enough buffer- | ||||
| ing. | ||||
| The load generated by Tmix with the standard trace files is asymmetric, | Most tests use a simple dumbbell topology with a central link that | |||
| with a higher load offered in the right to left direction (refer to fig- | connects two routers, as illustrated in Figure 2. Each router is | |||
| ure 2) than in the left to right direction. Loads are specified for the | also connected to three nodes by edge links. In order to generate a | |||
| higher traffic right to left direction. For each of the basic scenarios, | typical range of round trip times, edge links have different delays. | |||
| three offered loads are tested: moderate (60%), high (85%), and overload | Unless specified otherwise, such delays are as follows. On one side, | |||
| (110%). Loads are for the bottleneck link, which is the central link in | the one-way propagation delays are: 0ms, 12ms and 25ms; on the other: | |||
| all scenarios except the wireless LAN scenario. | 2ms, 37ms, and 75ms. Traffic is uniformly shared among the nine | |||
| source/destination pairs, giving a distribution of per-flow RTTs in | ||||
| the absence of queueing delay shown in Table 1. These RTTs are | ||||
| computed for a dumbbell topology assuming a delay of 0ms for the | ||||
| central link. The delay for the central link that is used in a | ||||
| specific scenario is given in the next section. | ||||
| The 9 tmix traces are scaled using a single scaling factor in these | Node 1 Node 4 | |||
| tests. This means that the traffic offered on each of the 9 paths | \_ _/ | |||
| through the network is not equal, but combined at the bottleneck pro- | \_ _/ | |||
| duces the specified offered load. | \_ __________ Central __________ _/ | |||
| | | link | | | ||||
| Node 2 ------| Router 1 |----------------| Router 2 |------ Node 5 | ||||
| _|__________| |__________|_ | ||||
| _/ \_ | ||||
| _/ \_ | ||||
| Node 3 / \ Node 6 | ||||
| 4.3 Flows under test | Figure 2: A dumbbell topology. | |||
| For these basic scenarios, there is no differentiation between "cross- | For dummynet experiments, delays can be obtained by specifying the | |||
| traffic" and the "flows under test". The aggregate traffic is under | delay of each flow. | |||
| test, with the metrics exploring both aggregate traffic and distribu- | ||||
| tions of flow-specific metrics. | ||||
| 4.4 Scenarios | +------+-----+------+-----+------+-----+ | |||
| | Path | RTT | Path | RTT | Path | RTT | | ||||
| +------+-----+------+-----+------+-----+ | ||||
| | 1-4 | 4 | 1-5 | 74 | 1-6 | 150 | | ||||
| | | | | | | | | ||||
| | 2-4 | 28 | 2-5 | 98 | 2-6 | 174 | | ||||
| | | | | | | | | ||||
| | 3-4 | 54 | 3-5 | 124 | 3-6 | 200 | | ||||
| +------+-----+------+-----+------+-----+ | ||||
| 4.4.1 Data Center | Table 1: Minimum RTTs of the paths between two nodes, in | |||
| milliseconds. | ||||
| The data center scenario models a case where bandwidth is plentiful and | 4.2. Traffic | |||
| link delays are generally low. All links have a capacity of 1 Gbps. | ||||
| Links from nodes 1, 2 and 4 have a one-way propagation delay of 10 us, | ||||
| while those from nodes 3, 5 and 6 have 100 us [9], and the central link | ||||
| has 0 ms delay. The central link has 10 ms buffers. | ||||
| load scale experiment time warmup test_time prefill_t prefill_si | In all of the basic scenarios, _all_ TCP flows use the TCP extension | |||
| 60% 0.56385119 156.5 4.0 145.0 7.956 4.284117 | or modification under evaluation. | |||
| 85% 0.372649 358.0 19.0 328.0 11.271 6.411839 | ||||
| 110% 0.295601 481.5 7.5 459 14.586 7.356242 | ||||
| Table 2: Data center scenario parameters | In general, the 9 bidirectional Tmix sources are connected to nodes 1 | |||
| to 6 of Figure 2 to create the paths tabulated in Table 1. | ||||
| 4.4.1.1 Potential Revisions | Offered loads are estimated directly from the shuffled and scaled | |||
| Tmix traces, as described in Section 3.2. The actual measured loads | ||||
| will depend on the TCP variant and the scenario being tested. | ||||
| The rate of 1 Gbps is chosen such that NS2 simulations can run in a rea- | Buffer sizes are based on the Bandwidth Delay Product (BDP), except | |||
| sonable time. Higher values will become feasible as computing power | for the Dial-up scenario where a BDP buffer does not provide enough | |||
| increases, however the current traces may not be long enough to drive | buffering. | |||
| simulations or test bed experiments at higher rates. | ||||
| The supplied Tmix traces are used here to provide a standard comparison | The load generated by Tmix with the standard trace files is | |||
| across scenarios. Data Centers, however, have very specialised traffic | asymmetric, with a higher load offered in the right to left direction | |||
| which may not be represented well in such traces. In the future, | (refer to Figure 2) than in the left to right direction. Loads are | |||
| specialised Data Center traffic traces may be needed to provide a more | specified for the higher traffic right to left direction. For each | |||
| realistic test. | of the basic scenarios, three offered loads are tested: moderate | |||
| (60%), high (85%), and overload (110%). Loads are for the bottleneck | ||||
| link, which is the central link in all scenarios except the wireless | ||||
| LAN scenario. | ||||
| 4.4.2 Access Link | The 9 Tmix traces are scaled using a single scaling factor in these | |||
| tests. This means that the traffic offered on each of the 9 paths | ||||
| through the network is not equal, but combined at the bottleneck | ||||
| produces the specified offered load. | ||||
| The access link scenario models an access link connecting an institution | 4.3. Flows under test | |||
| (e.g., a university or corporation) to an ISP. The central and edge | ||||
| links are all 100 Mbps. The one-way propagation delay of the central | ||||
| link is 2 ms, while the edge links have the delays given in Section 4.1. | ||||
| Our goal in assigning delays to edge links is only to give a realistic | ||||
| distribution of round-trip times for traffic on the central link. The | ||||
| Central link buffer size is 100 ms, which is equivalent to the BDP | ||||
| (using the mean RTT). | ||||
| load scale experiment time warmup test_time prefill_t prefill_si | For these basic scenarios, there is no differentiation between | |||
| 60% 4.910115 440 107.0 296.0 36.72 24.103939 | "cross-traffic" and the "flows under test". The aggregate traffic is | |||
| 85% 3.605109 920 135.0 733.0 52.02 23.378915 | under test, with the metrics exploring both aggregate traffic and | |||
| 110% 3.0027085 2710 34.0 2609.0 67.32 35.895355 | distributions of flow-specific metrics. | |||
| Table 3: Access link scenario parameters (times in seconds) | 4.4. Scenarios | |||
| 4.4.2.1 Potential Revisions | 4.4.1. Data Center | |||
| As faster access links become common, the link speed for this scenario | The data center scenario models a case where bandwidth is plentiful | |||
| will need to be updated accordingly. Also as access link buffer sizes | and link delays are generally low. All links have a capacity of 1 | |||
| shrink to less than BDP sized buffers, this should be updated to reflect | Gbps. Links from nodes 1, 2 and 4 have a one-way propagation delay | |||
| these changes in the Internet. | of 10 us, while those from nodes 3, 5 and 6 have 100 us [ALIZADEH10], | |||
| and the central link has 0 ms delay. The central link has 10 ms | ||||
| buffers. | ||||
| 4.4.3 Trans-Oceanic Link | +------+--------+--------+---------------+-----------+------------+ | |||
| | load | scale | warmup | test_duration | prefill_t | prefill_si | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| | 60% | 0.4864 | 63 | 69 | 9.0 | 4.1 | | ||||
| | | | | | | | | ||||
| | 85% | 0.3707 | 19 | 328 | 11.3 | 5.1 | | ||||
| | | | | | | | | ||||
| | 110% | 0.3030 | 8 | 663 | 14.6 | 6.9 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| The trans-oceanic scenario models a test case where mostly lower-delay | Table 2: Data center scenario parameters. | |||
| edge links feed into a high-delay central link. Both the central and all | ||||
| edge links are 1 Gbps. The central link has 100 ms buffers, and a one- | ||||
| way propagation delay of 65 ms. 65 ms is chosen as a "typical number". | ||||
| The actual delay on real links depends, of course, on their length. For | ||||
| example, Melbourne to Los Angeles is about 85 ms. | ||||
| 4.4.4 Geostationary Satellite | 4.4.1.1. Potential Revisions | |||
| The geostationary satellite scenario models an asymmetric test case with | The rate of 1 Gbps is chosen such that NS2 simulations can run in a | |||
| a high-bandwidth downlink and a low-bandwidth uplink [10,11]. The sce- | reasonable time. Higher values will become feasible (in simulation) | |||
| nario modeled is that of nodes connected to a satellite hub which has an | as computing power increases, however the current traces may not be | |||
| asymmetric satellite connection to the master base station which is | long enough to drive simulations or test bed experiments at higher | |||
| load scale experiment time warmup test_time prefill_t prefill_si | rates. | |||
| 60% tbd tbd tbd | ||||
| 85% tbd tbd tbd | ||||
| 110%: tbd tbd tbd | ||||
| Table 4: Trans-Oceanic link scenario parameters | The supplied Tmix traces are used here to provide a standard | |||
| comparison across scenarios. Data Centers, however, have very | ||||
| specialised traffic which may not be represented well in such traces. | ||||
| In the future, specialised Data Center traffic traces may be needed | ||||
| to provide a more realistic test. | ||||
| connected to the Internet. The capacity of the central link is asymmet- | 4.4.2. Access Link | |||
| ric - 40 Mbps down, and 4 Mbps up with a one-way propagation delay of | ||||
| 300 ms. Edge links are all bidirectional 100 Mbps links with one-way | ||||
| delays as given in Section 4.1. The central link buffer size is 100 ms | ||||
| for downlink and 1000 ms for uplink. | ||||
| Note that congestion in this case is often on the 4 Mbps uplink (left to | The access link scenario models an access link connecting an | |||
| right), even though most of the traffic is in the downlink direction | institution (e.g., a university or corporation) to an ISP. The | |||
| (right to left). | central and edge links are all 100 Mbps. The one-way propagation | |||
| delay of the central link is 2 ms, while the edge links have the | ||||
| delays given in Section 4.1. Our goal in assigning delays to edge | ||||
| links is only to give a realistic distribution of round-trip times | ||||
| for traffic on the central link. The Central link buffer size is 100 | ||||
| ms, which is equivalent to the BDP (using the mean RTT). | ||||
| load scale experiment time warmup test_time prefill_t prefill_si | +------+-------+--------+---------------+-----------+------------+ | |||
| 60% tbd tbd tbd | | load | scale | warmup | test_duration | prefill_t | prefill_si | | |||
| 85% tbd tbd tbd | +------+-------+--------+---------------+-----------+------------+ | |||
| 110%: tbd tbd tbd | | 60% | 5.276 | 84 | 479 | 36.72 | 19.445 | | |||
| | | | | | | | | ||||
| | 85% | 3.812 | 179 | 829 | 52.02 | 30.745 | | ||||
| | | | | | | | | ||||
| | 110% | 2.947 | 34 | 1423 | 67.32 | 38.078 | | ||||
| +------+-------+--------+---------------+-----------+------------+ | ||||
| Table 5: Trans-Oceanic link scenario parameters | Table 3: Access link scenario parameters (times in seconds). | |||
| 4.4.5 Wireless LAN | 4.4.2.1. Potential Revisions | |||
| The wireless LAN scenario models WiFi access to a wired backbone, as | As faster access links become common, the link speed for this | |||
| depicted in Figure 3. | scenario will need to be updated accordingly. Also as access link | |||
| buffer sizes shrink to less than BDP sized buffers, this should be | ||||
| updated to reflect these changes in the Internet. | ||||
| The capacity of the central link is 100 Mbps, with a one-way delay of 2 | 4.4.3. Trans-Oceanic Link | |||
| ms. All links to Router 2 are wired. Router 1 acts as a base station for | ||||
| a shared wireless IEEE 802.11g links. Although 802.11g has a peak bit | ||||
| rate of 54 Mbps, its typical throughput rate is much lower, and | ||||
| decreases under high loads and bursty traffic. The scales specified | ||||
| here are based on a nominal rate of 6Mbps. | ||||
| The Node_[123] to Wireless_[123] connections are to allow the same RTT | The trans-oceanic scenario models a test case where mostly lower- | |||
| distribution as for the wired scenarios. This is in addition to delays | delay edge links feed into a high-delay central link. Both the | |||
| on the wireless link due to CSMA. Figure 3 shows how the topology should | central and all edge links are 1 Gbps. The central link has 100 ms | |||
| look in a test bed. | buffers, and a one-way propagation delay of 65 ms. 65 ms is chosen | |||
| as a "typical number". The actual delay on real links depends, of | ||||
| course, on their length. For example, Melbourne to Los Angeles is | ||||
| about 85 ms. | ||||
| Node_1----Wireless_1.. Node_4 | +------+--------+--------+---------------+-----------+------------+ | |||
| :. / | | load | scale | warmup | test_duration | prefill_t | prefill_si | | |||
| :... Base central link / | +------+--------+--------+---------------+-----------+------------+ | |||
| Node_2----Wireless_2 ....:..Station-------------- Router_2 --- Node_5 | | 60% | 0.5179 | 140 | 82.5 | 89.1 | 30.4 | | |||
| ...: (Router 1) \ | | | | | | | | | |||
| .: \ | | 85% | 0.3091 | 64 | 252.0 | 126.2 | 69.9 | | |||
| Node_3----Wireless_3.: Node_6 | | | | | | | | | |||
| | 110% | 0.2 | 82 | 326.0 | 163.4 | 130.5 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| Figure 3: Wireless dumbell topology for a test-bed. Wireless_n are wire- | Table 4: Trans-Oceanic link scenario parameters. | |||
| less transceivers for connection to the base station | ||||
| load scale experiment time warmup test_time prefill_t prefill_si | 4.4.4. Geostationary Satellite | |||
| 60% 117.852049 14917 20.0 14917 0 0 | ||||
| 85% 85.203155 10250.0 20.0 10230 0 0 | ||||
| 110%: 65.262840 4500.0 20.0 4480 0 0 | ||||
| Table 6: Wireless LAN scenario parameters | The geostationary satellite scenario models an asymmetric test case | |||
| with a high-bandwidth downlink and a low-bandwidth uplink | ||||
| [HENDERSON99][GURTOV04]. The scenario modeled is that of nodes | ||||
| connected to a satellite hub which has an asymmetric satellite | ||||
| connection to the master base station which is connected to the | ||||
| Internet. The capacity of the central link is asymmetric--40 Mbps | ||||
| down, and 4 Mbps up with a one-way propagation delay of 300 ms. Edge | ||||
| links are all bidirectional 100 Mbps links with one-way delays as | ||||
| given in Section 4.1. The central link buffer size is 100 ms for | ||||
| downlink and 1000 ms for uplink. | ||||
| The percentage load for this scenario is based on the sum of the esti- | Note that congestion in this case is often on the 4 Mbps uplink (left | |||
| mate of offered load in both directions since the wireless bottleneck | to right), even though most of the traffic is in the downlink | |||
| link is a shared media. Also, due to contention for the bottleneck link, | direction (right to left). | |||
| the accelerated start up using prefill is not used for this scenario. | ||||
| Note that the prefill values are zero as prefill was found to be of no | +------+--------+--------+---------------+-----------+------------+ | |||
| benefit in this scenario. | | load | scale | warmup | test_duration | prefill_t | prefill_si | | |||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| | 60% | 15.0 | 163 | 2513 | 324.7 | 126.2 | | ||||
| | | | | | | | | ||||
| | 85% | 9.974 | 230 | 2184 | 460.0 | 219.1 | | ||||
| | | | | | | | | ||||
| | 110% | 8.062 | 298 | 2481 | 595.3 | 339.5 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| 4.4.5.1 NS2 implementation specifics | Table 5: Geostationary satellite link scenario parameters. | |||
| In NS2, this is implemented as depicted in Figure 2 The delays between | 4.4.5. Wireless LAN | |||
| Node_1 and Wireless_1 are implemented as delays through the Logical Link | ||||
| layer. | ||||
| Since NS2 don't have a simple way of measuring transport packet loss on | The wireless LAN scenario models WiFi access to a wired backbone, as | |||
| the wireless link, dropped packets are inferred based on flow arrivals | depicted in Figure 3. | |||
| and departures (see figure 4). This gives a good estimate of the average | ||||
| loss rate over a long enough period (long compared with the transit | ||||
| delay of packets), which is the case here. | ||||
| logical link | The capacity of the central link is 100 Mbps, with a one-way delay of | |||
| X--------------------X | 2 ms. All links to Router 2 are wired. Router 1 acts as a base | |||
| | | | station for a shared wireless IEEE 802.11g links. Although 802.11g | |||
| v | | has a peak bit rate of 54 Mbps, its typical throughput rate is much | |||
| n1--+---. | _n4 | lower, and decreases under high loads and bursty traffic. The scales | |||
| : V / | specified here are based on a nominal rate of 6 Mbps. | |||
| n2--+---.:.C0-------------C1---n5 | ||||
| : \_ | ||||
| n3--+---.: n6 | ||||
| Figure 4: Wireless measurements in the ns2 simulator | The Node_[123] to Wireless_[123] connections are to allow the same | |||
| RTT distribution as for the wired scenarios. This is in addition to | ||||
| delays on the wireless link due to CSMA. Figure 3 shows how the | ||||
| topology should look in a test bed. | ||||
| 4.4.5.2 Potential revisions | Node_1----Wireless_1.. Node_4 | |||
| :. / | ||||
| :... Base central link / | ||||
| Node_2----Wireless_2 ....:..Station-------------- Router_2 --- Node_5 | ||||
| ...: (Router 1) \ | ||||
| .: \ | ||||
| Node_3----Wireless_3.: Node_6 | ||||
| Wireless standards are continually evolving. This scenario may need | Figure 3: Wireless dumbell topology for a test-bed. Wireless_n are | |||
| updating in the future to reflect these changes. | wireless transceivers for connection to the base station. | |||
| Wireless links have many other unique properties not captured by delay | +------+--------+--------+---------------+-----------+------------+ | |||
| and bitrate. In particular, the physical layer might suffer from propa- | | load | scale | warmup | test_duration | prefill_t | prefill_si | | |||
| gation effects that result in packet losses, and the MAC layer might add | +------+--------+--------+---------------+-----------+------------+ | |||
| high jitter under contention or large steps in bandwidth due to adaptive | | 60% | 105.66 | 20 | 4147 | 0 | 0 | | |||
| modulation and coding. Specifying these properties is beyond the scope | | | | | | | | | |||
| of the current first version of this test suite but may make useful | | 85% | 85.93 | 20 | 5397 | 0 | 0 | | |||
| additions in the future. | | | | | | | | | |||
| | 110% | 60.17 | 620 | 1797 | 0 | 0 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| Latency in this scenario is very much affected by contention for the | Table 6: Wireless LAN scenario parameters. | |||
| media. It will be good to have end-to-end delay measurements to quantify | ||||
| this characteristic. This could include per packet latency, application | ||||
| burst completion times, and/or application session completion times. | ||||
| 4.4.6 Dial-up Link | The percentage load for this scenario is based on the sum of the | |||
| estimate of offered load in both directions since the wireless | ||||
| bottleneck link is a shared media. Also, due to contention for the | ||||
| bottleneck link, the accelerated start up using prefill is not used | ||||
| for this scenario. | ||||
| The dial-up link scenario models a network with a dial-up link of 64 | 4.4.5.1. NS2 implementation specifics | |||
| kbps and a one-way delay of 5 ms for the central link. This could be | ||||
| thought of as modeling a scenario reported as typical in Africa, with | ||||
| many users sharing a single low-bandwidth dial-up link. Central link | ||||
| buffer size of 1250 ms | ||||
| 4.4.6.1 Note on parameters | In NS2, this is implemented as depicted in Figure 2. The delays | |||
| between Node_1 and Wireless_1 are implemented as delays through the | ||||
| Logical Link layer. | ||||
| The traffic offered by tmix over a low bandwidth link is very bursty. It | Since NS2 doesn't have a simple way of measuring transport packet | |||
| takes a long time to reach some sort of statistical stability. For event | loss on the wireless link, dropped packets are inferred based on flow | |||
| load scale experiment time warmup test_time prefill_t prefill_si | arrivals and departures (see Figure 4). This gives a good estimate | |||
| 60% 10176.2847 1214286 273900 273900 0 0 | of the average loss rate over a long enough period (long compared | |||
| 85% 7679.1920 1071429 513600 557165 664.275 121.147563 | with the transit delay of packets), which is the case here. | |||
| 110%: 5796.7901 2223215 440.0 2221915 859.65 180.428 | ||||
| Table 7: Dial-up link scenario parameters | logical link | |||
| X--------------------X | ||||
| | | | ||||
| v | | ||||
| n1--+-- . | _n4 | ||||
| : V / | ||||
| n2--+-- .:.C0-------------C1---n5 | ||||
| : \_ | ||||
| n3--+-- . n6 | ||||
| based simulators, this is not too much of a problem, as the number of | Figure 4: Wireless measurements in the ns2 simulator. | |||
| packets transferred is not prohibitively high, however for test beds | ||||
| these times are prohibitively long. This scenario needs further investi- | ||||
| gation to address this. | ||||
| 4.4.6.2 Potential revisions | 4.4.5.2. Potential revisions | |||
| Modems often have asymmetric up and down link rates. Asymmetry is tested | Wireless standards are continually evolving. This scenario may need | |||
| in the Geostationary Satellite scenario (section 4.4.4), but the dial-up | updating in the future to reflect these changes. | |||
| scenario could be modified to model this as well. | ||||
| 4.5 Metrics of interest | Wireless links have many other unique properties not captured by | |||
| delay and bitrate. In particular, the physical layer might suffer | ||||
| from propagation effects that result in packet losses, and the MAC | ||||
| layer might add high jitter under contention or large steps in | ||||
| bandwidth due to adaptive modulation and coding. Specifying these | ||||
| properties is beyond the scope of the current first version of this | ||||
| test suite but may make useful additions in the future. | ||||
| For each run, the following metrics will be collected for the central | Latency in this scenario is very much affected by contention for the | |||
| link in each direction: | media. It will be good to have end-to-end delay measurements to | |||
| quantify this characteristic. This could include per packet latency, | ||||
| application burst completion times, and/or application session | ||||
| completion times. | ||||
| 1. the aggregate link utilization, | 4.4.6. Dial-up Link | |||
| 2. the average packet drop rate, and | The dial-up link scenario models a network with a dial-up link of 64 | |||
| kbps and a one-way delay of 5 ms for the central link. This could be | ||||
| thought of as modeling a scenario reported as typical in Africa, with | ||||
| many users sharing a single low-bandwidth dial-up link. Central link | ||||
| buffer size is 1250 ms. Edge links are 100 Mbps. | ||||
| 3. the average queueing delay. | +------+---------+--------+---------------+-----------+------------+ | |||
| | load | scale | warmup | test_duration | prefill_t | prefill_si | | ||||
| +------+---------+--------+---------------+-----------+------------+ | ||||
| | 60% | 10981.7 | 280 | 168804 | 559 | 79 | | ||||
| | | | | | | | | ||||
| | 85% | 7058.5 | 400 | 88094 | 792 | 297 | | ||||
| | | | | | | | | ||||
| | 110% | 5753.1 | 512 | 69891 | 1025 | 184 | | ||||
| +------+---------+--------+---------------+-----------+------------+ | ||||
| These measures only provide a general overview of performance. The goal | Table 7: Dial-up link scenario parameters. | |||
| of this draft is to produce a set of tests that can be "run" at all lev- | ||||
| els of abstraction, from Grid500's WAN, through WAN-in-Lab, testbeds and | ||||
| simulations all the way to theory. Researchers may add additional mea- | ||||
| sures to illustrate other performance aspects as required. | ||||
| Other metrics of general interest include: | 4.4.6.1. Note on parameters | |||
| 1. end-to-end delay measurements | The traffic offered by Tmix over a low bandwidth link is very bursty. | |||
| It takes a long time to reach some sort of statistical stability. | ||||
| For event based simulators, this is not too much of a problem, as the | ||||
| number of packets transferred is not prohibitively high, however for | ||||
| test beds these times are prohibitively long. This scenario needs | ||||
| further investigation to address such issue. | ||||
| 2. flow-centric: | 4.4.6.2. Potential revisions | |||
| 1. sending rate, | Modems often have asymmetric up and down link rates. Asymmetry is | |||
| tested in the Geostationary Satellite scenario (Section 4.4.4), but | ||||
| the dial-up scenario could be modified to model this as well. | ||||
| 2. goodput, | 4.5. Metrics of interest | |||
| 3. cumulative loss and queueing delay trajectory for each | ||||
| flow, over time, | ||||
| 4. the transfer time per flow versus file size | For each run, the following metrics will be collected for the central | |||
| link in each direction: | ||||
| 3. stability properties: | 1. the aggregate link utilization, | |||
| 1. standard deviation of the throughput and the queueing | 2. the average packet drop rate, and | |||
| delay for the bottleneck link, | ||||
| 2. worst case stability measures, especially proving (possi- | 3. the average queueing delay. | |||
| bly theoretically) the stability of TCP. | ||||
| 4.6 Potential Revisions | These measures only provide a general overview of performance. The | |||
| goal of this draft is to produce a set of tests that can be "run" at | ||||
| all levels of abstraction, from Grid500's WAN, through WAN-in-Lab, | ||||
| testbeds and simulations all the way to theory. Researchers may add | ||||
| additional measures to illustrate other performance aspects as | ||||
| required. | ||||
| As with all of the scenarios in this document, the basic scenarios could | Other metrics of general interest include: | |||
| benefit from more measurement studies about characteristics of congested | ||||
| links in the current Internet, and about trends that could help predict | ||||
| the characteristics of congested links in the future. This would | ||||
| include more measurements on typical packet drop rates, and on the range | ||||
| of round-trip times for traffic on congested links. | ||||
| 5 Latency specific experiments | 1. end-to-end delay measurements | |||
| 5.1 Delay/throughput tradeoff as function of queue size | 2. flow-centric: | |||
| Performance in data communications is increasingly limited by latency. | a. sending rate, | |||
| Smaller and smarter buffers improve this measure, but often at the | ||||
| expense of TCP throughput. The purpose of these tests is to investigate | ||||
| delay-throughput tradeoffs, *with and without the particular TCP exten- | ||||
| sion under study*. | ||||
| Different queue management mechanisms have different delay-throughput | b. goodput, | |||
| tradeoffs. It is envisaged that the tests described here would be | ||||
| extended to explore and compare the performance of different Active | ||||
| Queue Management (AQM) techniques. However, this is an area of active | ||||
| research and beyond the scope of this test suite at this time. For now, | ||||
| it may be better to have a dedicated, separate test suite to look at AQM | ||||
| performance issues. | ||||
| 5.1.1 Topology | c. cumulative loss and queueing delay trajectory for each flow, | |||
| over time, | ||||
| These tests use the topology of Figure 4.1. They are based on the access | d. the transfer time per flow versus file size | |||
| link scenario (see section 4.4.2) with the 85% offered load used for | ||||
| this test. | ||||
| For each Drop-Tail scenario set, five tests are run, with buffer sizes | 3. stability properties: | |||
| of 10%, 20%, 50%, 100%, and 200% of the Bandwidth Delay Product (BDP) | ||||
| for a 100 ms base RTT flow (the average base RTT in the access link | ||||
| dumbell scenario is 100 ms). | ||||
| 5.1.1.1 Potential revisions | a. standard deviation of the throughput and the queueing delay | |||
| for the bottleneck link, | ||||
| Buffer sizing is still an area of research. Results from this research | b. worst case stability measures, especially proving (possibly | |||
| may necessitate changes to the test suite so that it models these | theoretically) the stability of TCP. | |||
| changes in the Internet. | ||||
| AQM is currently an area of active research. It is envisaged that these | 4.6. Potential Revisions | |||
| tests could be extended to explore and compare the performance of key | ||||
| AQM techniques when it becomes clear what these will be. For now a dedi- | ||||
| cated AQM test suite would best serve such research efforts. | ||||
| 5.1.2 Flows under test | As with all of the scenarios in this document, the basic scenarios | |||
| could benefit from more measurement studies about characteristics of | ||||
| congested links in the current Internet, and about trends that could | ||||
| help predict the characteristics of congested links in the future. | ||||
| Two kinds of tests should be run: one where all TCP flows use the TCP | This would include more measurements on typical packet drop rates, | |||
| modification under study, and another where no TCP flows use such modi- | and on the range of round-trip times for traffic on congested links. | |||
| fication, as a "baseline" version. | ||||
| The level of traffic from the traffic generator is the same as that | 5. Latency specific experiments | |||
| described in section 4.4.2. | ||||
| 5.1.3 Metrics of interest | 5.1. Delay/throughput tradeoff as function of queue size | |||
| For each test, three figures are kept, the average throughput, the aver- | Performance in data communications is increasingly limited by | |||
| age packet drop rate, and the average queueing delay over the measure- | latency. Smaller and smarter buffers improve this measure, but often | |||
| ment period. | at the expense of TCP throughput. The purpose of these tests is to | |||
| investigate delay-throughput tradeoffs, _with and without the | ||||
| particular TCP extension under study_. | ||||
| Ideally it would be better to have more complete statistics, especially | Different queue management mechanisms have different delay-throughput | |||
| for queueing delay where the delay distribution can be important. It | tradeoffs. It is envisaged that the tests described here would be | |||
| would also be good for this to be illustrated with delay/bandwidth | extended to explore and compare the performance of different Active | |||
| graph, the x-axis shows the average queueing delay, and the y-axis shows | Queue Management (AQM) techniques. However, this is an area of | |||
| the average throughput. For the drop-rate graph, the x-axis shows the | active research and beyond the scope of this test suite at this time. | |||
| average queueing delay, and the y-axis shows the average packet drop | For now, it may be better to have a dedicated, separate test suite to | |||
| rate. Each pair of graphs illustrates the delay/throughput/drop-rate | look at AQM performance issues. | |||
| tradeoffs with and without the TCP mechanism under evaluation. For an | ||||
| AQM mechanism, each pair of graphs also illustrates how the throughput | ||||
| and average queue size vary (or don't vary) as a function of the traffic | ||||
| load. Examples of delay/throughput tradeoffs appear in Figures 1-3 | ||||
| of[12] and Figures 4-5 of[13]. | ||||
| 5.2 Ramp up time: completion time of one flow | 5.1.1. Topology | |||
| These tests aim to determine how quickly existing flows make room for | These tests use the topology of Section 4.1. They are based on the | |||
| new flows. | access link scenario (see Section 4.4.2) with the 85% offered load | |||
| used for this test. | ||||
| 5.2.1 Topology and background traffic | For each Drop-Tail scenario set, five tests are run, with buffer | |||
| sizes of 10%, 20%, 50%, 100%, and 200% of the Bandwidth Delay Product | ||||
| (BDP) for a 100 ms base RTT flow (the average base RTT in the access | ||||
| link dumbbell scenario is 100 ms). | ||||
| The ramp up time test uses the topology shown in figure 5. Two long- | 5.1.1.1. Potential revisions | |||
| lived test TCP connections are used in this experiment. Test TCP connec- | ||||
| tion 1 is run between T_n1 and T_n3, with data flowing from T_n1 to | ||||
| T_n3, and test TCP source 2 runs between T_n2 and T_n4, with data flow- | ||||
| ing from T_n2 to T_n4. The background traffic topology is identical to | ||||
| that used in the basic scenarios (see section 4 and Figure 2); i.e., | ||||
| background flows run between nodes B_n1 to B_n6. | ||||
| T_n2 T_n4 | Buffer sizing is still an area of research. Results from this | |||
| | | | research may necessitate changes to the test suite so that it models | |||
| | | | these changes in the Internet. | |||
| T_n1 | | T_n3 | ||||
| \ | | / | ||||
| \ | |/ | ||||
| B_n1--- R1--------------------------R2--- B_n4 | ||||
| / | |\ | ||||
| / | | \ | ||||
| B_n2 | | B_n5 | ||||
| | | | ||||
| B_n3 B_n6 | ||||
| Figure 5: Ramp up dumbbell test topology | AQM is currently an area of active research as well. It is envisaged | |||
| that these tests could be extended to explore and compare the | ||||
| performance of key AQM techniques when it becomes clear what these | ||||
| will be. For now a dedicated AQM test suite would best serve such | ||||
| research efforts. | ||||
| Experiments are conducted with capacities of 56 kbps, 10 Mbps and 1 Gbps | 5.1.2. Flows under test | |||
| for the central link. The 56 kbps case is included to investigate the | ||||
| performance using low bit rate devices such as mobile handsets or dial | ||||
| up modems. | ||||
| For each capacity, three RTT scenarios should be tested, in which the | Two kinds of tests should be run: one where all TCP flows use the TCP | |||
| existing and newly arriving flow have RTTs of (80,80), (120,30), and | modification under study, and another where no TCP flows use such | |||
| (30,120) respectively. This is made up of a central link has a 2 ms | modification, as a "baseline" version. | |||
| delay in each direction, and test link delays as shown in Table 5.2.1. | ||||
| Throughout the experiment, the offered load of the background (or cross) | The level of traffic from the traffic generator is the same as that | |||
| traffic is 10% of the central link capacity in the right to left direc- | described in Section 4.4.2. | |||
| tion. The background traffic is generated in the same manner as for the | ||||
| basic scenarios (see section 4). | ||||
| RTT T_n1 T_n2 T_n3 T_n4 | 5.1.3. Metrics of interest | |||
| scenario (ms) (ms) (ms) (ms) | ||||
| 1 0 0 38 38 | ||||
| 2 23 12 35 1 | ||||
| 3 12 23 1 35 | ||||
| Table 8: Link delays for the test TCP source connections to the central | For each test, three figures are kept: the average throughput, the | |||
| link | average packet drop rate, and the average queueing delay over the | |||
| measurement period. | ||||
| Central link scale experiment time warmup test_time prefill_t prefill_si | Ideally it would be better to have more complete statistics, | |||
| 56 kbps | especially for queueing delay where the delay distribution can be | |||
| 10 Mbps | important. It would also be good for this to be illustrated with a | |||
| 1 Gbps 3.355228 324 9.18 2.820201 | delay/bandwidth graph, where the x-axis shows the average queueing | |||
| delay, and the y-axis shows the average throughput. For the drop- | ||||
| rate graph, the x-axis shows the average queueing delay, and the | ||||
| y-axis shows the average packet drop rate. Each pair of graphs | ||||
| illustrates the delay/throughput/drop-rate tradeoffs with and without | ||||
| the TCP mechanism under evaluation. For an AQM mechanism, each pair | ||||
| of graphs also illustrates how the throughput and average queue size | ||||
| vary (or don't vary) as a function of the traffic load. Examples of | ||||
| delay/throughput tradeoffs appear in Figures 1-3 of [FLOYD01] and | ||||
| Figures 4-5 of [ANDREW08]. | ||||
| Table 9: Ramp-up time scenario parameters (times in seconds) | 5.2. Ramp up time: completion time of one flow | |||
| All traffic for this scenario uses the TCP extension under test. | These tests aim to determine how quickly existing flows make room for | |||
| new flows. | ||||
| 5.2.2 Flows under test | 5.2.1. Topology and background traffic | |||
| Traffic is dominated by the two long lived test flows, because we | The ramp up time test uses the topology shown in Figure 5. Two long- | |||
| believe that to be the worst case, in which convergence is slowest. | lived test TCP connections are used in this experiment. Test TCP | |||
| connection 1 is connected between T_n1 and T_n3, with data flowing | ||||
| from T_n3 to T_n1, and test TCP source 2 is connected between T_n2 | ||||
| and T_n4, with data flowing from T_n4 to T_n2. The background | ||||
| traffic topology is identical to that used in the basic scenarios | ||||
| (see Section 4 and Figure 2); i.e., background flows run between | ||||
| nodes B_n1 to B_n6. | ||||
| One flow starts in "equilibrium" (at least having finished normal slow- | T_n2 T_n4 | |||
| start). A new flow then starts; slow-start is disabled by setting the | | | | |||
| initial slow-start threshold to the initial CWND. Slow start is disabled | | | | |||
| because this is the worst case, and could happen if a loss occurred in | T_n1 | | T_n3 | |||
| the first RTT. | \ | | / | |||
| \ | |/ | ||||
| B_n1--- R1--------------------------R2--- B_n4 | ||||
| / | |\ | ||||
| / | | \ | ||||
| B_n2 | | B_n5 | ||||
| | | | ||||
| B_n3 B_n6 | ||||
| The experiment ends once the new flow has run for five minutes. Both of | Figure 5: Ramp up dumbbell test topology. | |||
| the flows use 1500-byte packets. The test should be run both with Stan- | ||||
| dard TCP and with the TCP extension under test for comparison. | ||||
| 5.2.2.1 Potential Revisions | Experiments are conducted with capacities of 10 Mbps and 1 Gbps for | |||
| the central link. Edge links are 1 Gbps. | ||||
| It may also be useful to conduct the tests with slow start enabled too, | For each capacity, three RTT scenarios should be tested, in which the | |||
| if time permits. | existing and newly arriving flow have RTTs of (80,80), (120,30), and | |||
| (30,120) respectively. This is achieved by having a central link | ||||
| with 2 ms delay in each direction, and test link delays as shown in | ||||
| Table 8. | ||||
| 5.2.3 Metrics of interest | The buffers in R1 and R2 are sized at BDP (80ms worth of 1500B packet | |||
| The output of these experiments are the time until the 1500times10n th | buffering). | |||
| byte of the new flow is received, for n = 1,2,... . This measures how | ||||
| quickly the existing flow releases capacity to the new flow, without | ||||
| requiring a definition of when "fairness" has been achieved. By leaving | ||||
| the upper limit on n unspecified, the test remains applicable to very | ||||
| high-speed networks. | ||||
| A single run of this test cannot achieve statistical reliability by run- | +--------------+------+------+------+------+ | |||
| ning for a long time. Instead, an average over at least three runs | | RTT scenario | T_n1 | T_n2 | T_n3 | T_n4 | | |||
| should be taken. Each run must use different cross traffic. Different | +--------------+------+------+------+------+ | |||
| cross traffic can be generated using the standard tmix trace files by | | 1 | 0 | 0 | 38 | 38 | | |||
| changing the random number seed used to shuffle the traces. | | | | | | | | |||
| | 2 | 23 | 12 | 35 | 1 | | ||||
| | | | | | | | ||||
| | 3 | 12 | 23 | 1 | 35 | | ||||
| +--------------+------+------+------+------+ | ||||
| 5.3 Transients: release of bandwidth, arrival of many flows | Table 8: Link delays for the test TCP source connections to the | |||
| central link. Link delays are in milliseconds. | ||||
| These tests investigate the impact of a sudden change of congestion | +-----+---------+--------+--------+--------+-----------+------------+ | |||
| level. They differ from the "Ramp up time" test in that the congestion | | Tes | Central | Seed | scale | warmup | prefill_t | prefill_si | | |||
| here is caused by unresponsive traffic. | | t | link | offset | | | | | | |||
| +-----+---------+--------+--------+--------+-----------+------------+ | ||||
| | 1 | 10 Mbps | 1 | 77.322 | 12 | 500 | 131.18 | | ||||
| | | | | | | | | | ||||
| | 2 | 10 Mbps | 11 | 72.992 | 114 | 500 | 187.14 | | ||||
| | | | | | | | | | ||||
| | 3 | 10 Mbps | 21 | 68.326 | 12 | 500 | 246.13 | | ||||
| | | | | | | | | | ||||
| | 1 | 1 Gbps | 1 | 0.7 | 102 | 200 | 100.11 | | ||||
| | | | | | | | | | ||||
| | 2 | 1 Gbps | 11 | 0.7 | 102 | 200 | 103.07 | | ||||
| | | | | | | | | | ||||
| | 3 | 1 Gbps | 21 | 0.7 | 102 | 200 | 101.02 | | ||||
| +-----+---------+--------+--------+--------+-----------+------------+ | ||||
| Note that this scenario has not yet been implemented in the NS2 example | For all tests: test_duration = 600 seconds. | |||
| test suite. | ||||
| 5.3.1 Topology and background traffic | Table 9: Ramp-up time scenario parameters (times in seconds). | |||
| The network is a single bottleneck link (see Figure 6), with bit rate | For each RTT scenario, three tests are run with a different offset to | |||
| 100 Mbps, with a buffer of 1024 packets (i.e., 120% of the BDP at 100 | the random number generator's base seed (see Table 9). | |||
| ms). | ||||
| T T | Throughout the experiment, the offered load of the background (or | |||
| \ / | cross) traffic is 50% of the central link capacity in the right to | |||
| \ / | left direction. The background traffic is generated in the same | |||
| R1--------------------------R2 | manner as for the basic scenarios (see Section 4) except that the bin | |||
| / \ | size for shuffling is set to 3 s for all scenarios. | |||
| / \ | ||||
| U U | ||||
| Figure 6: Transient test topology | All traffic for this scenario uses the TCP extension under test. | |||
| The transient traffic is generated using UDP, to avoid overlap with the | 5.2.2. Flows under test | |||
| ramp-up time scenario (see section 5.2) and isolate the behavior of the | ||||
| flows under study. | ||||
| Three transients are tested: | Traffic is dominated by the two long lived test flows, because we | |||
| believe that to be the worst case, in which convergence is slowest. | ||||
| 1. step decrease from 75 Mbps to 0 Mbps, | One flow starts in "equilibrium" (at least having finished normal | |||
| slow-start). A new flow then starts; slow-start is disabled by | ||||
| setting the initial slow-start threshold to the initial CWND. Slow | ||||
| start is disabled because this is the worst case, and could happen if | ||||
| a loss occurred in the first RTT. | ||||
| 2. step increase from 0 Mbps to 75 Mbps, | Both of the flows use 1500-byte packets. The test should be run both | |||
| with Standard TCP and with the TCP extension under test for | ||||
| comparison. | ||||
| 3. 30 step increases of 2.5 Mbps at 1 s intervals. | 5.2.2.1. Potential Revisions | |||
| These transients occur after the flow under test has exited slow-start, | ||||
| and remain until the end of the experiment. | ||||
| There is no TCP cross traffic in this experiment. | It may also be useful to conduct the tests with slow start enabled | |||
| too, if time permits. | ||||
| 5.3.2 Flows under test | 5.2.3. Metrics of interest | |||
| There is one flow under test: a long-lived flow in the same direction as | The output of these experiments are the time until the (1500 * 10^n)- | |||
| the transient traffic, with a 100 ms RTT. The test should be run both | th byte of the new flow is received, for n = 1,2,... . This measures | |||
| with Standard TCP and with the TCP extension under test for comparison. | how quickly the existing flow releases capacity to the new flow, | |||
| without requiring a definition of when "fairness" has been achieved. | ||||
| By leaving the upper limit on n unspecified, the test remains | ||||
| applicable to very high-speed networks. | ||||
| 5.3.3 Metrics of interest | A single run of this test cannot achieve statistical reliability by | |||
| running for a long time. Instead, an average over at least three | ||||
| runs should be taken. Different cross traffic is generated using the | ||||
| standard Tmix trace files by changing the random number seed used to | ||||
| shuffle the traces (as listed in Table 9). | ||||
| For the decrease in cross traffic, the metrics are | 5.3. Transients: release of bandwidth, arrival of many flows | |||
| 1. the time taken for the TCP flow under test to increase its | These tests investigate the impact of a sudden change of congestion | |||
| window to 60%, 80% and 90% of its BDP, and | level. They differ from the "Ramp up time" test in that the | |||
| congestion here is caused by unresponsive traffic. | ||||
| 2. the maximum change of the window in a single RTT while the | Note that this scenario has not yet been implemented in the NS2 | |||
| window is increasing to that value. | example test suite. | |||
| For cases with an increase in cross traffic, the metric is the number of | 5.3.1. Topology and background traffic | |||
| *cross traffic* packets dropped from the start of the transient until | ||||
| 100 s after the transient. This measures the harm caused by algorithms | ||||
| which reduce their rates too slowly on congestion. | ||||
| 6 Throughput- and fairness-related experiments | The network is a single bottleneck link (see Figure 6), with bit rate | |||
| 100 Mbps, with a buffer of 1024 packets (i.e., 120% of the BDP at 100 | ||||
| ms). Edge links are also 100 Mbps. | ||||
| 6.1 Impact on standard TCP traffic | T T | |||
| \ / | ||||
| \ / | ||||
| R1--------------------------R2 | ||||
| / \ | ||||
| / \ | ||||
| U U | ||||
| Many new TCP proposals achieve a gain, G, in their own throughput at the | Figure 6: Transient test topology. | |||
| expense of a loss, L, in the throughput of standard TCP flows sharing a | ||||
| bottleneck, as well as by increasing the link utilization. In this con- | ||||
| text a "standard TCP flow" is defined as a flow using SACK TCP [14] but | ||||
| without ECN [15]. | ||||
| The intention is for a "standard TCP flow" to correspond to TCP as com- | The transient traffic is generated using UDP, to avoid overlap with | |||
| monly deployed in the Internet today (with the notable exception of | the ramp-up time scenario (see Section 5.2) and isolate the behavior | |||
| CUBIC, which runs by default on the majority of web servers). This sce- | of the flows under study. | |||
| nario quantifies this trade off. | ||||
| 6.1.1 Topology and background traffic | Three transients are tested: | |||
| The basic dumbbell topology of section 4.1 is used with the same capaci- | 1. step decrease from 75 Mbps to 0 Mbps, | |||
| ties as for the ramp-up time tests in section 5.2. All traffic in this | ||||
| scenario comes from the flows under test. | ||||
| A_1 A_4 | 2. step increase from 0 Mbps to 75 Mbps, | |||
| B_1 B_4 | ||||
| \ / | ||||
| \ central link / | ||||
| A_2 --- Router_1 -------------- Router_2 --- A_5 | ||||
| B_2 / \ B_5 | ||||
| / \ | ||||
| A_3 A_6 | ||||
| B_3 B_6 | ||||
| Figure 7: Impact on Standard TCP dumbbell | 3. 30 step increases of 2.5 Mbps at 1 s intervals. | |||
| 6.1.2 Flows under test | These transients occur after the flow under test has exited slow- | |||
| start, and remain until the end of the experiment. | ||||
| The scenario is performed by conducting pairs of experiments, with iden- | There is no TCP cross traffic in this experiment. | |||
| tical flow arrival times and flow sizes. Within each experiment, flows | ||||
| are divided into two camps. For every flow in camp A, there is a flow | ||||
| with the same size, source and destination in camp B, and vice versa. | ||||
| These experiments use duplicate copies of the Tmix traces used in the | 5.3.2. Flows under test | |||
| basic scenarios (see section 4). Two offered loads are tested: 50% and | ||||
| 100%. | ||||
| Two experiments are conducted. A BASELINE experiment where both camp A | There is one flow under test: a long-lived flow in the same direction | |||
| and camp B use standard TCP. In the second, called MIX, camp A uses | as the transient traffic, with a 100 ms RTT. The test should be run | |||
| standard TCP and camp B uses the new TCP extension under evaluation. | both with Standard TCP and with the TCP extension under test for | |||
| comparison. | ||||
| The rationale for having paired camps is to remove the statistical | 5.3.3. Metrics of interest | |||
| uncertainty which would come from randomly choosing half of the flows to | ||||
| run each algorithm. This way, camp A and camp B have the same loads. | ||||
| 6.1.3 Metrics of interest | For the decrease in cross traffic, the metrics are | |||
| load scale experiment time warmup test_time prefill_t prefill_si | ||||
| 50% 13.780346 660 104.0 510.0 45.90 14.262121 | ||||
| 100% 5.881093 720 49.0 582.0 91.80 23.382947 | ||||
| Table 10: Impact on Standard TCP scenario parameters | 1. the time taken for the TCP flow under test to increase its window | |||
| to 60%, 80% and 90% of its BDP, and | ||||
| The gain achieved by the new algorithm and loss incurred by standard TCP | 2. the maximum change of the window in a single RTT while the window | |||
| are given, respectively, by G=T(B)_Mix/T(B)_Baseline and | is increasing to that value. | |||
| L=T(A)_Mix/T(A)_Baseline where T(x) is the throughput obtained by camp | ||||
| x, measured as the amount of data acknowledged by the receivers (that | ||||
| is, "goodput"). | ||||
| The loss, L, is analogous to the "bandwidth stolen from TCP" in [16] and | For cases with an increase in cross traffic, the metric is the number | |||
| "throughput degradation" in [17]. | of _cross traffic_ packets dropped from the start of the transient | |||
| until 100 s after the transient. This measures the harm caused by | ||||
| algorithms which reduce their rates too slowly on congestion. | ||||
| A plot of G vs L represents the tradeoff between efficiency and loss. | 6. Throughput- and fairness-related experiments | |||
| 6.1.3.1 Suggestions | 6.1. Impact on standard TCP traffic | |||
| Other statistics of interest are the values of G and L for each | Many new TCP proposals achieve a gain, G, in their own throughput at | |||
| quartile of file sizes. This will reveal whether the new proposal is | the expense of a loss, L, in the throughput of standard TCP flows | |||
| more aggressive in starting up or more reluctant to release its share of | sharing a bottleneck, as well as by increasing the link utilization. | |||
| capacity. | In this context a "standard TCP flow" is defined as a flow using SACK | |||
| TCP [RFC2883] but without ECN [RFC3168]. | ||||
| As always, testing at other loads and averaging over multiple runs is | The intention is for a "standard TCP flow" to correspond to TCP as | |||
| encouraged. | commonly deployed in the Internet today (with the notable exception | |||
| of CUBIC, which runs by default on the majority of web servers). | ||||
| This scenario quantifies this trade off. | ||||
| 6.2 Intra-protocol and inter-RTT fairness | 6.1.1. Topology and background traffic | |||
| These tests aim to measure bottleneck bandwidth sharing among flows of | The basic dumbbell topology of Section 4.1 is used with the same | |||
| the same protocol with the same RTT, which represents the flows going | capacities as for the ramp-up time tests in Section 5.2. All traffic | |||
| through the same routing path. The tests also measure inter-RTT fair- | in this scenario comes from the flows under test. | |||
| ness, the bandwidth sharing among flows of the same protocol where rout- | ||||
| ing paths have a common bottleneck segment but might have different | ||||
| overall paths with different RTTs. | ||||
| 6.2.1 Topology and background traffic | A_1 A_4 | |||
| B_1 B_4 | ||||
| \ / | ||||
| \ central link / | ||||
| A_2 --- Router_1 -------------- Router_2 --- A_5 | ||||
| B_2 / \ B_5 | ||||
| / \ | ||||
| A_3 A_6 | ||||
| B_3 B_6 | ||||
| The topology, the capacity and cross traffic conditions of these tests | Figure 7: Dumbbell Topology for Assessing Impact on Standard TCP. | |||
| are the same as in section 5.2. The bottleneck buffer is varied from | ||||
| 25% to 200% of the BDP for a 100 ms base RTT flow, increasing by factors | ||||
| of 2. | ||||
| 6.2.2 Flows under test | 6.1.2. Flows under test | |||
| We use two flows of the same protocol variant for this experiment. The | ||||
| RTTs of the flows range from 10 ms to 160 ms (10 ms, 20 ms, 40 ms, 80 | ||||
| ms, and 160 ms) such that the ratio of the minimum RTT over the maximum | ||||
| RTT is at most 1/16. | ||||
| 6.2.2.1 Intra-protocol fairness: | The scenario is performed by conducting pairs of experiments, with | |||
| identical flow arrival times and flow sizes. Within each experiment, | ||||
| flows are divided into two camps. For every flow in camp A, there is | ||||
| a flow with the same size, source and destination in camp B, and vice | ||||
| versa. | ||||
| For each run, two flows with the same RTT, taken from the range of RTTs | These experiments use duplicate copies of the Tmix traces used in the | |||
| above, start randomly within the first 10% of the experiment duration. | basic scenarios (see Section 4). Two offered loads are tested: 50% | |||
| The order in which these flows start doesn't matter. An additional test | and 100%. | |||
| of interest, but not part of this suite, would involve two extreme cases | ||||
| - two flows with very short or long RTTs (e.g., a delay less than 1-2 ms | ||||
| representing communication happening in a data-center, and a delay | ||||
| larger than 600 ms representing communication over a satellite link). | ||||
| 6.2.2.2 Inter-RTT fairness: | Two experiments are conducted. A BASELINE experiment where both camp | |||
| A and camp B use standard TCP. In the second, called MIX, camp A | ||||
| uses standard TCP and camp B uses the new TCP extension under | ||||
| evaluation. | ||||
| For each run, one flow with a fixed RTT of 160 ms starts first, and | The rationale for having paired camps is to remove the statistical | |||
| another flow with a different RTT taken from the range of RTTs above, | uncertainty which would come from randomly choosing half of the flows | |||
| joins afterward. The starting times of both two flows are randomly cho- | to run each algorithm. This way, camp A and camp B have the same | |||
| sen within the first 10% of the experiment as before. | loads. | |||
| 6.2.3 Metrics of interest | +------+--------+--------+---------------+-----------+------------+ | |||
| | load | scale | warmup | test_duration | prefill_t | prefill_si | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| | 50% | 13.587 | 26 | 508 | 45.90 | 14.61 | | ||||
| | | | | | | | | ||||
| | 100% | 5.780 | 50 | 498 | 91.80 | 22.97 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| The output of this experiment is the ratio of the average throughput | Table 10: Impact on Standard TCP scenario parameters. | |||
| values of the two flows. The output also includes the packet drop rate | ||||
| for the congested link. | ||||
| 6.3 Multiple bottlenecks | 6.1.3. Metrics of interest | |||
| These experiments explore the relative bandwidth for a flow that tra- | The gain achieved by the new algorithm and loss incurred by standard | |||
| verses multiple bottlenecks, with respect to that of flows that have the | TCP are given, respectively, by G = T(B)_Mix/T(B)_Baseline and L = | |||
| same round-trip time but each traverse only one of the bottleneck links. | T(A)_Mix/T(A)_Baseline where T(x) is the throughput obtained by camp | |||
| x, measured as the amount of data acknowledged by the receivers (that | ||||
| is, "goodput"). | ||||
| 6.3.1 Topology and traffic | The loss, L, is analogous to the "bandwidth stolen from TCP" in | |||
| [SOUZA03] and "throughput degradation" in [SHIMONISHI07]. | ||||
| The topology is a "parking-lot" topology with three (horizontal) bottle- | A plot of G vs L represents the tradeoff between efficiency and loss. | |||
| neck links and four (vertical) access links. The bottleneck links have | ||||
| a rate of 100 Mbps, and the access links have a rate of 1 Gbps. | ||||
| All flows have a round-trip time of 60 ms, to enable the effect of | 6.1.3.1. Suggestions | |||
| traversing multiple bottlenecks to be distinguished from that of differ- | ||||
| ent round trip times. | ||||
| This can be achieved in both a symmetric and asymmetric way (see figures | Other statistics of interest are the values of G and L for each | |||
| 8 and 9). It is not clear whether there are interesting performance | quartile of file sizes. This will reveal whether the new proposal is | |||
| differences between these two topologies, and if so, which is more typi- | more aggressive in starting up or more reluctant to release its share | |||
| cal of the actual internet. | of capacity. | |||
| > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > | As always, testing at other loads and averaging over multiple runs is | |||
| __________ 0ms _________________ 0ms __________________ 30ms ____ | encouraged. | |||
| | ................ | ................ | ................ | | ||||
| | : : | : : | : : | | ||||
| | : : | : : | : : | | ||||
| 0ms : : 30ms : : 0ms : : 0ms | ||||
| | ^ V | ^ V | ^ V | | ||||
| Figure 8: Asymmetric parking lot topology | 6.2. Intra-protocol and inter-RTT fairness | |||
| > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > | These tests aim to measure bottleneck bandwidth sharing among flows | |||
| __________ 10ms _______________ 10ms ________________ 10ms ___ | of the same protocol with the same RTT, which represents the flows | |||
| | ............... | ............... | ............... | | going through the same routing path. The tests also measure inter- | |||
| | : : | : : | : : | | RTT fairness, the bandwidth sharing among flows of the same protocol | |||
| | : : | : : | : : | | where routing paths have a common bottleneck segment but might have | |||
| 10ms : : 10ms : : 10ms : : 10ms | different overall paths with different RTTs. | |||
| | ^ V | ^ V | ^ V | | ||||
| Figure 9: Symmetric parking lot topology | 6.2.1. Topology and background traffic | |||
| The three hop topology used in the test suite is based on the symmetric | The topology, the capacity and cross traffic conditions of these | |||
| topology (see figure 10). Bidirectional traffic flows between Nodes 1 | tests are the same as in Section 5.2. The bottleneck buffer is | |||
| and 8, 2 and 3, 4 and 5, and 6 and 7. | varied from 25% to 200% of the BDP for a 100 ms base RTT flow, | |||
| increasing by factors of 2. | ||||
| The first four Tmix trace files are used to generate the traffic. Each | 6.2.2. Flows under test | |||
| Tmix source offers the same load for each experiment. Three experiments | ||||
| are conducted at 30%, 40%, and 50% offered loads per Tmix source. As two | ||||
| sources share each of the three bottlenecks (A,B,C), the combined | ||||
| offered loads on the bottlenecks is 60%, 80%, and 100% respectively. | ||||
| All traffic uses the new TCP extension under test. | We use two flows of the same protocol variant for this experiment. | |||
| The RTTs of the flows range from 10 ms to 160 ms (10 ms, 20 ms, 40 | ||||
| ms, 80 ms, and 160 ms) such that the ratio of the minimum RTT over | ||||
| the maximum RTT is at most 1/16. | ||||
| 6.3.1.1 Potential Revisions | 6.2.2.1. Intra-protocol fairness | |||
| Node_1 Node_3 Node_5 Node_7 | ||||
| \ | | / | ||||
| \ |10ms |10ms /10ms | ||||
| 0ms \ | | / | ||||
| \ A | B | C / | ||||
| Router1 ---Router2---Router3--- Router4 | ||||
| / 10ms | 10ms | 10ms \ | ||||
| / | | \ | ||||
| 10ms/ |10ms |10ms \ 0ms | ||||
| / | | \ | ||||
| Node_2 Node_4 Node_6 Node_8 | ||||
| Flow 1: Node_1 <--> Node_8 | For each run, two flows with the same RTT, taken from the range of | |||
| Flow 2: Node_2 <--> Node_3 | RTTs above, start randomly within the first 10% of the experiment | |||
| Flow 3: Node_4 <--> Node_5 | duration. The order in which these flows start doesn't matter. An | |||
| Flow 4: Node_6 <--> Node_7 | additional test of interest, but not part of this suite, would | |||
| involve two extreme cases - two flows with very short or long RTTs | ||||
| (e.g., a delay less than 1-2 ms representing communication happening | ||||
| in a data-center, and a delay larger than 600 ms representing | ||||
| communication over a satellite link). | ||||
| Figure 10: Test suite parking lot topology | 6.2.2.2. Inter-RTT fairness | |||
| load scale 1 prefill_t prefill_si scale 2 prefill_t | For each run, one flow with a fixed RTT of 160 ms starts first, and | |||
| prefill_si scale 3 prefill_t prefill_si total time warmup test_time | another flow with a different RTT taken from the range of RTTs above, | |||
| 50% tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd | joins afterward. The starting times of both two flows are randomly | |||
| 100% tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd tbd | chosen within the first 10% of the experiment as before. | |||
| Table 11: Multiple bottleneck scenario parameters | 6.2.3. Metrics of interest | |||
| Parking lot models with more hops may also be of interest. | The output of this experiment is the ratio of the average throughput | |||
| values of the two flows. The output also includes the packet drop | ||||
| rate for the congested link. | ||||
| 6.3.2 Metrics of interest | 6.3. Multiple bottlenecks | |||
| The output for this experiment is the ratio between the average through- | These experiments explore the relative bandwidth for a flow that | |||
| put of the single-bottleneck flows and the throughput of the multiple- | traverses multiple bottlenecks, with respect to that of flows that | |||
| bottleneck flow, measured after the warmup period. Output also includes | have the same round-trip time but each traverse only one of the | |||
| the packet drop rate for the congested link. | bottleneck links. | |||
| 7 Implementations | 6.3.1. Topology and traffic | |||
| At the moment the only implementation effort is using the NS2 simulator. | ||||
| It is still a work in progress, but contains the base to most of the | ||||
| test, as well as the algorithms that determined the test parameters. It | ||||
| is being made available to the community for further development and | ||||
| verification through ***** url *** | ||||
| At the moment there are no ongoing test bed implementations. We invite | The topology is a "parking-lot" topology with three (horizontal) | |||
| the community to initiate and contribute to the development of these | bottleneck links and four (vertical) access links. The bottleneck | |||
| test beds. | links have a rate of 100 Mbps, and the access links have a rate of 1 | |||
| Gbps. | ||||
| 8 Acknowledgments | All flows have a round-trip time of 60 ms, to enable the effect of | |||
| traversing multiple bottlenecks to be distinguished from that of | ||||
| different round trip times. | ||||
| This work is based on a paper by Lachlan Andrew, Cesar Marcondes, Sally | This can be achieved in both a symmetric and asymmetric way (see | |||
| Floyd, Lawrence Dunn, Romaric Guillier, Wang Gang, Lars Eggert, Sangtae | Figure 8 and Figure 9). It is not clear whether there are | |||
| Ha and Injong Rhee [1]. | interesting performance differences between these two topologies, and | |||
| if so, which is more typical of the actual Internet. | ||||
| The authors would also like to thank Roman Chertov, Doug Leith, Saverio | > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > | |||
| Mascolo, Ihsan Qazi, Bob Shorten, David Wei and Michele Weigle for valu- | __________ 0ms _________________ 0ms __________________ 30ms ____ | |||
| able feedback and acknowledge the work of Wang Gang to start the NS2 | | ................ | ................ | ................ | | |||
| implementation. | | : : | : : | : : | | |||
| | : : | : : | : : | | ||||
| 0ms : : 30ms : : 0ms : : 0ms | ||||
| | ^ V | ^ V | ^ V | | ||||
| This work has been partly funded by the European Community under its | Figure 8: Asymmetric parking lot topology. | |||
| Seventh Framework Programme through the Reducing Internet Transport | ||||
| Latency (RITE) project (ICT-317700), by the Aurora-Hubert Curien Part- | ||||
| nership program "ANT" (28844PD / 221629), and under Australian Research | ||||
| Council's Discovery Projects funding scheme (project number 0985322). | ||||
| 9 Bibliography | > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > | |||
| __________ 10ms _______________ 10ms ________________ 10ms ___ | ||||
| | ............... | ............... | ............... | | ||||
| | : : | : : | : : | | ||||
| | : : | : : | : : | | ||||
| 10ms : : 10ms : : 10ms : : 10ms | ||||
| | ^ V | ^ V | ^ V | | ||||
| [1] L. L. H. Andrew, C. Marcondes, S. Floyd, L. Dunn, R. Guillier, W. | Figure 9: Symmetric parking lot topology. | |||
| Gang, L. Eggert, S. Ha, and I. Rhee, "Towards a common TCP evaluation | ||||
| suite," in Protocols for Fast, Long Distance Networks (PFLDnet), 5-7 Mar | ||||
| 2008. | ||||
| [2] S. Floyd and E. Kohler, "Internet research needs better models," | The three hop topology used in the test suite is based on the | |||
| SIGCOMM Comput. Commun. Rev., vol. 33, pp. 29--34, Jan. 2003. | symmetric topology (see Figure 10). Bidirectional traffic flows | |||
| between Nodes 1 and 8, 2 and 3, 4 and 5, and 6 and 7. | ||||
| [3] S. Mascolo and F. Vacirca, "The effect of reverse traffic on the | Node_1 Node_3 Node_5 Node_7 | |||
| performance of new TCP congestion control algorithms for gigabit net- | \ | | / | |||
| works," in Protocols for Fast, Long Distance Networks (PFLDnet), 2006. | \ |10ms |10ms /10ms | |||
| 0ms\ | | / | ||||
| \ A | B | C / | ||||
| Router1 ---Router2---Router3--- Router4 | ||||
| / 10ms | 10ms | 10ms \ | ||||
| / | | \ | ||||
| 10ms/ |10ms |10ms \ 0ms | ||||
| / | | \ | ||||
| Node_2 Node_4 Node_6 Node_8 | ||||
| [4] D. Rossi, M. Mellia, and C. Casetti, "User patience and the web: a | Flow 1: Node_1 <--> Node_8 | |||
| hands-on investigation," in Global Telecommunications Conference, 2003. | Flow 2: Node_2 <--> Node_3 | |||
| GLOBECOM | Flow 3: Node_4 <--> Node_5 | |||
| Flow 4: Node_6 <--> Node_7 | ||||
| [5] M. C. Weigle, P. Adurthi, F. Hernandez-Campos, K. Jeffay, and F. D. | Figure 10: Test suite parking lot topology. | |||
| Smith, "Tmix: a tool for generating realistic TCP application workloads | ||||
| in ns-2," SIGCOMM Comput. Commun. Rev., vol. 36, pp. 65--76, July 2006. | ||||
| [6] G. project, "Tmix on ProtoGENI." | The r4s1.org Tmix trace file is used to generate the traffic. Each | |||
| Tmix source offers the same load for each experiment. Three | ||||
| experiments are conducted at 30%, 40%, and 50% offered loads per Tmix | ||||
| source. As two sources share each of the three bottlenecks (A,B,C), | ||||
| the combined offered loads on the bottlenecks is 60%, 80%, and 100% | ||||
| respectively. | ||||
| [7] J. xxxxx, "Tmix trace generation for the TCP evaluation suite." | All traffic uses the new TCP extension under test. | |||
| http://web.archive.org/web/20100711061914/http://wil-ns.cs.caltech.edu/ | ||||
| benchmark/traffic/. | ||||
| [8] Wikipedia, "Fisher-Yates shuffle." | +------+--------+--------+---------------+-----------+------------+ | |||
| http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. | | load | scale | warmup | test_duration | prefill_t | prefill_si | | |||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| | 60% | 1.1904 | 173 | 470 | 41.4 | 6.827 | | ||||
| | | | | | | | | ||||
| | 80% | 0.9867 | 37 | 2052 | 55.2 | 6.858 | | ||||
| | | | | | | | | ||||
| | 100% | 0.7222 | 38 | 1338 | 69.0 | 13.740 | | ||||
| +------+--------+--------+---------------+-----------+------------+ | ||||
| [9] M. Alizadeh, A. Greenberg, D. A. Maltz, J. Padhye, P. Patel, B. | Table 11: Multiple bottleneck scenario parameters. | |||
| Prabhakar, S. Sengupta, and M. Sridharan, "Data center tcp (dctcp)," in | ||||
| Proceedings of the ACM SIGCOMM 2010 conference, SIGCOMM '10, (New York, | ||||
| NY, USA), pp. 63--74, ACM, 2010. | ||||
| [10] T. Henderson and R. Katz, "Transport protocols for internet-compat- | 6.3.1.1. Potential Revisions | |||
| ible satellite networks," Selected Areas in Communications, IEEE Journal | ||||
| on, vol. 17, no. 2, pp. 326--344, 1999. | ||||
| [11] A. Gurtov and S. Floyd, "Modeling wireless links for transport pro- | Parking lot models with more hops may also be of interest. | |||
| tocols," SIGCOMM Comput. Commun. Rev., vol. 34, pp. 85--96, Apr. 2004. | ||||
| [12] S. Floyd, R. Gummadi, and S. Shenker, "Adaptive RED: An algorithm | 6.3.2. Metrics of interest | |||
| for increasing the robustness of RED," tech. rep., ICIR, 2001. | ||||
| [13] L. L. H. Andrew, S. V. Hanly, and R. G. Mukhtar, "Active queue man- | The output for this experiment is the ratio between the average | |||
| agement for fair resource allocation in wireless networks," IEEE Trans- | throughput of the single-bottleneck flows and the throughput of the | |||
| actions on Mobile Computing, vol. 7, pp. 231--246, Feb. 2008. | multiple-bottleneck flow, measured after the warmup period. Output | |||
| also includes the packet drop rate for the congested link. | ||||
| [14] S. Floyd, J. Mahdavi, M. Mathis, and M. Podolsky, "An Extension to | 7. Implementations | |||
| the Selective Acknowledgement (SACK) Option for TCP." RFC 2883 (Proposed | ||||
| Standard), July 2000. | ||||
| [15] K. Ramakrishnan, S. Floyd, and D. Black, "The Addition of Explicit | At the moment the only implementation effort is using the NS2 | |||
| Congestion Notification (ECN) to IP." RFC 3168 (Proposed Standard), | simulator. It is still a work in progress, but contains the base to | |||
| Sept. 2001. Updated by RFCs 4301, 6040. | most of the tests, as well as the algorithms that determined the test | |||
| parameters. It is being made available to the community for further | ||||
| development and verification through https://bitbucket.org/hayesd/ | ||||
| tcp-evaluation-suite-public . | ||||
| [16] E. Souza and D. Agarwal, "A highspeed TCP study: Characteristics | At the moment there are no ongoing test bed implementations. We | |||
| and deployment issues," Tech. Rep. LBNL-53215, LBNL, 2003. | invite the community to initiate and contribute to the development of | |||
| these test beds. | ||||
| [17] H. Shimonishi, M. Sanadidi, and T. Murase, "Assessing interactions | 8. Acknowledgements | |||
| among legacy and high-speed tcp protocols," in Protocols for Fast, Long | ||||
| Distance Networks (PFLDnet), 2007. | ||||
| [18] N. Hohn, D. Veitch, and P. Abry, "The impact of the flow arrival | This work is based on a paper by Lachlan Andrew, Cesar Marcondes, | |||
| process in internet traffic," in Acoustics, Speech, and Signal Process- | Sally Floyd, Lawrence Dunn, Romaric Guillier, Wang Gang, Lars Eggert, | |||
| ing, 2003. Proceedings. (ICASSP '03). 2003 IEEE International Confer- | Sangtae Ha and Injong Rhee [TESTSUITE08]. | |||
| ence on, vol. 6, pp. VI-37--40 vol.6, 2003. | ||||
| [19] F. Kelly, Reversibility and stochastic networks. University of | The authors would also like to thank Roman Chertov, Doug Leith, | |||
| Cambridge Statistical Laboratory, 1979. | Saverio Mascolo, Ihsan Qazi, Bob Shorten, David Wei and Michele | |||
| Weigle for valuable feedback and acknowledge the work of Wang Gang to | ||||
| start the NS2 implementation. | ||||
| A Discussions on Traffic | This work has been partly funded by the European Community under its | |||
| Seventh Framework Programme through the Reducing Internet Transport | ||||
| Latency (RITE) project (ICT-317700), by the Aurora-Hubert Curien | ||||
| Partnership program "ANT" (28844PD / 221629), and under Australian | ||||
| Research Council's Discovery Projects funding scheme (project number | ||||
| 0985322). | ||||
| While the protocols being tested may differ, it is important that we | 9. Informative References | |||
| maintain the same "load" or level of congestion for the experimental | ||||
| scenarios. To enable this, we use a hybrid of open-loop and close-loop | ||||
| approaches. For this test suite, network traffic consists of sessions | ||||
| corresponding to individual users. Because users are independent, these | ||||
| session arrivals are well modeled by an open-loop Poisson process. A | ||||
| session may consist of a single greedy TCP flow, multiple greedy flows | ||||
| separated by user "think" times, a single non-greedy flow with embedded | ||||
| think times, or many non-greedy "thin stream" flows. process forms a | ||||
| Poisson process [18]. Both the think times and burst sizes have heavy- | ||||
| tailed distributions, with the exact distribution based on empirical | ||||
| studies. The think times and burst sizes will be chosen independently. | ||||
| This is unlikely to be the case in practice, but we have not been able | ||||
| to find any measurements of the joint distribution. We invite | ||||
| researchers to study this joint distribution, and future revisions of | ||||
| this test suite will use such statistics when they are available. | ||||
| For most current traffic generators, the traffic is specified by an | [ALIZADEH10] | |||
| arrival rate for independent user sessions, along with specifications of | Alizadeh, M., Greenberg, A., Maltz, D., Padhye, J., Patel, | |||
| connection sizes, number of connections per sessions, user wait times | P., Prabhakar, B., Sengupta, S., and M. Sridharan, "Data | |||
| within sessions, and the like. Because the session arrival times are | center TCP (DCTCP)", ACM SIGCOMM 2010 , 2010. | |||
| specified independently of the transfer times, one way to specify the | ||||
| load would be as A = E[f]/E[t], where E[f] is the mean session size (in | ||||
| bits transferred), E[t] is the mean session inter-arrival time in sec- | ||||
| onds, and A is the load in bps. | ||||
| Instead, for equilibrium experiments, we measure the load as the "mean | [ANDREW08] | |||
| number of jobs in an M/G/1 queue using processor sharing," where a job | Andrew, L., Hanly, S., and R. Mukhtar, "Active Queue | |||
| is a user session. This reflects the fact that TCP aims at processor | Management for Fair Resource Allocation in Wireless | |||
| sharing of variable sized files. Because processor sharing is a symmet- | Networks", IEEE Transactions on Mobile Computing , | |||
| ric discipline [19], the mean number of flows is equal to that of an | February 2008. | |||
| M/M/1 queue, namely rho/(1-rho), where rho=lambda S/C, and lambda [flows | ||||
| per second] is the arrival rate of jobs/flows, S [bits] is the mean job | ||||
| size and C [bits per second] is the bottleneck capacity. For small | ||||
| loads, say 10%, this is essentially equal to the fraction of the capac- | ||||
| ity that is used. However, for overloaded systems, the fraction of the | ||||
| bandwidth used will be much less than this measure of load. | ||||
| In order to minimize the dependence of the results on the experiment | [FLOYD01] Floyd, S., Gummadi, R., and S. Shenker, "Adaptive RED: An | |||
| durations, scenarios should be as stationary as possible. To this end, | Algorithm for Increasing the Robustness of RED", ICIR | |||
| experiments will start with rho/(1-rho) active cross-traffic flows, with | Technical Report , 2001, | |||
| traffic of the specified load. | <http://www.icir.org/floyd/papers/adaptiveRed.pdf>. | |||
| [FLOYD03] Floyd, S. and E. Kohler, "Internet research needs better | ||||
| models", SIGCOMM Computer Communication Review , January | ||||
| 2003. | ||||
| [GENITMIX] | ||||
| GENI project, "Tmix on ProtoGENI", | ||||
| <http://groups.geni.net/geni/wiki/GeniTmix>. | ||||
| [GURTOV04] | ||||
| Gurtov, A. and S. Floyd, "Modeling wireless links for | ||||
| transport protocols", SIGCOMM Computer Communication | ||||
| Review , April 2004. | ||||
| [HENDERSON99] | ||||
| Henderson, T. and R. Katz, "Transport protocols for | ||||
| Internet-compatible satellite networks", IEEE Journal on | ||||
| Selected Areas in Communications , 1999. | ||||
| [HOHN03] Hohn, N., Veitch, D., and P. Abry, "The impact of the flow | ||||
| arrival process in Internet traffic", IEEE International | ||||
| Conference on Acoustics, Speech, and Signal Processing | ||||
| (ICASSP '03) , 2003. | ||||
| [I-D-TMRG-TESTS] | ||||
| Andrew, L., Floyd, S., and W. Gang, "Common TCP Evaluation | ||||
| Suite", Internet Draft draft-irtf-tmrg-tests-02, work in | ||||
| progress , July 2009, | ||||
| <http://tools.ietf.org/html/draft-irtf-tmrg-tests>. | ||||
| [KELLY79] Kelly, F., "Reversibility and stochastic networks", | ||||
| University of Cambridge Statistical Laboratory , 1979. | ||||
| [MASCOLO06] | ||||
| Mascolo, S. and F. Vacirca, "The Effect of Reverse Traffic | ||||
| on the Performance of New TCP Congestion Control | ||||
| Algorithms for Gigabit Networks", Protocols for Fast, Long | ||||
| Distance Networks (PFLDnet) , 2006. | ||||
| [RFC2883] Floyd, S., Mahdavi, J., Mathis, M., and M. Podolsky, "An | ||||
| Extension to the Selective Acknowledgement (SACK) Option | ||||
| for TCP", RFC 2883, July 2000. | ||||
| [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | ||||
| of Explicit Congestion Notification (ECN) to IP", RFC | ||||
| 3168, September 2001. | ||||
| [ROSSI03] Rossi, D., Mellia, M., and C. Casetti, "User patience and | ||||
| the Web: a hands-on investigation", IEEE GLOBECOM , 2003. | ||||
| [SHIMONISHI07] | ||||
| Shimonishi, H., Sanadidi, M., and T. Murase, "Assessing | ||||
| Interactions among Legacy and High-Speed TCP Protocols", | ||||
| Protocols for Fast, Long Distance Networks (PFLDnet) , | ||||
| 2007. | ||||
| [SHUFFLEWIKI] | ||||
| "Fisher-Yates shuffle", | ||||
| <http://en.wikipedia.org/wiki/Fisher-Yates_shuffle>. | ||||
| [SOUZA03] Souza, E. and D. Agarwal, "A HighSpeed TCP Study: | ||||
| Characteristics and Deployment Issues", LBNL Technical | ||||
| Report LBNL-53215 , 2003. | ||||
| [TESTSUITE08] | ||||
| Andrew, L., Marcondes, C., Floyd, S., Dunn, L., Guillier, | ||||
| R., Gang, W., Eggert, L., Ha, S., and I. Rhee, "Towards a | ||||
| Common TCP Evaluation Suite", Protocols for Fast, Long | ||||
| Distance Networks (PFLDnet) , March 2008, | ||||
| <http://www.caia.swin.edu.au/cv/landrew/pubs/ | ||||
| TCP-suite-PFLDnet.pdf>. | ||||
| [TRACES] Caltech, "Tmix trace generation for the TCP evaluation | ||||
| suite", n.d., <http://web.archive.org/web/20100711061914/ | ||||
| http://wil-ns.cs.caltech.edu/~benchmark/traffic/>. | ||||
| [WEIGLE06] | ||||
| Weigle, M., Adurthi, P., Hernandez-Campos, F., Jeffay, K., | ||||
| and F. Smith, "Tmix: a tool for generating realistic TCP | ||||
| application workloads in ns-2", SIGCOMM Computer | ||||
| Communication Review , July 2006. | ||||
| Appendix A. Discussions on Traffic | ||||
| While the protocols being tested may differ, it is important that we | ||||
| maintain the same "load" or level of congestion for the experimental | ||||
| scenarios. To enable this, we use a hybrid of open-loop and close- | ||||
| loop approaches. For this test suite, network traffic consists of | ||||
| sessions corresponding to individual users. Because users are | ||||
| independent, these session arrivals are well modeled by an open-loop | ||||
| Poisson process. A session may consist of a single greedy TCP flow, | ||||
| multiple greedy flows separated by user "think" times, a single non- | ||||
| greedy flow with embedded think times, or many non-greedy "thin | ||||
| stream" flows. The session arrival process forms a Poisson process | ||||
| [HOHN03]. Both the think times and burst sizes have heavy-tailed | ||||
| distributions, with the exact distribution based on empirical | ||||
| studies. The think times and burst sizes will be chosen | ||||
| independently. This is unlikely to be the case in practice, but we | ||||
| have not been able to find any measurements of the joint | ||||
| distribution. We invite researchers to study this joint | ||||
| distribution, and future revisions of this test suite will use such | ||||
| statistics when they are available. | ||||
| For most current traffic generators, the traffic is specified by an | ||||
| arrival rate for independent user sessions, along with specifications | ||||
| of connection sizes, number of connections per sessions, user wait | ||||
| times within sessions, and the like. Because the session arrival | ||||
| times are specified independently of the transfer times, one way to | ||||
| specify the load would be as | ||||
| A = E[f]/E[t], | ||||
| where E[f] is the mean session size (in bits transferred), E[t] is | ||||
| the mean session inter-arrival time in seconds, and A is the load in | ||||
| bps. | ||||
| Instead, for equilibrium experiments, we measure the load as the | ||||
| "mean number of jobs in an M/G/1 queue using processor sharing," | ||||
| where a job is a user session. This reflects the fact that TCP aims | ||||
| at processor sharing of variable sized files. Because processor | ||||
| sharing is a symmetric discipline [KELLY79], the mean number of flows | ||||
| is equal to that of an M/M/1 queue, namely rho/(1-rho), where | ||||
| rho=lambda S/C, and lambda is the arrival rate of jobs/flows (in | ||||
| flows per second), S is the mean job size (in bits) and C is the | ||||
| bottleneck capacity (in bits per second). For small loads, say 10%, | ||||
| this is essentially equal to the fraction of the capacity that is | ||||
| used. However, for overloaded systems, the fraction of the bandwidth | ||||
| used will be much less than this measure of load. | ||||
| In order to minimize the dependence of the results on the experiment | ||||
| durations, scenarios should be as stationary as possible. To this | ||||
| end, experiments will start with rho/(1-rho) active cross-traffic | ||||
| flows, with traffic of the specified load. | ||||
| Authors' Addresses | Authors' Addresses | |||
| David Hayes | David Hayes | |||
| University of Oslo | University of Oslo | |||
| Department of Informatics, P.O. Box 1080 Blindern | Department of Informatics, P.O. Box 1080 Blindern | |||
| Oslo N-0316 | Oslo N-0316 | |||
| Norway | Norway | |||
| Email: davihay@ifi.uio.no | Email: davihay@ifi.uio.no | |||
| David Ros | David Ros | |||
| Institut Mines-Telecom / Telecom Bretagne | Simula Research Laboratory | |||
| 2 rue de la Chataigneraie | P.O. Box 134 | |||
| 35510 Cesson-Sevigne | Lysaker 1325 | |||
| France | Norway | |||
| Email: david.ros@telecom-bretagne.eu | Email: dros@simula.no | |||
| Lachlan L.H. Andrew | Lachlan L.H. Andrew | |||
| CAIA Swinburne University of Technology | Monash University | |||
| P.O. Box 218, John Street | Clayton School of Information Technology | |||
| Hawthorn Victoria 3122 | Ground Floor, Building 63 | |||
| Monash University Clayton Campus, Wellington Road | ||||
| Clayton VIC 3800 | ||||
| Australia | Australia | |||
| Email: lachlan.andrew@gmail.com | Email: Lachlan.Andrew@monash.edu | |||
| Sally Floyd | Sally Floyd | |||
| ICSI | ICSI | |||
| 1947 Center Street, Ste. 600 | 1947 Center Street, Ste. 600 | |||
| Berkeley CA 94704 | Berkeley CA 94704 | |||
| United States | United States | |||
| Email: floyd@acm.org | ||||
| End of changes. 305 change blocks. | ||||
| 1039 lines changed or deleted | 1196 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||