Skip to main content

Collection of schedulers for distributed computing

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anrg.saga-0.0.6.tar.gz (14.7 kB view hashes)

Uploaded Source

Built Distribution

anrg.saga-0.0.6-py3-none-any.whl (21.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page