Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 1.85 KB

README.md

File metadata and controls

66 lines (48 loc) · 1.85 KB

random-scheduling-algo

Random Scheduling coordinator for VNF placement and scheduling. Integrated with the NFV flow simulator.

Coordination

Simple Random Scheduling coordinator for placement and scheduling/load balancing of VNFs and flows:

  • Place all VNFs at all nodes
  • Schedule flows randomly in each iteration

Purpose

  • Test, debug integration with the NFV flow simulator
  • Develop standard procedure for writing coordination algorithms that integrate with the simulator
  • Baseline coordinator for comparison with future coordinators

Setup

Install Python 3.6 and venv modules.

# clone this repo and enter dir
git clone [email protected]:RealVNF/coord-interface.git
cd coord-interface

# create and activate virtual environment
## On Windows
python -m venv venv
.\venv\Scripts\activate

## On Linux and macOS
python3 -m venv venv
source venv/bin/activate

# install package
pip install .

Usage

usage: rs [-h] [-i ITERATIONS] [-s SEED] -n NETWORK -sf
                   SERVICE_FUNCTIONS -c CONFIG

Dummy Coordinator

optional arguments:
  -h, --help            show this help message and exit
  -i ITERATIONS, --iterations ITERATIONS
  -s SEED, --seed SEED
  -n NETWORK, --network NETWORK
  -sf SERVICE_FUNCTIONS, --service_functions SERVICE_FUNCTIONS
  -c CONFIG, --config CONFIG

Use the following command as an example (from within dummy-coordinator project folder):

rs -n "res/networks/triangle.graphml" \
            -sf "res/service_functions/abc.yaml" \
            -c "res/config/sim_config.yaml" \
            -i 200

This will run the random-scheduling coordinator and call the apply() of the sim-interface for 200 times. The Network metrics would be logged at the INFO level.