Simulation infrastructure to evaluate the performance of device-aware mapping in the MapReduce algorithm.
Please note that the Dockerfile associated with this repository is outdated and will not properly compile and run the codebase. It is only intended for use with the network simulator. To run the simulator, run ./scripts/setup.sh and copy the ./mapreduce-sim.cc to the ns-3-dev folder. Then view the commands listed in ./scripts/run.sh and the dockerfile to see how to compile and run the network simulator. The Dockerfile should properly execute the simluator if you copy the output .txt files of the mapping-algorithm to the ns-3-dev folder first.
The setup script will clone the GitHub repository of ns-3 and perform initial setup. No changes made to the files in this directory will be tracked. In order to make changes to the simulation script, edit mapreduce-sim.cc with your favorite editor then run ./scripts/push.sh to update the already-built docker container. Also, do not make a virtual Python environment in this directory! It will cause issues with the docker container.
TL;DR:
- Use the scripts in
./scripts/to interact with the docker container - Do not make a virtual environment called
.envin this directory.
On MacOS:
cat ./scripts/setup.sh | sh
brew install colima docker
colima start
docker build -t colbra .
docker run colbraLinux:
cat ./scripts/setup.sh | sh
sudo apt install -y colima docker-ce docker-ce-cli
colima start
docker build -t colbra .
docker run colbraWindows:
# if you know, please feel free to open a PR!