summaryrefslogtreecommitdiff
path: root/simulator/opendc-format
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-01-07 23:59:15 +0100
committerGitHub <noreply@github.com>2021-01-07 23:59:15 +0100
commit42e9a5b5b610f41a03e68f6fc781c54b9402925b (patch)
tree650e886239e8983812d14f3108fdc895756a17d0 /simulator/opendc-format
parent3441586e4a10fcc6b2f458d16301ae2770d4886a (diff)
parent9cf24c9a8d3e96a29d9b111081bc3369aadd490d (diff)
Merge pull request #69 from atlarge-research/refactor/workflows-v1
Refactor workflow service to schedule tasks onto VMs
Diffstat (limited to 'simulator/opendc-format')
-rw-r--r--simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/gwf/GwfTraceReader.kt10
-rw-r--r--simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/wtf/WtfTraceReader.kt6
2 files changed, 12 insertions, 4 deletions
diff --git a/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/gwf/GwfTraceReader.kt b/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/gwf/GwfTraceReader.kt
index a20b4f29..b721905d 100644
--- a/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/gwf/GwfTraceReader.kt
+++ b/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/gwf/GwfTraceReader.kt
@@ -29,6 +29,7 @@ import org.opendc.format.trace.TraceReader
import org.opendc.simulator.compute.workload.SimFlopsWorkload
import org.opendc.workflows.workload.Job
import org.opendc.workflows.workload.Task
+import org.opendc.workflows.workload.WORKFLOW_TASK_CORES
import org.opendc.workflows.workload.WORKFLOW_TASK_DEADLINE
import java.io.BufferedReader
import java.io.File
@@ -122,8 +123,8 @@ public class GwfTraceReader(reader: BufferedReader) : TraceReader<Job> {
val workflowId = values[workflowIdCol].trim().toLong()
val taskId = values[taskIdCol].trim().toLong()
- val submitTime = values[submitTimeCol].trim().toLong()
- val runtime = max(0, values[runtimeCol].trim().toLong())
+ val submitTime = values[submitTimeCol].trim().toLong() * 1000 // ms
+ val runtime = max(0, values[runtimeCol].trim().toLong()) // s
val cores = values[coreCol].trim().toInt()
val dependencies = values[dependencyCol].split(" ")
.filter { it.isNotEmpty() }
@@ -140,7 +141,10 @@ public class GwfTraceReader(reader: BufferedReader) : TraceReader<Job> {
"<unnamed>",
SimWorkloadImage(UUID.randomUUID(), "<unnamed>", emptyMap(), SimFlopsWorkload(flops, cores)),
HashSet(),
- mapOf(WORKFLOW_TASK_DEADLINE to runtime)
+ mapOf(
+ WORKFLOW_TASK_CORES to cores,
+ WORKFLOW_TASK_DEADLINE to (runtime * 1000)
+ ),
)
entry.submissionTime = min(entry.submissionTime, submitTime)
(workflow.tasks as MutableSet<Task>).add(task)
diff --git a/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/wtf/WtfTraceReader.kt b/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/wtf/WtfTraceReader.kt
index b2931468..381a0b41 100644
--- a/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/wtf/WtfTraceReader.kt
+++ b/simulator/opendc-format/src/main/kotlin/org/opendc/format/trace/wtf/WtfTraceReader.kt
@@ -32,6 +32,7 @@ import org.opendc.format.trace.TraceReader
import org.opendc.simulator.compute.workload.SimFlopsWorkload
import org.opendc.workflows.workload.Job
import org.opendc.workflows.workload.Task
+import org.opendc.workflows.workload.WORKFLOW_TASK_CORES
import org.opendc.workflows.workload.WORKFLOW_TASK_DEADLINE
import java.util.UUID
import kotlin.math.min
@@ -82,7 +83,10 @@ public class WtfTraceReader(path: String) : TraceReader<Job> {
"<unnamed>",
SimWorkloadImage(UUID.randomUUID(), "<unnamed>", emptyMap(), SimFlopsWorkload(flops, cores)),
HashSet(),
- mapOf(WORKFLOW_TASK_DEADLINE to runtime)
+ mapOf(
+ WORKFLOW_TASK_CORES to cores,
+ WORKFLOW_TASK_DEADLINE to runtime
+ )
)
entry.submissionTime = min(entry.submissionTime, submitTime)