- Notifications
You must be signed in to change notification settings - Fork10
Adaptive MultiPath TCP (AMP)
License
mkheirkhah/amp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
In this research, we proposed two novel ECN-capable multipathcongestion control algorithms for modern data center networks (DCNs).
The first algorithm is called Adaptive MultiPath (AMP) that isparticularly designed to be robust against the TCP incast problem. Italso coexists well with single-path flows like DCTCP, preventing theLast Hop Unfairness (LHU) problem that we've reported in this paperfor the first time. In addition, the design of AMP is simple with lowoverhead. AMP moves traffic quickly from congested paths to lesscongested ones without sophisticated mechanisms such as RTT-dependentcongestion window increase, as in standard MPTCP, or dynamiccongestion window decrease, as in DCTCP.
The second algorithm is called Data Center MultiPath (DCM), whichintegrates DCTCP with the standard MPTCP congestion control algorithm-- Linked Increases Algorithm (LIA). To the best of our knowledge, weare the first to do such an integration.
The AMP paper has presented at the IFIP Networking 2019 Conference in Warsaw, Poland.Paper -Extended Version.
As part of this project, we have implemented several networkingprotocols 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
- Install gcc-5 with wonderful Homebrew. If you are using MacPort, then you shouldinstall gcc4.3 (or at least I tested it with this gcc version)
brew install gcc@5
- Clone the AMP's repository
git clone https://github.com/mkheirkhah/amp.git
- Configure and build ns-3 with g++-5
GCC="g++-5" CC="gcc-5" CXXFLAGS="-Wall" ./waf --build-profile=optimized configure build
- Run a simulation
./waf --run"incast"
I have tested this source code atop Ubuntu16.4 with gcc/g++5.4.0.
- Clone the AMP's repository
git clone https://github.com/mkheirkhah/amp.git
- Configure and build ns-3 with
CXXFLAGS="-Wall" ./waf --build-profile=optimized configure build
- Run a simulation
./waf --run"incast"
All simulation configurations are availablehere.
Morteza Kheirkhah, University College London (UCL), m.kheirkhah@ucl.ac.uk
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},}
About
Adaptive MultiPath TCP (AMP)