On rate limitation mechanisms for TCP throughput: a longitudinal analysis

TCP remains the dominant transport protocol for Internet traffic. It is usually considered to have its sending rate covered by a sliding window congestion control mechanism. However, in addition to this normal congestion
control, a number of other mechanisms limit TCP throughput. This paper analyzes the extent to which network, host and application settings define flow throughput over time and across autonomous systems. Our study draws on data from a longitudinal study spanning five years of passive traces collected from a single transit link. Mechanisms for this include limiting by application, interference with the TCP window control mechanism and artificial limitations on maximum window sizes by the operating system. This
paper uses a large data set to assess the impact of each mechanism. We conclude that more than half of all heavy-hitter inbound traffic remains throttled
by constraints beyond network capacity. For this data set, TCP congestion control is no longer the dominant mechanism that moderates throughput.

Description:

This paper is a considerably expanded version of the INFOCOM paper.
Again it argues that TCP is no longer mainly controlled by loss and congestion but instead by algorithms and settings under the control of the sender or receiver deliberately or accidentally designed to restrict throughput for a variety of reasons (for example limiting video sending to the rate at which the viewer is watching).
It contains extended discussion of the methodology and in particular how flight and RTT data was extracted from passive traces.

Main menu

News

Second Workshop on Advances in Mining Large-Scale Time Dependent Graphs (TD-LSG)

This paper describes the Raphtory system which is used to analysis large-scale time-varying graph systems. It can ingest streaming graph information and store the complete graph history. It enables queries to be made over the graphs at different points in that graph's history.

This work in progress was accepted as a Demo and at the Doctoral workshop for DEBS (Distributed and Event-Based Systems). It shows the early development of a system that ingests events and can create (and eventually query) a dynamic graph.

This paper describes a C# library that can be used to build networked programs which can compile to several target hardware and software platforms. This greatly eases development and debugging. The system is tested using NetFPGA as a target and performs almost as well as hand tuned code.

This paper is a simulation based study of cloud assisted multi-user video streaming. It is based upon two use cases (one related to video poker the other related to MOOCs). The paper looks at strategies for placing cloud locations to facilitate streaming using Amazon EC2 cloud locations. The paper compares a strategy that dynamically picks new locations for cloud hosts as time goes on. Interestingly this seems to provide little benefit compared with simply having a good initial choice of sites even when users may drop into and out of a cloud chat session over the course of many hours.

Again it argues that TCP is no longer mainly controlled by loss and congestion but instead by algorithms and settings under the control of the sender or receiver deliberately or accidentally designed to restrict throughput for a variety of reasons (for example limiting video sending to the rate at which the viewer is watching).

It contains extended discussion of the methodology and in particular how flight and RTT data was extracted from passive traces.

This paper describes a system for middleboxes that process application level data -- that is reconstructed TCP flows not packets. The system consists of three parts:
1) A language specific to middleboxes that can quickly express data formats and how to process them but in a "safe" way that allows middleboxes to co-exist on the same physical hardware.
2) An abstraction, the task graph, that breaks middlebox logic into small, parallelisable logical units (tasks) connected by channels through which data flows.
3) A system that allows the compiled code to execute in a performant way.

This talk describes FLICK a system for the application-specific middlebox. It consists of three parts:
1) A domain specific language for the middlebox that allows easy development of typical middlebox functions.
2) An abstraction, the task graph, that allows the breaking of middlebox functions into easily parallelisable work units.
3) The system -- this implements the compiled language, handles TCP connections and memory management.

The whole system is comparable in speed to a specialist implementation.