Author: Artem Shepelev
Programming Language: Python
Dedicated project: OpenStack
This repository is created and filled up due to participation in the Google Summer of Code 2014 contest
Requirements: python-networkx
Renamed from: topology-builder
The package includes simple topology scheduler The information about the topology is loaded within the yaml-syntax description files. There are a pair of files: for nodes and adges. With the help of python-network we allow to draw the loaded graph and check it. There is a tool for generating the traffic. It generates the packets which are mapped to the bandwidth. The bandwidth is accumulated as statistics on the edges.
After it was done - we launch the schedule process. There are some preparations. They include:
- Make adjacency matrix.
- Launch the Dijkstra algorithm for it. We get shortest routes and distances.
- Combine the route information and accumulated edge weights (traffic statistics) to produce the informative distance between nodes.
- Creating the task as the list of pairs: (,)
- Combine it into one list of nodes and priorities
Then we launch the very simple scheduler which iterates through compute nodes and topology and sums the distance the important nodes with coefficients equal to the priority of this nodes.
To check it - just launch the testing.py If no networkx installed - just comment the import line and last 5 lines of testing.py