summaryrefslogtreecommitdiff
path: root/opendc-workflow/opendc-workflow-service
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-06-21 14:34:10 +0200
committerGitHub <noreply@github.com>2021-06-21 14:34:10 +0200
commitba32561e4b0e00c00d528df615a58e396e0fddc0 (patch)
tree06bbb8161910a81b3dc1160b180650660bc50be4 /opendc-workflow/opendc-workflow-service
parentb8b0f39028af90fa54b42a00214b2ea9a5e48e2e (diff)
parent966715d7df139a431293f5c2fc67916fbcc1ecfb (diff)
simulator: Optimize resource interpreter implementation
This pull request implements several optimizations in the resource interpreter implementation. * Interpreter is now shared across hosts in experiments * Interpreter allocations are pooled where possible * Resource lifecycle concept is eliminated * Optimized flag management in interpreter
Diffstat (limited to 'opendc-workflow/opendc-workflow-service')
-rw-r--r--opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt4
1 files changed, 3 insertions, 1 deletions
diff --git a/opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt b/opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt
index a8d3a9e8..6807572b 100644
--- a/opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt
+++ b/opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt
@@ -43,6 +43,7 @@ import org.opendc.format.environment.sc18.Sc18EnvironmentReader
import org.opendc.format.trace.gwf.GwfTraceReader
import org.opendc.simulator.compute.SimSpaceSharedHypervisorProvider
import org.opendc.simulator.core.runBlockingSimulation
+import org.opendc.simulator.resources.SimResourceInterpreter
import org.opendc.telemetry.sdk.toOtelClock
import org.opendc.workflow.service.internal.WorkflowServiceImpl
import org.opendc.workflow.service.scheduler.WorkflowSchedulerMode
@@ -68,6 +69,7 @@ internal class WorkflowServiceIntegrationTest {
.setClock(clock.toOtelClock())
.build()
+ val interpreter = SimResourceInterpreter(coroutineContext, clock)
val hosts = Sc18EnvironmentReader(object {}.javaClass.getResourceAsStream("/environment.json"))
.use { it.read() }
.map { def ->
@@ -77,7 +79,7 @@ internal class WorkflowServiceIntegrationTest {
def.model,
def.meta,
coroutineContext,
- clock,
+ interpreter,
MeterProvider.noop().get("opendc-compute-simulator"),
SimSpaceSharedHypervisorProvider()
)