summaryrefslogtreecommitdiff
path: root/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-03-05 13:23:57 +0100
committerGitHub <noreply@github.com>2024-03-05 13:23:57 +0100
commit5864cbcbfe2eb8c36ca05c3a39c7e5916aeecaec (patch)
tree5b2773b8dc21c2e1b526fb70f829c376dd80532a /opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments
parentd28002a3c151d198298574312f32f1cb43f3a660 (diff)
Updated package versions, updated web server tests. (#207)
* Updated all package versions including kotlin. Updated all web-server tests to run. * Changed the java version of the tests. OpenDC now only supports java 19. * small update * test update * new update * updated docker version to 19 * updated docker version to 19
Diffstat (limited to 'opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments')
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierCli.kt19
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierPortfolio.kt37
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierRunner.kt15
3 files changed, 41 insertions, 30 deletions
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierCli.kt b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierCli.kt
index efdc96cd..93557500 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierCli.kt
+++ b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierCli.kt
@@ -104,7 +104,7 @@ internal class GreenifierCommand : CliktCommand(name = "greenifier") {
*/
private val portfolio by argument(help = "portfolio to replay")
.choice(
- "greenifier" to { GreenifierPortfolio() }
+ "greenifier" to { GreenifierPortfolio() },
)
.default({ GreenifierPortfolio() })
@@ -131,12 +131,17 @@ internal class GreenifierCommand : CliktCommand(name = "greenifier") {
/**
* Run a single scenario.
*/
- private fun runScenario(runner: GreenifierRunner, pool: ForkJoinPool, scenario: Scenario) {
- val pb = ProgressBarBuilder()
- .setInitialMax(repeats.toLong())
- .setStyle(ProgressBarStyle.ASCII)
- .setTaskName("Simulating...")
- .build()
+ private fun runScenario(
+ runner: GreenifierRunner,
+ pool: ForkJoinPool,
+ scenario: Scenario,
+ ) {
+ val pb =
+ ProgressBarBuilder()
+ .setInitialMax(repeats.toLong())
+ .setStyle(ProgressBarStyle.ASCII)
+ .setTaskName("Simulating...")
+ .build()
pool.submit {
LongStream.range(0, repeats.toLong())
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierPortfolio.kt b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierPortfolio.kt
index eee30b81..f7fd204f 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierPortfolio.kt
+++ b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierPortfolio.kt
@@ -34,26 +34,29 @@ import org.opendc.experiments.base.portfolio.model.Workload
* A [Portfolio] that explores the difference between horizontal and vertical scaling.
*/
public class GreenifierPortfolio : Portfolio {
- private val topologies = listOf(
- Topology("single"),
- Topology("multi")
- )
+ private val topologies =
+ listOf(
+ Topology("single"),
+ Topology("multi"),
+ )
- private val workloads = listOf(
- Workload("bitbrains-small", trace("trace").sampleByLoad(1.0))
- )
+ private val workloads =
+ listOf(
+ Workload("bitbrains-small", trace("trace").sampleByLoad(1.0)),
+ )
private val operationalPhenomena = OperationalPhenomena(0.0, false)
private val allocationPolicy = "active-servers"
- override val scenarios: Iterable<Scenario> = topologies.flatMap { topology ->
- workloads.map { workload ->
- Scenario(
- topology,
- workload,
- operationalPhenomena,
- allocationPolicy,
- mapOf("topology" to topology.name, "workload" to workload.name)
- )
+ override val scenarios: Iterable<Scenario> =
+ topologies.flatMap { topology ->
+ workloads.map { workload ->
+ Scenario(
+ topology,
+ workload,
+ operationalPhenomena,
+ allocationPolicy,
+ mapOf("topology" to topology.name, "workload" to workload.name),
+ )
+ }
}
- }
}
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierRunner.kt b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierRunner.kt
index 2c2962f3..6da35cd1 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierRunner.kt
+++ b/opendc-experiments/opendc-experiments-greenifier/src/main/kotlin/org/opendc/experiments/greenifier/GreenifierRunner.kt
@@ -50,7 +50,7 @@ import kotlin.math.roundToLong
public class GreenifierRunner(
private val envPath: File,
tracePath: File,
- private val outputPath: File?
+ private val outputPath: File?,
) {
/**
* The [ComputeWorkloadLoader] to use for loading the traces.
@@ -60,14 +60,17 @@ public class GreenifierRunner(
/**
* Run a single [scenario] with the specified seed.
*/
- fun runScenario(scenario: Scenario, seed: Long) = runSimulation {
+ fun runScenario(
+ scenario: Scenario,
+ seed: Long,
+ ) = runSimulation {
val serviceDomain = "compute.opendc.org"
val topology = clusterTopology(File(envPath, "${scenario.topology.name}.txt"))
Provisioner(dispatcher, seed).use { provisioner ->
provisioner.runSteps(
setupComputeService(serviceDomain, { createComputeScheduler(scenario.allocationPolicy, Random(it.seeder.nextLong())) }),
- setupHosts(serviceDomain, topology, optimize = true)
+ setupHosts(serviceDomain, topology, optimize = true),
)
if (outputPath != null) {
@@ -80,9 +83,9 @@ public class GreenifierRunner(
ParquetComputeMonitor(
outputPath,
partition,
- bufferSize = 4096
- )
- )
+ bufferSize = 4096,
+ ),
+ ),
)
}