Advanced ExamplesΒΆ
The VT-S3FNet repository also contains some large co-simulation examples.
These examples rely on binaries present in the $HOME/VT-S3FNet/csudp directory.
Separate titan projects need to be created for each of these binaries to run the corresponding co-simulations. Refer to the link here for information on creating and configuring titan projects.
These emulated applications are briefly described here:
cusdp/tcp_tgen. This folder contains a tcp traffic generator which can generate periodic, poisson bursty and constant rate limited traffic. Refer to tgen.c file inside the folder for more information on its command line arguments.
csudp/tcp_incast_tgen. This folder contains a tcp traffic generator which can generate periodic, poisson bursty and constant rate limited traffic. The number of in-cast to a server is also configurable. Refer to incast_tgen.c file inside the folder for more information on its command line arguments.
csudp/tcp_rand. This folder contains a tcp traffic generator which can generate poisson bursty traffic. Unlike tcp_tgen, here the server each client connects to is chosen at random. This makes all timelines dependent on each other. Refer to rand_tgen.c file inside the folder for more information on its command line arguments.
csudp/mpi_sat. This folder contains a program which uses the MPI interface to solve the Circuit SAT problem.
csudp/mpi_integral. This folder contains a program which uses the MPI interface to solve the parallel integration problem.
csudp/mpi_matrix. This folder contains a program which uses the MPI interface to solve the parallel Matrix Vector multiplication problem.
Prior to building/compiling these applications, a unique titan project must be created for each of them. The following project names are expected.
Application
Expected titan project name
csudp/tcp_tgen
tcp_tgen
csudp/tcp_incast_tgen
incast_tgen
csudp/tcp_rand
tcp_rand
csudp/mpi_sat
mpi_sat
csudp/mpi_integral
mpi_integral
csudp/mpi_matrix
mpi_mm
Note
When creating these projects, make sure the project source directory is correctly specified. Other project options may also be configured as per your needs.
Assuming the previously described set of titan projects have been created, compile the applications:
cd ~/VT-S3FNet/csudup
make clean build
Once the previous step is complete, the advanced examples may be run. In particular, two examples are included:
Campus network. This co-simulation involves emulated tcp traffic generation on a large simulated campus network.
Fat tree network. This co-simulation involves emulation of MPI map-reduce style jobs on a large simulated fat tree topology.
To run these examples, refer to the files $HOME/VT-S3FNet/base/runTCPExperiments.sh and $HOME/VT-S3FNet/base/runMPIExperiments.sh.
These scripts launch several co-simulations one after the other. In each co-simulation the type of workload is changed. Comment out co-simulations which are not needed:
# Run tcp traffic generation experiments with lookahead enabled
sudo ./runTCPExperiments.sh 1
# Run tcp traffic generation experiments with lookahead disabled
sudo ./runTCPExperiments.sh 0
# Run MPI workload experiments with lookahead enabled
sudo ./runMPIExperiments.sh 1
# Run MPI workload experiments with lookahead disabled
sudo ./runMPIExperiments.sh 0