Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Saga

Saga: Scheduling Algorithms Gathered.

Introduction

This repository contains a collection of scheduling algorithms. The algorithms are implemented in python using a common interface. Scripts for validating the schedules produced by the algorithms are also provided. Scripts for comparing the performance of the algorithms are also provided.

Algorithms

The following algorithms are implemented:

  • Common:
    • HEFT: Heteregeneous Earliest Finish Time
    • CPoP: Critical Path on Processor
    • FastestNode: Schedule all tasks on the fastest node
  • Stochastic: (stochastic task cost, data size, compute speed, and communication strength)
    • SHEFT
    • Improved SHEFT
    • Stochastic HEFT
    • Mean HEFT

Usage

Installation

Clone the repository and install the requirements:

pip install anrg.saga

Running the algorithms

The algorithms are implemented as python modules. The following example shows how to run the HEFT algorithm on a workflow:

from saga.common.heft import HeftScheduler

scheduler = HeftScheduler()
network: nx.Graph = ...
task_graph: nx.DiGraph = ...
scheduler.schedule(network, task_graph)

See ./examples/heft/main.py for a complete example.

About

Saga: Scheduling Algorithms Gathered - collection of task graph scheduling algorithms for dispersed / distributed computing

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages