summaryrefslogtreecommitdiff
path: root/opendc-workflow/opendc-workflow-service
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-08-22 13:23:53 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-08-22 13:40:21 +0200
commitb8f64c1d3df2c990df8941cd036222fab2def9fa (patch)
tree34dfc78f84c5f463fda7f97957cc403411b4f166 /opendc-workflow/opendc-workflow-service
parentc1988fa1b08011f716194f48da10386a236ffd7f (diff)
refactor(compute): Update FilterScheduler to follow OpenStack's Nova
This change updates the FilterScheduler implementation to follow more closely the scheduler implementation in OpenStack's Nova. We now normalize the weights, support many of the filters and weights in OpenStack and support overcommitting resources.
Diffstat (limited to 'opendc-workflow/opendc-workflow-service')
-rw-r--r--opendc-workflow/opendc-workflow-service/src/test/kotlin/org/opendc/workflow/service/WorkflowServiceIntegrationTest.kt11
1 files changed, 6 insertions, 5 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 38c774a9..d82959e7 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
@@ -34,9 +34,10 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertAll
import org.opendc.compute.service.ComputeService
import org.opendc.compute.service.scheduler.FilterScheduler
-import org.opendc.compute.service.scheduler.filters.ComputeCapabilitiesFilter
import org.opendc.compute.service.scheduler.filters.ComputeFilter
-import org.opendc.compute.service.scheduler.weights.ProvisionedCoresWeigher
+import org.opendc.compute.service.scheduler.filters.RamFilter
+import org.opendc.compute.service.scheduler.filters.VCpuFilter
+import org.opendc.compute.service.scheduler.weights.VCpuWeigher
import org.opendc.compute.simulator.SimHost
import org.opendc.format.environment.sc18.Sc18EnvironmentReader
import org.opendc.format.trace.gwf.GwfTraceReader
@@ -55,7 +56,7 @@ import kotlin.math.max
/**
* Integration test suite for the [WorkflowServiceImpl].
*/
-@DisplayName("WorkflowServiceImpl")
+@DisplayName("WorkflowService")
internal class WorkflowServiceIntegrationTest {
/**
* A large integration test where we check whether all tasks in some trace are executed correctly.
@@ -85,8 +86,8 @@ internal class WorkflowServiceIntegrationTest {
val meter = MeterProvider.noop().get("opendc-compute")
val computeScheduler = FilterScheduler(
- filters = listOf(ComputeFilter(), ComputeCapabilitiesFilter()),
- weighers = listOf(ProvisionedCoresWeigher() to -1.0)
+ filters = listOf(ComputeFilter(), VCpuFilter(1.0), RamFilter(1.0)),
+ weighers = listOf(VCpuWeigher(1.0, multiplier = 1.0))
)
val compute = ComputeService(coroutineContext, clock, meter, computeScheduler, schedulingQuantum = 1000)