The flooding algoithm was intorduced in the 'Minimizing state access delay for cloud-native network funcitons' titled paper presented in the IEEE CloudNet 2019 conference. Please note that since then the flooding placement algorithm was modified significantly, so the source code here and the description in the paper do not exactly match. We are planning to publish a journal paper about this topic including the new version of the flooding algorithm.
In this repo, we have created a simulator on which the flooding process can work and calculate the placement of the given states. The running process of the simulator is the following:
- It creates a fully connected Host cluster
- Also creates the user defined list of states and their access patterns
- It runs the flooding placement to decide where to place the generated states inside the cluster, i.e., individually calculates on which host should be the state stored.
To install all the requirements of the flooding algorithm and its simulator execute the following commands:
$ cd flooding_state_placement
$ apt update
$ ./install_requirements.sh
For the basic placement simulation, just use:
$ ./simulator.py
In order to modify the parameters for your required environment just use the --help flag to get more information:
$ ./simulator.py --help
Mark Szalay - mark.szalay@tmit.bme.hu