Simulation of Round Robin and MaxSNR network ressource allocation algorithms to demonstrate the power of opportunistic allocation
The goal of this project was to simulate the two network resource allocation
algorithms, that are MaxSNR and Round Robin, and measure the throughput and
latency perceived by the simulated users connected to these access points.
We managed it by simulating this world and varying 4 parameters that are:
In this part, we will describe the structure and the different elements of the
program itself.
Each Access point takes care of allocating a fixed number of resource unity,
here it is 128, to the different simulated users by using the resource
allocation algorithm.
Resource unity are what allows users to consume packets that they want to
emit and are allocated by group of 4.
Users are separated into 2 groups, the users that are near and those that
are far from the access point with respectively 6 and 3 mean throughput. They
will try to emit packets of 100bits randomly generated, with 25% of probability
to generate one at each time slot. Those packets will be stored into a buffer
waiting to be entirely sent.
Resource allocation algorithm are designed through an interface that allows
us some modularity about creating new ones. For now, only two are implemented,
Round Robin and MaxSNR.
You can simply build the simulation by executing make
into the project
directory and run it using make run
.