Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
User expired
2018s-advanced-distributed-systems
Commits
c73c9883
Unverified
Commit
c73c9883
authored
Dec 05, 2018
by
Bennett Piater
Browse files
formatting
parent
1582cde1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
8 deletions
+16
-8
scheduler/main.py
scheduler/main.py
+2
-0
scheduler/parser.py
scheduler/parser.py
+11
-6
scheduler/taskgraph.py
scheduler/taskgraph.py
+3
-2
No files found.
scheduler/main.py
View file @
c73c9883
...
...
@@ -3,10 +3,12 @@ from typing import List
from
parser
import
parse_tasks
,
parse_machine_prices
from
preprocessing
import
*
def
main
():
tasks
=
parse_tasks
()
parallel_width_estimate
=
parallel_width_assuming_mapreduce
(
tasks
)
# print(parallel_width_estimate)
if
__name__
==
"__main__"
:
main
()
scheduler/parser.py
View file @
c73c9883
...
...
@@ -4,42 +4,47 @@ from taskgraph import Task
from
typing
import
List
def
parse_machine_prices
(
fname
:
str
)
->
List
[
float
]:
with
open
(
fname
,
"r"
)
as
f
:
f
.
readline
()
# ignore header
f
.
readline
()
# ignore header
lines
=
f
.
readlines
()
# ignore machine type
return
[
float
(
line
.
split
(
','
)[
1
])
for
line
in
lines
]
def
parse_durations_on_machines
(
fname
:
str
)
->
List
[
List
[
float
]]:
result
=
[]
with
open
(
fname
,
"r"
)
as
f
:
f
.
readline
()
# ignore header
f
.
readline
()
# ignore header
lines
=
f
.
readlines
()
for
line
in
lines
:
line_list
=
line
.
split
(
','
)
line_list
.
pop
(
0
)
# ignore task id
line_list
.
pop
(
0
)
# ignore task id
result
.
append
([
float
(
i
)
for
i
in
line_list
])
return
result
def
parse_traffic_relation
(
fname
:
str
)
->
List
[
List
[
int
]]:
result
=
[]
with
open
(
fname
,
'r'
)
as
f
:
f
.
readline
()
# ignore header
f
.
readline
()
# ignore header
lines
=
f
.
readlines
()
for
line
in
lines
:
line_list
=
line
.
split
(
','
)
line_list
.
pop
(
0
)
# ignore task id
line_list
.
pop
(
0
)
# ignore task id
result
.
append
([
int
(
i
)
if
not
i
in
[
""
,
"
\n
"
]
else
0
for
i
in
line_list
])
result
.
append
(
[
int
(
i
)
if
not
i
in
[
""
,
"
\n
"
]
else
0
for
i
in
line_list
])
return
result
def
parse_tasks
()
->
List
[
Task
]:
durations
=
parse_durations_on_machines
(
"task_time_instance.csv"
)
traffic
=
parse_traffic_relation
(
"traffic_relation.csv"
)
...
...
scheduler/taskgraph.py
View file @
c73c9883
from
typing
import
List
,
Tuple
Node
=
int
class
Task
(
object
):
class
Task
(
object
):
"""Docstring for Task. """
def
__init__
(
self
,
node
:
Node
,
durationOnMachines
:
List
[
float
],
predecessorsAndBandwidth
:
List
[
Tuple
[
Node
,
int
]]):
def
__init__
(
self
,
node
:
Node
,
durationOnMachines
:
List
[
float
],
predecessorsAndBandwidth
:
List
[
Tuple
[
Node
,
int
]]):
self
.
node
=
node
self
.
durationOnMachines
=
durationOnMachines
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment