davidbarsky / sirens

analyzer of selected task scheduling heuristics.
1 stars 0 forks source link
graphs np-complete scala task-scheduler

sirens

sirens is my senior thesis at Brandeis University. It was completed under the supervision of Ryan Marcus and Olga Papaemmanouil. The project implements several task scheduling heuristics and measures their performance accross several synethetic workloads. For context, finding an optimal schedule for a set of tasks is an NP-hard problem. Therefore, at larger graph sizes, the problem is intractable. Heuritics make the problem feasible, albeit at the cost of optimality. sirens tries to quantify these tradeoffs.

Etmyology

sirens is named after a Nicholas Jaar album.

Installation

First, ensure that ggen is installed and is in your PATH. It is responsible for generating random graphs.

  1. git clone github.com/davidbarsky/sirens
  2. mvn test