AWAFS is an adaptable approach that can adjust in an agnostic way the scheduling configuration of DCN forwarding devices. This agnostic adjustment contributes to reduce the Flow Completion Time (FCT) of those short flows, representing around 85% of the traffic handled by cloud applications. AWAFS operates by observing the traffic and detecting statistical properties that provide a hint to adapt the scheduling parameters.
The implementation of AWAFS is based on the code developed for the implementation of PIAS in its version for the NS2 simulator, which is described in this paper. That is, we took as starting point this code to develop and evaluate AWAFS. Therefore, credits go to the authors of PIAS simulation code.
Next we describe how the evaluation environment used in the experiments of our paper can be configured in order to reproduce these experiments.
Clone the GIT repository containing the PIAS code and follow the README included. This repository can be found at PIAS-NS2 at github.
Create a copy of the directory, e.g. AWAFS
In the directory AWAFS/ns-2.34/queue, create copies of the files priority.h and priority.cc (e.g. priority2.h and priority2.cc)
cp priority.h priority2.h; cp priority.cc priority2.cc
Patch the following files with the corresponding diff files available below:
tcp-full.h
tcp-full.cc
priority2.cc
priority2.h
Edit Makefile in the ns-2.34 directory and add queue/priority2.o to the variable OBJ_CC located close to the line 615 of the file
Recompile ns-2.34
Patch the script files with the corresponding diff files indicated below:
run_pias_dctcp.py
tcp-common-opt.tcl
spine_empirical.tcl
Adjust the corresponding variables and reproduce the experiments
In case of any problem when trying to reproduce the experiments, please do not hesitate in contacting me through my mail address, saguti@unal.edu.co