diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-10-06 15:34:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-06 15:34:19 +0200 |
| commit | 7ba3b953300c46b4e3afcde17cd3dd14b1af8406 (patch) | |
| tree | 950ba678869ec868c26ab3b95b57e4cabadb23c7 /opendc-web/opendc-web-runner | |
| parent | c2047d09b27b0c05f5c203509dde524e17d3b729 (diff) | |
| parent | 47357afd16f928260db34d4dd3e686fb9ee7c5ff (diff) | |
merge: Update build and runtime dependencies (#107)
This pull request updates the build and runtime dependencies used by OpenDC to their latest
version compatible with the project.
## Implementation Notes :hammer_and_pick:
* Update simulator dependency versions
* Remove unused distribution conventions
* Update next version to 3.0
* Eliminate use of wildcard imports
* Switch to Spotless for formatting
Diffstat (limited to 'opendc-web/opendc-web-runner')
3 files changed, 31 insertions, 11 deletions
diff --git a/opendc-web/opendc-web-runner/src/cli/kotlin/org/opendc/web/runner/Main.kt b/opendc-web/opendc-web-runner/src/cli/kotlin/org/opendc/web/runner/Main.kt index 4cfbdd7c..299c4d09 100644 --- a/opendc-web/opendc-web-runner/src/cli/kotlin/org/opendc/web/runner/Main.kt +++ b/opendc-web/opendc-web-runner/src/cli/kotlin/org/opendc/web/runner/Main.kt @@ -23,7 +23,11 @@ package org.opendc.web.runner import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.* +import com.github.ajalt.clikt.parameters.options.convert +import com.github.ajalt.clikt.parameters.options.default +import com.github.ajalt.clikt.parameters.options.defaultLazy +import com.github.ajalt.clikt.parameters.options.option +import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.types.file import com.github.ajalt.clikt.parameters.types.int import mu.KotlinLogging @@ -105,7 +109,7 @@ class RunnerCli : CliktCommand(name = "opendc-runner") { */ private val parallelism by option( "--parallelism", - help = "maximum number of threads for simulations", + help = "maximum number of threads for simulations" ) .int() .default(Runtime.getRuntime().availableProcessors() - 1) diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt index d340d31c..226bad47 100644 --- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt +++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt @@ -24,8 +24,16 @@ package org.opendc.web.runner import mu.KotlinLogging import org.opendc.compute.service.ComputeService -import org.opendc.experiments.compute.* +import org.opendc.experiments.compute.ComputeWorkloadLoader +import org.opendc.experiments.compute.createComputeScheduler +import org.opendc.experiments.compute.grid5000 +import org.opendc.experiments.compute.registerComputeMonitor +import org.opendc.experiments.compute.replay +import org.opendc.experiments.compute.sampleByLoad +import org.opendc.experiments.compute.setupComputeService +import org.opendc.experiments.compute.setupHosts import org.opendc.experiments.compute.topology.HostSpec +import org.opendc.experiments.compute.trace import org.opendc.experiments.provisioner.Provisioner import org.opendc.simulator.compute.model.MachineModel import org.opendc.simulator.compute.model.MemoryUnit @@ -40,9 +48,16 @@ import org.opendc.web.proto.runner.Topology import org.opendc.web.runner.internal.WebComputeMonitor import java.io.File import java.time.Duration -import java.util.* -import java.util.concurrent.* +import java.util.Random +import java.util.UUID +import java.util.concurrent.Executors +import java.util.concurrent.ForkJoinPool import java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory +import java.util.concurrent.ForkJoinWorkerThread +import java.util.concurrent.RecursiveAction +import java.util.concurrent.RecursiveTask +import java.util.concurrent.ScheduledExecutorService +import java.util.concurrent.TimeUnit /** * Class to execute the pending jobs via the OpenDC web API. @@ -200,7 +215,7 @@ public class OpenDCRunner( private inner class SimulationTask( private val scenario: Scenario, private val repeat: Int, - private val topology: List<HostSpec>, + private val topology: List<HostSpec> ) : RecursiveTask<WebComputeMonitor.Results>() { override fun compute(): WebComputeMonitor.Results { val monitor = WebComputeMonitor() @@ -246,10 +261,11 @@ public class OpenDCRunner( val phenomena = scenario.phenomena val failureModel = - if (phenomena.failures) + if (phenomena.failures) { grid5000(Duration.ofDays(7)) - else + } else { null + } // Run workload trace service.replay(clock, vms, seed, failureModel = failureModel, interference = phenomena.interference) diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt index 76377c08..4db70d3d 100644 --- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt +++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt @@ -66,7 +66,7 @@ internal class WebComputeMonitor : ComputeMonitor { val totalLostTime: Long = 0L, val totalPowerDraw: Double = 0.0, val totalFailureSlices: Double = 0.0, - val totalFailureVmSlices: Double = 0.0, + val totalFailureVmSlices: Double = 0.0 ) private data class HostMetrics( @@ -84,7 +84,7 @@ internal class WebComputeMonitor : ComputeMonitor { max(reader.serversPending, serviceMetrics.vmWaitingCount), max(reader.serversActive, serviceMetrics.vmActiveCount), max(0, serviceMetrics.vmInactiveCount), - max(reader.attemptsFailure, serviceMetrics.vmFailedCount), + max(reader.attemptsFailure, serviceMetrics.vmFailedCount) ) } @@ -115,7 +115,7 @@ internal class WebComputeMonitor : ComputeMonitor { serviceMetrics.vmTotalCount, serviceMetrics.vmWaitingCount, serviceMetrics.vmInactiveCount, - serviceMetrics.vmFailedCount, + serviceMetrics.vmFailedCount ) } |
