Skip to content

Commit 0f835d5

Browse files
Documentation update (#261)
* Updated a lot of documentation, added a new get-started tutorial. * Applied Spotless * Applied Spotless Java * Added bitbrains workload to site
1 parent f3e578a commit 0f835d5

File tree

46 files changed

+752
-326
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+752
-326
lines changed

opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
package org.opendc.compute.carbon
2424

25-
import org.opendc.simulator.compute.power.CarbonFragmentNew
25+
import org.opendc.simulator.compute.power.CarbonFragment
2626
import org.opendc.trace.Trace
2727
import org.opendc.trace.conv.CARBON_INTENSITY_TIMESTAMP
2828
import org.opendc.trace.conv.CARBON_INTENSITY_VALUE
@@ -41,14 +41,14 @@ public class CarbonTraceLoader {
4141
/**
4242
* The cache of workloads.
4343
*/
44-
private val cache = ConcurrentHashMap<String, SoftReference<List<CarbonFragmentNew>>>()
44+
private val cache = ConcurrentHashMap<String, SoftReference<List<CarbonFragment>>>()
4545

4646
private val builder = CarbonFragmentNewBuilder()
4747

4848
/**
4949
* Read the metadata into a workload.
5050
*/
51-
private fun parseCarbon(trace: Trace): List<CarbonFragmentNew> {
51+
private fun parseCarbon(trace: Trace): List<CarbonFragment> {
5252
val reader = checkNotNull(trace.getTable(TABLE_CARBON_INTENSITIES)).newReader()
5353

5454
val startTimeCol = reader.resolve(CARBON_INTENSITY_TIMESTAMP)
@@ -77,7 +77,7 @@ public class CarbonTraceLoader {
7777
/**
7878
* Load the trace with the specified [name] and [format].
7979
*/
80-
public fun get(pathToFile: File): List<CarbonFragmentNew> {
80+
public fun get(pathToFile: File): List<CarbonFragment> {
8181
val trace = Trace.open(pathToFile, "carbon")
8282

8383
return parseCarbon(trace)
@@ -97,7 +97,7 @@ public class CarbonTraceLoader {
9797
/**
9898
* The total load of the trace.
9999
*/
100-
public val fragments: MutableList<CarbonFragmentNew> = mutableListOf()
100+
public val fragments: MutableList<CarbonFragment> = mutableListOf()
101101

102102
/**
103103
* Add a fragment to the trace.
@@ -110,7 +110,11 @@ public class CarbonTraceLoader {
110110
carbonIntensity: Double,
111111
) {
112112
fragments.add(
113-
CarbonFragmentNew(startTime.toEpochMilli(), Long.MAX_VALUE, carbonIntensity),
113+
CarbonFragment(
114+
startTime.toEpochMilli(),
115+
Long.MAX_VALUE,
116+
carbonIntensity,
117+
),
114118
)
115119
}
116120

opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceReader.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424

2525
package org.opendc.compute.carbon
2626

27-
import org.opendc.simulator.compute.power.CarbonFragmentNew
27+
import org.opendc.simulator.compute.power.CarbonFragment
2828
import java.io.File
2929
import javax.management.InvalidAttributeValueException
3030

3131
/**
3232
* Construct a workload from a trace.
3333
*/
34-
public fun getCarbonFragments(pathToFile: String?): List<CarbonFragmentNew>? {
34+
public fun getCarbonFragments(pathToFile: String?): List<CarbonFragment>? {
3535
if (pathToFile == null) {
3636
return null
3737
}
@@ -42,7 +42,7 @@ public fun getCarbonFragments(pathToFile: String?): List<CarbonFragmentNew>? {
4242
/**
4343
* Construct a workload from a trace.
4444
*/
45-
public fun getCarbonFragments(file: File): List<CarbonFragmentNew> {
45+
public fun getCarbonFragments(file: File): List<CarbonFragment> {
4646
if (!file.exists()) {
4747
throw InvalidAttributeValueException("The carbon trace cannot be found")
4848
}

opendc-experiments/opendc-experiments-base/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ dependencies {
5252
val createScenarioApp by tasks.creating(CreateStartScripts::class) {
5353
dependsOn(tasks.jar)
5454

55-
applicationName = "OpenDCScenarioRunner"
56-
mainClass.set("org.opendc.experiments.base.runner.ScenarioCli")
55+
applicationName = "OpenDCExperimentRunner"
56+
mainClass.set("org.opendc.experiments.base.runner.ExperimentCli")
5757
classpath = tasks.jar.get().outputs.files + configurations["runtimeClasspath"]
5858
outputDir = project.buildDir.resolve("scripts")
5959
}
6060

6161
// Create custom Scenario distribution
6262
distributions {
6363
main {
64-
distributionBaseName.set("OpenDCScenarioRunner")
64+
distributionBaseName.set("OpenDCExperimentRunner")
6565

6666
contents {
6767
from("README.md")
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario
23+
package org.opendc.experiments.base.experiment
2424

25-
import org.opendc.experiments.base.scenario.specs.ExperimentSpec
26-
import org.opendc.experiments.base.scenario.specs.ScenarioSpec
25+
import org.opendc.experiments.base.experiment.specs.ExperimentSpec
26+
import org.opendc.experiments.base.experiment.specs.ScenarioSpec
2727
import java.io.File
2828

2929
private val experimentReader = ExperimentReader()
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario
23+
package org.opendc.experiments.base.experiment
2424

2525
import kotlinx.serialization.ExperimentalSerializationApi
2626
import kotlinx.serialization.json.Json
2727
import kotlinx.serialization.json.decodeFromStream
2828
import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
29-
import org.opendc.experiments.base.scenario.specs.ExperimentSpec
29+
import org.opendc.experiments.base.experiment.specs.ExperimentSpec
3030
import java.io.File
3131
import java.io.InputStream
3232
import java.nio.file.Path
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario
23+
package org.opendc.experiments.base.experiment
2424

2525
import kotlinx.serialization.encodeToString
2626
import kotlinx.serialization.json.Json
27-
import org.opendc.experiments.base.scenario.specs.ScenarioSpec
27+
import org.opendc.experiments.base.experiment.specs.ScenarioSpec
2828
import java.io.File
2929

3030
/**
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario
23+
package org.opendc.experiments.base.experiment
2424

2525
import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
26-
import org.opendc.experiments.base.scenario.specs.AllocationPolicySpec
27-
import org.opendc.experiments.base.scenario.specs.CheckpointModelSpec
28-
import org.opendc.experiments.base.scenario.specs.ExportModelSpec
29-
import org.opendc.experiments.base.scenario.specs.FailureModelSpec
30-
import org.opendc.experiments.base.scenario.specs.ScenarioTopologySpec
31-
import org.opendc.experiments.base.scenario.specs.WorkloadSpec
26+
import org.opendc.experiments.base.experiment.specs.AllocationPolicySpec
27+
import org.opendc.experiments.base.experiment.specs.CheckpointModelSpec
28+
import org.opendc.experiments.base.experiment.specs.ExportModelSpec
29+
import org.opendc.experiments.base.experiment.specs.FailureModelSpec
30+
import org.opendc.experiments.base.experiment.specs.ScenarioTopologySpec
31+
import org.opendc.experiments.base.experiment.specs.WorkloadSpec
3232

3333
/**
3434
* A data class representing a scenario for a set of experiments.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626
import org.opendc.compute.simulator.scheduler.ComputeSchedulerEnum
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626
import org.opendc.common.logger.infoNewLine
@@ -50,14 +50,14 @@ public data class ExperimentSpec(
5050
val outputFolder: String = "output",
5151
val initialSeed: Int = 0,
5252
val runs: Int = 1,
53+
val exportModels: Set<ExportModelSpec> = setOf(ExportModelSpec()),
54+
val computeExportConfig: ComputeExportConfig = ComputeExportConfig.ALL_COLUMNS,
55+
val maxNumFailures: Set<Int> = setOf(10),
5356
val topologies: Set<ScenarioTopologySpec>,
5457
val workloads: Set<WorkloadSpec>,
5558
val allocationPolicies: Set<AllocationPolicySpec> = setOf(AllocationPolicySpec()),
56-
val exportModels: Set<ExportModelSpec> = setOf(ExportModelSpec()),
5759
val failureModels: Set<FailureModelSpec?> = setOf(null),
5860
val checkpointModels: Set<CheckpointModelSpec?> = setOf(null),
59-
val computeExportConfig: ComputeExportConfig = ComputeExportConfig.ALL_COLUMNS,
60-
val maxNumFailures: Set<Int> = setOf(10),
6161
) {
6262
init {
6363
require(runs > 0) { "The number of runs should always be positive" }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
/*
2626
* Copyright (c) 2024 AtLarge Research
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626
import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626
import java.io.File
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* SOFTWARE.
2121
*/
2222

23-
package org.opendc.experiments.base.scenario.specs
23+
package org.opendc.experiments.base.experiment.specs
2424

2525
import kotlinx.serialization.Serializable
2626
import org.opendc.compute.workload.ComputeWorkload

opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import com.github.ajalt.clikt.parameters.options.defaultLazy
3030
import com.github.ajalt.clikt.parameters.options.option
3131
import com.github.ajalt.clikt.parameters.types.file
3232
import com.github.ajalt.clikt.parameters.types.int
33-
import org.opendc.experiments.base.scenario.getExperiment
33+
import org.opendc.experiments.base.experiment.getExperiment
3434
import java.io.File
3535

3636
/**

opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
package org.opendc.experiments.base.runner
2424

25-
import org.opendc.experiments.base.scenario.Scenario
25+
import org.opendc.experiments.base.experiment.Scenario
2626
import java.util.concurrent.ForkJoinPool
2727

2828
/**

opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ import org.opendc.compute.simulator.TaskWatcher
3535
import org.opendc.compute.simulator.service.ComputeService
3636
import org.opendc.compute.simulator.service.ServiceTask
3737
import org.opendc.compute.workload.Task
38-
import org.opendc.experiments.base.scenario.specs.FailureModelSpec
39-
import org.opendc.experiments.base.scenario.specs.createFailureModel
38+
import org.opendc.experiments.base.experiment.specs.FailureModelSpec
39+
import org.opendc.experiments.base.experiment.specs.createFailureModel
4040
import java.time.InstantSource
4141
import java.util.Random
4242
import kotlin.coroutines.coroutineContext

opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ import org.opendc.compute.simulator.service.ComputeService
3333
import org.opendc.compute.simulator.telemetry.parquet.ParquetComputeMonitor
3434
import org.opendc.compute.topology.clusterTopology
3535
import org.opendc.compute.workload.ComputeWorkloadLoader
36-
import org.opendc.experiments.base.scenario.Scenario
37-
import org.opendc.experiments.base.scenario.specs.getWorkloadType
36+
import org.opendc.experiments.base.experiment.Scenario
37+
import org.opendc.experiments.base.experiment.specs.getWorkloadType
3838
import org.opendc.simulator.kotlin.runSimulation
3939
import java.io.File
4040
import java.time.Duration

opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ import org.opendc.compute.workload.ComputeWorkloadLoader
4545
import org.opendc.compute.workload.Task
4646
import org.opendc.compute.workload.sampleByLoad
4747
import org.opendc.compute.workload.trace
48+
import org.opendc.experiments.base.experiment.specs.TraceBasedFailureModelSpec
4849
import org.opendc.experiments.base.runner.replay
49-
import org.opendc.experiments.base.scenario.specs.TraceBasedFailureModelSpec
5050
import org.opendc.simulator.kotlin.runSimulation
5151
import java.io.File
5252
import java.util.Random

opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import com.github.ajalt.clikt.parameters.options.defaultLazy
3030
import com.github.ajalt.clikt.parameters.options.option
3131
import com.github.ajalt.clikt.parameters.types.file
3232
import com.github.ajalt.clikt.parameters.types.int
33+
import org.opendc.experiments.base.experiment.getExperiment
3334
import org.opendc.experiments.base.runner.runExperiment
34-
import org.opendc.experiments.base.scenario.getExperiment
3535
import org.opendc.experiments.m3sa.m3saAnalyze
3636
import org.opendc.experiments.m3sa.scenario.getOutputFolder
3737
import java.io.File

opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
package org.opendc.experiments.m3sa.runner
2626

27+
import org.opendc.experiments.base.experiment.Scenario
2728
import org.opendc.experiments.base.runner.runScenario
2829
import org.opendc.experiments.base.runner.setupOutputFolderStructure
29-
import org.opendc.experiments.base.scenario.Scenario
3030
import java.util.concurrent.ForkJoinPool
3131

3232
/**

opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/scenario/M3SAFactories.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
package org.opendc.experiments.m3sa.scenario
2424

25-
import org.opendc.experiments.base.scenario.ExperimentReader
25+
import org.opendc.experiments.base.experiment.ExperimentReader
2626
import java.io.File
2727

2828
private val experimentReader = ExperimentReader()
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,16 @@
2222

2323
package org.opendc.simulator.compute.power;
2424

25-
public class CarbonFragmentNew {
26-
private long endTime;
25+
/**
26+
* An object holding the carbon intensity during a specific time frame.
27+
* Used by {@link CarbonModel}.
28+
*/
29+
public class CarbonFragment {
2730
private long startTime;
31+
private long endTime;
2832
private double carbonIntensity;
2933

30-
public CarbonFragmentNew(long startTime, long endTime, double carbonIntensity) {
34+
public CarbonFragment(long startTime, long endTime, double carbonIntensity) {
3135
this.setStartTime(startTime);
3236
this.setEndTime(endTime);
3337
this.setCarbonIntensity(carbonIntensity);

0 commit comments

Comments
 (0)