Orchestrator

class orchestrator.Orchestrator(infrastructure: Infrastructure, shortest_path: Optional[Callable[[Graph, str, str], List[str]]] = None)

Bases: ABC

Orchestrator which is responsible for allocating/placing application tasks on the infrastructure.

Parameters:
  • infrastructure – The infrastructure graph which the orchestrator operates on.

  • shortest_path – A function for determining shortest/optimal paths between nodes. This function is called for every data flow between nodes that have been placed on the infrastructure. It takes the infrastructure graph, the source node, and target node and maps it to the list of nodes on the path. Defaults to networkx.shortest_path. More algorithms can be found here.

place(application: Application)

Place an application on the infrastructure.