Skip to content

RichardvLeeuwen/NetReproBench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetReproBench

Bachelor thesis project NetReproBench

Run the benchmarking server with: ./server [number of expected clients]
Run the benchmarking client with: ./client [list of ips]
Run the benchmarking script with: python3 masternode.py -transmitters [list of ips such as 127.0.0.1 127.0.0.2 etc] -receivers [list of ips such as 127.0.0.1 127.0.0.2 etc] -masterip [ip of the head node]

transmitters: expects a list of ips such as 127.0.0.1 127.0.0.2 etc for the transmitters. A transmitters is responsible for transmitting data.
receivers: expects a list of ips such as 127.0.0.1 127.0.0.2 etc for the receivers. A receiver is responsible for receiving data.
masterip: expects the ip of the head node
time: duration throughput test, iterations latency test, default is 30
packetSize: size packet during throughput/latency test, default is 1024
latency: latency flag to specify latency test, default is throughput test -h, --help: display help tool, expected arguments

An easy way to specify a range of ips is to do 127.0.0.1-10, it will then include the list of ips ranging from 127.0.0.1 to and included 127.0.0.10

In this context, a transmitter transmits data and a receiver receives data. A node can be both a transmitter and a receiver which is the case in scenarios such as all-to-all.
In all-to-one, you have a single receiver accompanied by transmitters. In one-to-all, you have a single transmitter accompanied by receivers. In all-to-all, every node is both a transmitter and receiver.

The python script will invoke remotely the the transmitting and receiving nodes using SSH commands. Once all nodes are running and connected, it will remotely instruct the nodes to start benchmarking.

The server files refers to the transmitter application, the client files refer to the receiver application.

The transmitters and receivers each create a new thread for each new TCP connection.

At 32 nodes, the latency test may occassionaly experience connection issues. This is a known bug and requires restarting the script worst case.

In the SSH files, please fill in your own personal DAS5 username. The script assumes all files are stored in a folder called 'thesis' The benchmark tool assumes access to a shared file system for storing the log files.

About

My bachelor project Reprobench, a network benchmark for use in distributed systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published