Skip to content

mkheirkhah/amp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c7dd07f · Sep 4, 2019

History

4 Commits
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Dec 19, 2018
Jan 10, 2019
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Sep 4, 2019
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Jun 26, 2017
Dec 19, 2018
Jun 26, 2017

Repository files navigation

AMP: An Adaptive Multipath TCP for Data Center Networks

In this research, we proposed two novel ECN-capable multipath congestion control algorithms for modern data center networks (DCNs).

The first algorithm is called Adaptive MultiPath (AMP) that is particularly designed to be robust against the TCP incast problem. It also coexists well with single-path flows like DCTCP, preventing the Last Hop Unfairness (LHU) problem that we've reported in this paper for the first time. In addition, the design of AMP is simple with low overhead. AMP moves traffic quickly from congested paths to less congested ones without sophisticated mechanisms such as RTT-dependent congestion window increase, as in standard MPTCP, or dynamic congestion window decrease, as in DCTCP.

The second algorithm is called Data Center MultiPath (DCM), which integrates DCTCP with the standard MPTCP congestion control algorithm -- Linked Increases Algorithm (LIA). To the best of our knowledge, we are the first to do such an integration.

The AMP paper has presented at the IFIP Networking 2019 Conference in Warsaw, Poland. Paper - Extended Version.

Implementations

As part of this project, we have implemented several networking protocols within ns-3.19. A few of our implementations are listed bellow:

  • AMP : Adaptive MultiPath TCP
  • DCM : Data Center MultiPath TCP
  • XMP : eXplicit MultiPath
  • MPTCP : MultiPath TCP
  • MMPTCP : Maximum MultiPath TCP
  • DCTCP : Data Center TCP
  • ECN : Explicit Congestion Notification
  • ECMP : Equal-Cost Multi-Path

Installations

Mac

  1. Install gcc-5 with wonderful Homebrew. If you are using MacPort, then you should install gcc4.3 (or at least I tested it with this gcc version)
brew install gcc@5
  1. Clone the AMP's repository
git clone https://github.com/mkheirkhah/amp.git
  1. Configure and build ns-3 with g++-5
GCC="g++-5" CC="gcc-5" CXXFLAGS="-Wall" ./waf --build-profile=optimized configure build
  1. Run a simulation
./waf --run "incast"

Linux

I have tested this source code atop Ubuntu16.4 with gcc/g++5.4.0.

  1. Clone the AMP's repository
git clone https://github.com/mkheirkhah/amp.git
  1. Configure and build ns-3 with
CXXFLAGS="-Wall" ./waf --build-profile=optimized configure build 
  1. Run a simulation
./waf --run "incast"

Simulations

All simulation configurations are available here.

Contact

Morteza Kheirkhah, University College London (UCL), [email protected]

How to reference this source code?

Please use the following bibtex:

@inproceedings{amp2019, 
author={Kheirkhah, Morteza and Lee, Myungjin},
booktitle={IFIP Networking Conference},
title={{AMP: An Adaptive Multipath TCP for Data Center Networks}},
year={2019},
pages={1-9},
doi={10.23919/IFIPNetworking.2019.8816848},
ISSN={1861-2288},
month={May},}