-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GRAPHENE] Implement Graphene Scheduler (#91)
* [GRAPHENE] Begin implementation of the Graphene scheduler. * Implement basic structure of Graphene's two-phase scheduling. * Implement a separate STRL session to invoke min makespan scheduling. * Add a method to update the TaskGraph in-place. * Test for imports of both Graphene and TetriSched schedulers together. * Finish the implementation of the offline pass of Graphene. * Implement the example Workload from Graphene paper. * Fix black formatting for workload/tasks.py * Fix flake8 for Graphene. * Introduce notify_workload_updated to transform TaskGraphs before Tasks from them are released.
- Loading branch information
1 parent
4c744e7
commit d12947b
Showing
10 changed files
with
513 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Output configs | ||
--log=./simple_graphene_workload.log | ||
--log_level=debug | ||
--csv=./simple_graphene_workload.csv | ||
|
||
# Task configs | ||
--runtime_variance=0 | ||
|
||
# Scheduler configs | ||
--scheduler=Graphene | ||
--scheduler_runtime=0 | ||
|
||
# Execution mode configs | ||
--execution_mode=json | ||
--workload_profile_path=./profiles/workload/simple_graphene_workload.yaml | ||
--worker_profile_path=./profiles/workers/simple_graphene_workers.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
- name: WorkerPool_1 | ||
workers: | ||
- name: Worker_1_1 | ||
resources: | ||
- name: Slot | ||
quantity: 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Implementation of the example workload specified in the Graphene paper. | ||
# This workload is being used to test the Offline and Online stages of the | ||
# ILP-based reimplementation of the Graphene algorithm. | ||
graphs: | ||
- name: GrapheneMotivation | ||
graph: | ||
- name: "Task0" | ||
work_profile: "Task0Profile" | ||
children: ["Task6"] | ||
- name: "Task1" | ||
work_profile: "Task1Profile" | ||
children: ["Task2"] | ||
- name: "Task2" | ||
work_profile: "Task2Profile" | ||
children: ["Task6"] | ||
- name: "Task3" | ||
work_profile: "Task3Profile" | ||
children: ["Task4"] | ||
- name: "Task4" | ||
work_profile: "Task4Profile" | ||
children: ["Task5"] | ||
- name: "Task5" | ||
work_profile: "Task5Profile" | ||
children: ["Task6"] | ||
- name: "Task6" | ||
work_profile: "Task6Profile" | ||
release_policy: fixed | ||
period: 0 # In us for now. | ||
invocations: 1 | ||
deadline_variance: [2000, 2000] | ||
profiles: | ||
- name: Task0Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 100 | ||
resource_requirements: | ||
Slot:any: 1 | ||
- name: Task1Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 20 | ||
resource_requirements: | ||
Slot:any: 3 | ||
- name: Task2Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 100 | ||
resource_requirements: | ||
Slot:any: 1 | ||
- name: Task3Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 20 | ||
resource_requirements: | ||
Slot:any: 3 | ||
- name: Task4Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 20 | ||
resource_requirements: | ||
Slot:any: 3 | ||
- name: Task5Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 100 | ||
resource_requirements: | ||
Slot:any: 1 | ||
- name: Task6Profile | ||
execution_strategies: | ||
- batch_size: 1 | ||
runtime: 20 | ||
resource_requirements: | ||
Slot:any: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.