https://github.com/davidbarsky/sirens
analyzer of selected task scheduling heuristics.
https://github.com/davidbarsky/sirens
graphs np-complete scala task-scheduler
Last synced: 9 months ago
JSON representation
analyzer of selected task scheduling heuristics.
- Host: GitHub
- URL: https://github.com/davidbarsky/sirens
- Owner: davidbarsky
- Created: 2016-10-22T00:00:08.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-06T21:05:29.000Z (over 8 years ago)
- Last Synced: 2025-02-10T08:32:35.066Z (11 months ago)
- Topics: graphs, np-complete, scala, task-scheduler
- Language: Java
- Homepage:
- Size: 3.1 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sirens
`sirens` is my senior thesis at [Brandeis University](brandeis.edu). It was completed under the supervision of [Ryan Marcus](rmarcus.info) and [Olga Papaemmanouil](http://www.cs.brandeis.edu/~olga/). 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](https://en.wikipedia.org/wiki/Sirens_(Nicolas_Jaar_album)).
## Installation
First, ensure that [`ggen`](https://github.com/perarnau/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`