summaryrefslogtreecommitdiff
path: root/simulator/opendc-experiments
diff options
context:
space:
mode:
Diffstat (limited to 'simulator/opendc-experiments')
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc18/src/main/kotlin/org/opendc/experiments/sc18/TestExperiment.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/Main.kt4
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Experiment.kt12
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/ExperimentHelpers.kt13
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolio.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolios.kt48
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Scenario.kt12
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/model/Workload.kt10
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ExperimentMonitor.kt12
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ParquetExperimentMonitor.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentDescriptor.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentRunner.kt4
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentExecutionListener.kt8
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentScheduler.kt8
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ThreadPoolExperimentScheduler.kt5
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/internal/DefaultExperimentRunner.kt4
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/Event.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/HostEvent.kt24
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/ProvisionerEvent.kt16
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/RunEvent.kt4
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/VmEvent.kt20
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetEventWriter.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetHostEventWriter.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetProvisionerEventWriter.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetRunEventWriter.kt6
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20ParquetTraceReader.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20RawParquetTraceReader.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20StreamingParquetTraceReader.kt2
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20TraceConverter.kt38
-rw-r--r--simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/WorkloadSampler.kt6
30 files changed, 148 insertions, 148 deletions
diff --git a/simulator/opendc-experiments/opendc-experiments-sc18/src/main/kotlin/org/opendc/experiments/sc18/TestExperiment.kt b/simulator/opendc-experiments/opendc-experiments-sc18/src/main/kotlin/org/opendc/experiments/sc18/TestExperiment.kt
index 18dce054..4aef5be3 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc18/src/main/kotlin/org/opendc/experiments/sc18/TestExperiment.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc18/src/main/kotlin/org/opendc/experiments/sc18/TestExperiment.kt
@@ -47,7 +47,7 @@ import kotlin.math.max
* Main entry point of the experiment.
*/
@OptIn(ExperimentalCoroutinesApi::class)
-fun main(args: Array<String>) {
+public fun main(args: Array<String>) {
if (args.isEmpty()) {
println("error: Please provide path to GWF trace")
return
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/Main.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/Main.kt
index 9f096038..b7bb0c23 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/Main.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/Main.kt
@@ -51,7 +51,7 @@ private val logger = KotlinLogging.logger {}
/**
* Represents the command for running the experiment.
*/
-class ExperimentCli : CliktCommand(name = "sc20-experiment", help = "Run experiments from the Capelin paper") {
+public class ExperimentCli : CliktCommand(name = "sc20-experiment") {
/**
* The path to the directory where the topology descriptions are located.
*/
@@ -157,4 +157,4 @@ class ExperimentCli : CliktCommand(name = "sc20-experiment", help = "Run experim
/**
* Main entry point of the experiment.
*/
-fun main(args: Array<String>) = ExperimentCli().main(args)
+public fun main(args: Array<String>): Unit = ExperimentCli().main(args)
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Experiment.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Experiment.kt
index e93d8c1e..34d7301b 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Experiment.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Experiment.kt
@@ -42,12 +42,12 @@ import java.io.File
* @param bufferSize The buffer size of the event reporters.
*/
public abstract class Experiment(
- val environments: File,
- val traces: File,
- val output: File,
- val performanceInterferenceModel: PerformanceInterferenceModelReader?,
- val vmPlacements: Map<String, String>,
- val bufferSize: Int
+ public val environments: File,
+ public val traces: File,
+ public val output: File,
+ public val performanceInterferenceModel: PerformanceInterferenceModelReader?,
+ public val vmPlacements: Map<String, String>,
+ public val bufferSize: Int
) : ContainerExperimentDescriptor() {
override val parent: ExperimentDescriptor? = null
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/ExperimentHelpers.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/ExperimentHelpers.kt
index c2e5b619..97d7d5da 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/ExperimentHelpers.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/ExperimentHelpers.kt
@@ -65,7 +65,7 @@ private val logger = KotlinLogging.logger {}
/**
* Construct the failure domain for the experiments.
*/
-suspend fun createFailureDomain(
+public suspend fun createFailureDomain(
coroutineScope: CoroutineScope,
clock: Clock,
seed: Int,
@@ -97,7 +97,7 @@ suspend fun createFailureDomain(
/**
* Obtain the [FaultInjector] to use for the experiments.
*/
-fun createFaultInjector(
+public fun createFaultInjector(
coroutineScope: CoroutineScope,
clock: Clock,
random: Random,
@@ -118,7 +118,7 @@ fun createFaultInjector(
/**
* Create the trace reader from which the VM workloads are read.
*/
-fun createTraceReader(
+public fun createTraceReader(
path: File,
performanceInterferenceModel: PerformanceInterferenceModel,
vms: List<String>,
@@ -135,7 +135,7 @@ fun createTraceReader(
/**
* Construct the environment for a VM provisioner and return the provisioner instance.
*/
-suspend fun createProvisioner(
+public suspend fun createProvisioner(
coroutineScope: CoroutineScope,
clock: Clock,
environmentReader: EnvironmentReader,
@@ -159,12 +159,13 @@ suspend fun createProvisioner(
* Attach the specified monitor to the VM provisioner.
*/
@OptIn(ExperimentalCoroutinesApi::class)
-suspend fun attachMonitor(
+public suspend fun attachMonitor(
coroutineScope: CoroutineScope,
clock: Clock,
scheduler: SimpleVirtProvisioningService,
monitor: ExperimentMonitor
) {
+
val hypervisors = scheduler.drivers()
// Monitor hypervisor events
@@ -218,7 +219,7 @@ suspend fun attachMonitor(
/**
* Process the trace.
*/
-suspend fun processTrace(
+public suspend fun processTrace(
coroutineScope: CoroutineScope,
clock: Clock,
reader: TraceReader<VmWorkload>,
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolio.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolio.kt
index fb58e651..37cf2880 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolio.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolio.kt
@@ -32,8 +32,8 @@ import org.opendc.experiments.sc20.runner.ContainerExperimentDescriptor
*/
public abstract class Portfolio(
override val parent: Experiment,
- val id: Int,
- val name: String
+ public val id: Int,
+ public val name: String
) : ContainerExperimentDescriptor() {
/**
* The topologies to consider.
@@ -58,7 +58,7 @@ public abstract class Portfolio(
/**
* The number of repetitions to perform.
*/
- open val repetitions: Int = 32
+ public open val repetitions: Int = 32
/**
* Resolve the children of this container.
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolios.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolios.kt
index 53d6fc21..249a63b9 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolios.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Portfolios.kt
@@ -25,7 +25,7 @@ package org.opendc.experiments.sc20.experiment
import org.opendc.experiments.sc20.experiment.model.*
public class HorVerPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id, "horizontal_vs_vertical") {
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base"),
Topology("rep-vol-hor-hom"),
Topology("rep-vol-hor-het"),
@@ -37,24 +37,24 @@ public class HorVerPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id
Topology("exp-vol-ver-het")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
Workload("solvinity", 0.1),
Workload("solvinity", 0.25),
Workload("solvinity", 0.5),
Workload("solvinity", 1.0)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = true)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"active-servers"
)
}
public class MoreVelocityPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id, "more_velocity") {
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base"),
Topology("rep-vel-ver-hom"),
Topology("rep-vel-ver-het"),
@@ -62,18 +62,18 @@ public class MoreVelocityPortfolio(parent: Experiment, id: Int) : Portfolio(pare
Topology("exp-vel-ver-het")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
Workload("solvinity", 0.1),
Workload("solvinity", 0.25),
Workload("solvinity", 0.5),
Workload("solvinity", 1.0)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = true)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"active-servers"
)
}
@@ -81,14 +81,14 @@ public class MoreVelocityPortfolio(parent: Experiment, id: Int) : Portfolio(pare
public class CompositeWorkloadPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id, "composite-workload") {
private val totalSampleLoad = 1.3301733005049648E12
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base"),
Topology("exp-vol-hor-hom"),
Topology("exp-vol-ver-hom"),
Topology("exp-vel-ver-hom")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
CompositeWorkload(
"all-azure",
listOf(Workload("solvinity-short", 0.0), Workload("azure", 1.0)),
@@ -116,36 +116,36 @@ public class CompositeWorkloadPortfolio(parent: Experiment, id: Int) : Portfolio
)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = false)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"active-servers"
)
}
public class OperationalPhenomenaPortfolio(parent: Experiment, id: Int) :
Portfolio(parent, id, "operational_phenomena") {
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
Workload("solvinity", 0.1),
Workload("solvinity", 0.25),
Workload("solvinity", 0.5),
Workload("solvinity", 1.0)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = true),
OperationalPhenomena(failureFrequency = 0.0, hasInterference = true),
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = false),
OperationalPhenomena(failureFrequency = 0.0, hasInterference = false)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"mem",
"mem-inv",
"core-mem",
@@ -157,19 +157,19 @@ public class OperationalPhenomenaPortfolio(parent: Experiment, id: Int) :
}
public class ReplayPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id, "replay") {
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
Workload("solvinity", 1.0)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 0.0, hasInterference = false)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"replay",
"active-servers"
)
@@ -194,14 +194,14 @@ public class TestPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id,
}
public class MoreHpcPortfolio(parent: Experiment, id: Int) : Portfolio(parent, id, "more_hpc") {
- override val topologies = listOf(
+ override val topologies: List<Topology> = listOf(
Topology("base"),
Topology("exp-vol-hor-hom"),
Topology("exp-vol-ver-hom"),
Topology("exp-vel-ver-hom")
)
- override val workloads = listOf(
+ override val workloads: List<Workload> = listOf(
Workload("solvinity", 0.0, samplingStrategy = SamplingStrategy.HPC),
Workload("solvinity", 0.25, samplingStrategy = SamplingStrategy.HPC),
Workload("solvinity", 0.5, samplingStrategy = SamplingStrategy.HPC),
@@ -211,11 +211,11 @@ public class MoreHpcPortfolio(parent: Experiment, id: Int) : Portfolio(parent, i
Workload("solvinity", 1.0, samplingStrategy = SamplingStrategy.HPC_LOAD)
)
- override val operationalPhenomenas = listOf(
+ override val operationalPhenomenas: List<OperationalPhenomena> = listOf(
OperationalPhenomena(failureFrequency = 24.0 * 7, hasInterference = true)
)
- override val allocationPolicies = listOf(
+ override val allocationPolicies: List<String> = listOf(
"active-servers"
)
}
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Scenario.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Scenario.kt
index 5cffae63..d092ddd5 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Scenario.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/Scenario.kt
@@ -33,12 +33,12 @@ import org.opendc.experiments.sc20.runner.ExperimentDescriptor
*/
public class Scenario(
override val parent: Portfolio,
- val id: Int,
- val repetitions: Int,
- val topology: Topology,
- val workload: Workload,
- val allocationPolicy: String,
- val operationalPhenomena: OperationalPhenomena
+ public val id: Int,
+ public val repetitions: Int,
+ public val topology: Topology,
+ public val workload: Workload,
+ public val allocationPolicy: String,
+ public val operationalPhenomena: OperationalPhenomena
) : ContainerExperimentDescriptor() {
override val children: Sequence<ExperimentDescriptor> = sequence {
repeat(repetitions) { i -> yield(Run(this@Scenario, i, i)) }
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/model/Workload.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/model/Workload.kt
index a9719114..ba95f544 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/model/Workload.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/model/Workload.kt
@@ -22,7 +22,7 @@
package org.opendc.experiments.sc20.experiment.model
-enum class SamplingStrategy {
+public enum class SamplingStrategy {
REGULAR,
HPC,
HPC_LOAD
@@ -32,13 +32,13 @@ enum class SamplingStrategy {
* A workload that is considered for a scenario.
*/
public open class Workload(
- open val name: String,
- val fraction: Double,
- val samplingStrategy: SamplingStrategy = SamplingStrategy.REGULAR
+ public open val name: String,
+ public val fraction: Double,
+ public val samplingStrategy: SamplingStrategy = SamplingStrategy.REGULAR
)
/**
* A workload that is composed of multiple workloads.
*/
-public class CompositeWorkload(override val name: String, val workloads: List<Workload>, val totalLoad: Double) :
+public class CompositeWorkload(override val name: String, public val workloads: List<Workload>, public val totalLoad: Double) :
Workload(name, -1.0)
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ExperimentMonitor.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ExperimentMonitor.kt
index 8d41f29e..0ac532a4 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ExperimentMonitor.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ExperimentMonitor.kt
@@ -30,16 +30,16 @@ import java.io.Closeable
/**
* A monitor watches the events of an experiment.
*/
-interface ExperimentMonitor : Closeable {
+public interface ExperimentMonitor : Closeable {
/**
* This method is invoked when the state of a VM changes.
*/
- fun reportVmStateChange(time: Long, server: Server) {}
+ public fun reportVmStateChange(time: Long, server: Server) {}
/**
* This method is invoked when the state of a host changes.
*/
- fun reportHostStateChange(
+ public fun reportHostStateChange(
time: Long,
driver: VirtDriver,
server: Server
@@ -49,12 +49,12 @@ interface ExperimentMonitor : Closeable {
/**
* Report the power consumption of a host.
*/
- fun reportPowerConsumption(host: Server, draw: Double) {}
+ public fun reportPowerConsumption(host: Server, draw: Double) {}
/**
* This method is invoked for a host for each slice that is finishes.
*/
- fun reportHostSlice(
+ public fun reportHostSlice(
time: Long,
requestedBurst: Long,
grantedBurst: Long,
@@ -71,5 +71,5 @@ interface ExperimentMonitor : Closeable {
/**
* This method is invoked for a provisioner event.
*/
- fun reportProvisionerMetrics(time: Long, event: VirtProvisioningEvent.MetricsAvailable) {}
+ public fun reportProvisionerMetrics(time: Long, event: VirtProvisioningEvent.MetricsAvailable) {}
}
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ParquetExperimentMonitor.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ParquetExperimentMonitor.kt
index b1583f87..bb512ef7 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ParquetExperimentMonitor.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/experiment/monitor/ParquetExperimentMonitor.kt
@@ -40,7 +40,7 @@ private val logger = KotlinLogging.logger {}
/**
* An [ExperimentMonitor] that logs the events to a Parquet file.
*/
-class ParquetExperimentMonitor(base: File, partition: String, bufferSize: Int) : ExperimentMonitor {
+public class ParquetExperimentMonitor(base: File, partition: String, bufferSize: Int) : ExperimentMonitor {
private val hostWriter = ParquetHostEventWriter(
File(base, "host-metrics/$partition/data.parquet"),
bufferSize
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentDescriptor.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentDescriptor.kt
index e087c7fd..1e67c086 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentDescriptor.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentDescriptor.kt
@@ -41,7 +41,7 @@ public abstract class ExperimentDescriptor : Serializable {
/**
* The type of descriptor.
*/
- abstract val type: Type
+ public abstract val type: Type
/**
* A flag to indicate that this descriptor is a root descriptor.
@@ -52,7 +52,7 @@ public abstract class ExperimentDescriptor : Serializable {
/**
* A flag to indicate that this descriptor describes an experiment trial.
*/
- val isTrial: Boolean
+ public val isTrial: Boolean
get() = type == Type.TRIAL
/**
@@ -65,7 +65,7 @@ public abstract class ExperimentDescriptor : Serializable {
/**
* The types of experiment descriptors.
*/
- enum class Type {
+ public enum class Type {
/**
* A composition of multiple experiment descriptions whose invocation happens on a single thread.
*/
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentRunner.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentRunner.kt
index 49d57629..a59481c0 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentRunner.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/ExperimentRunner.kt
@@ -31,12 +31,12 @@ public interface ExperimentRunner {
/**
* The unique identifier of this runner.
*/
- val id: String
+ public val id: String
/**
* The version of this runner.
*/
- val version: String?
+ public val version: String?
get() = null
/**
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentExecutionListener.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentExecutionListener.kt
index 9e8b46e9..42fef164 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentExecutionListener.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentExecutionListener.kt
@@ -27,20 +27,20 @@ import org.opendc.experiments.sc20.runner.ExperimentDescriptor
/**
* Listener to be notified of experiment execution events by experiment runners.
*/
-interface ExperimentExecutionListener {
+public interface ExperimentExecutionListener {
/**
* A method that is invoked when a new [ExperimentDescriptor] is registered.
*/
- fun descriptorRegistered(descriptor: ExperimentDescriptor)
+ public fun descriptorRegistered(descriptor: ExperimentDescriptor)
/**
* A method that is invoked when when the execution of a leaf or subtree of the experiment tree has finished,
* regardless of the outcome.
*/
- fun executionFinished(descriptor: ExperimentDescriptor, result: ExperimentExecutionResult)
+ public fun executionFinished(descriptor: ExperimentDescriptor, result: ExperimentExecutionResult)
/**
* A method that is invoked when the execution of a leaf or subtree of the experiment tree is about to be started.
*/
- fun executionStarted(descriptor: ExperimentDescriptor)
+ public fun executionStarted(descriptor: ExperimentDescriptor)
}
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentScheduler.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentScheduler.kt
index 49a137cc..70095ccd 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentScheduler.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ExperimentScheduler.kt
@@ -28,19 +28,19 @@ import java.io.Closeable
/**
* A interface for scheduling the execution of experiment trials over compute resources (threads/containers/vms)
*/
-interface ExperimentScheduler : Closeable {
+public interface ExperimentScheduler : Closeable {
/**
* Allocate a [Worker] for executing an experiment trial. This method may suspend in case no resources are directly
* available at the moment.
*
* @return The available worker.
*/
- suspend fun allocate(): ExperimentScheduler.Worker
+ public suspend fun allocate(): ExperimentScheduler.Worker
/**
* An isolated worker of an [ExperimentScheduler] that is responsible for executing a single experiment trial.
*/
- interface Worker {
+ public interface Worker {
/**
* Dispatch the specified [ExperimentDescriptor] to execute some time in the future and return the results of
* the trial.
@@ -48,7 +48,7 @@ interface ExperimentScheduler : Closeable {
* @param descriptor The descriptor to execute.
* @param context The context to execute the descriptor in.
*/
- suspend operator fun invoke(
+ public suspend operator fun invoke(
descriptor: ExperimentDescriptor,
context: ExperimentExecutionContext
)
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ThreadPoolExperimentScheduler.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ThreadPoolExperimentScheduler.kt
index fb684678..942faed1 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ThreadPoolExperimentScheduler.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/execution/ThreadPoolExperimentScheduler.kt
@@ -35,8 +35,7 @@ import java.util.concurrent.Executors
*
* @param parallelism The maximum amount of parallel workers (default is the number of available processors).
*/
-class ThreadPoolExperimentScheduler(parallelism: Int = Runtime.getRuntime().availableProcessors() + 1) :
- ExperimentScheduler {
+public class ThreadPoolExperimentScheduler(parallelism: Int = Runtime.getRuntime().availableProcessors() + 1) : ExperimentScheduler {
private val dispatcher = Executors.newCachedThreadPool().asCoroutineDispatcher()
private val tickets = Semaphore(parallelism)
@@ -80,5 +79,5 @@ class ThreadPoolExperimentScheduler(parallelism: Int = Runtime.getRuntime().avai
}
}
- override fun close() = dispatcher.close()
+ override fun close(): Unit = dispatcher.close()
}
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/internal/DefaultExperimentRunner.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/internal/DefaultExperimentRunner.kt
index 953669dc..26e4df89 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/internal/DefaultExperimentRunner.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/runner/internal/DefaultExperimentRunner.kt
@@ -36,12 +36,12 @@ import java.util.concurrent.ConcurrentHashMap
*
* @param scheduler The scheduler to use.
*/
-public class DefaultExperimentRunner(val scheduler: ExperimentScheduler) : ExperimentRunner {
+public class DefaultExperimentRunner(private val scheduler: ExperimentScheduler) : ExperimentRunner {
override val id: String = "default"
override val version: String? = "1.0"
- override fun execute(root: ExperimentDescriptor, listener: ExperimentExecutionListener) = runBlocking {
+ override fun execute(root: ExperimentDescriptor, listener: ExperimentExecutionListener): Unit = runBlocking {
val context = object : ExperimentExecutionContext {
override val listener: ExperimentExecutionListener = listener
override val scheduler: ExperimentScheduler = this@DefaultExperimentRunner.scheduler
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/Event.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/Event.kt
index ba7d2f65..38a4a227 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/Event.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/Event.kt
@@ -27,7 +27,7 @@ package org.opendc.experiments.sc20.telemetry
/**
* An event that occurs within the system.
*/
-public abstract class Event(val name: String) {
+public abstract class Event(public val name: String) {
/**
* The time of occurrence of this event.
*/
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/HostEvent.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/HostEvent.kt
index 1d491e53..042d204e 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/HostEvent.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/HostEvent.kt
@@ -27,17 +27,17 @@ import org.opendc.compute.core.Server
/**
* A periodic report of the host machine metrics.
*/
-data class HostEvent(
+public data class HostEvent(
override val timestamp: Long,
- val duration: Long,
- val host: Server,
- val vmCount: Int,
- val requestedBurst: Long,
- val grantedBurst: Long,
- val overcommissionedBurst: Long,
- val interferedBurst: Long,
- val cpuUsage: Double,
- val cpuDemand: Double,
- val powerDraw: Double,
- val cores: Int
+ public val duration: Long,
+ public val host: Server,
+ public val vmCount: Int,
+ public val requestedBurst: Long,
+ public val grantedBurst: Long,
+ public val overcommissionedBurst: Long,
+ public val interferedBurst: Long,
+ public val cpuUsage: Double,
+ public val cpuDemand: Double,
+ public val powerDraw: Double,
+ public val cores: Int
) : Event("host-metrics")
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/ProvisionerEvent.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/ProvisionerEvent.kt
index 22795c8b..d063bc54 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/ProvisionerEvent.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/ProvisionerEvent.kt
@@ -27,13 +27,13 @@ package org.opendc.experiments.sc20.telemetry
/**
* A periodic report of the provisioner's metrics.
*/
-data class ProvisionerEvent(
+public data class ProvisionerEvent(
override val timestamp: Long,
- val totalHostCount: Int,
- val availableHostCount: Int,
- val totalVmCount: Int,
- val activeVmCount: Int,
- val inactiveVmCount: Int,
- val waitingVmCount: Int,
- val failedVmCount: Int
+ public val totalHostCount: Int,
+ public val availableHostCount: Int,
+ public val totalVmCount: Int,
+ public val activeVmCount: Int,
+ public val inactiveVmCount: Int,
+ public val waitingVmCount: Int,
+ public val failedVmCount: Int
) : Event("provisioner-metrics")
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/RunEvent.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/RunEvent.kt
index b426fe11..3bcd10a1 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/RunEvent.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/RunEvent.kt
@@ -27,7 +27,7 @@ import org.opendc.experiments.sc20.experiment.Run
/**
* A periodic report of the host machine metrics.
*/
-data class RunEvent(
- val run: Run,
+public data class RunEvent(
+ public val run: Run,
override val timestamp: Long
) : Event("run")
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/VmEvent.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/VmEvent.kt
index 89ee2a5a..c18069c9 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/VmEvent.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/VmEvent.kt
@@ -27,15 +27,15 @@ import org.opendc.compute.core.Server
/**
* A periodic report of a virtual machine's metrics.
*/
-data class VmEvent(
+public data class VmEvent(
override val timestamp: Long,
- val duration: Long,
- val vm: Server,
- val host: Server,
- val requestedBurst: Long,
- val grantedBurst: Long,
- val overcommissionedBurst: Long,
- val interferedBurst: Long,
- val cpuUsage: Double,
- val cpuDemand: Double
+ public val duration: Long,
+ public val vm: Server,
+ public val host: Server,
+ public val requestedBurst: Long,
+ public val grantedBurst: Long,
+ public val overcommissionedBurst: Long,
+ public val interferedBurst: Long,
+ public val cpuUsage: Double,
+ public val cpuDemand: Double
) : Event("vm-metrics")
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetEventWriter.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetEventWriter.kt
index 82ce8a22..79bc23db 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetEventWriter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetEventWriter.kt
@@ -112,15 +112,15 @@ public open class ParquetEventWriter<in T : Event>(
}
}
- sealed class Action {
+ public sealed class Action {
/**
* A poison pill that will stop the writer thread.
*/
- object Stop : Action()
+ public object Stop : Action()
/**
* Write the specified metrics to the database.
*/
- data class Write<out T : Event>(val event: T) : Action()
+ public data class Write<out T : Event>(val event: T) : Action()
}
}
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetHostEventWriter.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetHostEventWriter.kt
index 3219bd0b..bd4eae37 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetHostEventWriter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetHostEventWriter.kt
@@ -36,8 +36,8 @@ public class ParquetHostEventWriter(path: File, bufferSize: Int) :
override fun toString(): String = "host-writer"
- companion object {
- val convert: (HostEvent, GenericData.Record) -> Unit = { event, record ->
+ public companion object {
+ private val convert: (HostEvent, GenericData.Record) -> Unit = { event, record ->
// record.put("portfolio_id", event.run.parent.parent.id)
// record.put("scenario_id", event.run.parent.id)
// record.put("run_id", event.run.id)
@@ -56,7 +56,7 @@ public class ParquetHostEventWriter(path: File, bufferSize: Int) :
record.put("cores", event.cores)
}
- val schema: Schema = SchemaBuilder
+ private val schema: Schema = SchemaBuilder
.record("host_metrics")
.namespace("org.opendc.experiments.sc20")
.fields()
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetProvisionerEventWriter.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetProvisionerEventWriter.kt
index f17f9458..5d53a7bb 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetProvisionerEventWriter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetProvisionerEventWriter.kt
@@ -36,8 +36,8 @@ public class ParquetProvisionerEventWriter(path: File, bufferSize: Int) :
override fun toString(): String = "provisioner-writer"
- companion object {
- val convert: (ProvisionerEvent, GenericData.Record) -> Unit = { event, record ->
+ public companion object {
+ private val convert: (ProvisionerEvent, GenericData.Record) -> Unit = { event, record ->
record.put("timestamp", event.timestamp)
record.put("host_total_count", event.totalHostCount)
record.put("host_available_count", event.availableHostCount)
@@ -48,7 +48,7 @@ public class ParquetProvisionerEventWriter(path: File, bufferSize: Int) :
record.put("vm_failed_count", event.failedVmCount)
}
- val schema: Schema = SchemaBuilder
+ private val schema: Schema = SchemaBuilder
.record("provisioner_metrics")
.namespace("org.opendc.experiments.sc20")
.fields()
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetRunEventWriter.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetRunEventWriter.kt
index 35f8e2b5..74efb660 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetRunEventWriter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/telemetry/parquet/ParquetRunEventWriter.kt
@@ -36,8 +36,8 @@ public class ParquetRunEventWriter(path: File, bufferSize: Int) :
override fun toString(): String = "run-writer"
- companion object {
- val convert: (RunEvent, GenericData.Record) -> Unit = { event, record ->
+ public companion object {
+ private val convert: (RunEvent, GenericData.Record) -> Unit = { event, record ->
val run = event.run
val scenario = run.parent
val portfolio = scenario.parent
@@ -56,7 +56,7 @@ public class ParquetRunEventWriter(path: File, bufferSize: Int) :
record.put("seed", run.seed)
}
- val schema: Schema = SchemaBuilder
+ private val schema: Schema = SchemaBuilder
.record("runs")
.namespace("org.opendc.experiments.sc20")
.fields()
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20ParquetTraceReader.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20ParquetTraceReader.kt
index 5045b2df..5a336865 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20ParquetTraceReader.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20ParquetTraceReader.kt
@@ -40,7 +40,7 @@ import java.util.TreeSet
* @param run The run to which this reader belongs.
*/
@OptIn(ExperimentalStdlibApi::class)
-class Sc20ParquetTraceReader(
+public class Sc20ParquetTraceReader(
rawReaders: List<Sc20RawParquetTraceReader>,
performanceInterferenceModel: Map<String, PerformanceInterferenceModel>,
workload: Workload,
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20RawParquetTraceReader.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20RawParquetTraceReader.kt
index def1c2f4..8965cf43 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20RawParquetTraceReader.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20RawParquetTraceReader.kt
@@ -43,7 +43,7 @@ private val logger = KotlinLogging.logger {}
* @param path The directory of the traces.
*/
@OptIn(ExperimentalStdlibApi::class)
-class Sc20RawParquetTraceReader(private val path: File) {
+public class Sc20RawParquetTraceReader(private val path: File) {
/**
* Read the fragments into memory.
*/
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20StreamingParquetTraceReader.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20StreamingParquetTraceReader.kt
index 51108dda..41dc4b49 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20StreamingParquetTraceReader.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20StreamingParquetTraceReader.kt
@@ -57,7 +57,7 @@ private val logger = KotlinLogging.logger {}
* @param performanceInterferenceModel The performance model covering the workload in the VM trace.
*/
@OptIn(ExperimentalStdlibApi::class)
-class Sc20StreamingParquetTraceReader(
+public class Sc20StreamingParquetTraceReader(
traceFile: File,
performanceInterferenceModel: PerformanceInterferenceModel,
selectedVms: List<String>,
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20TraceConverter.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20TraceConverter.kt
index 26c27b68..dd6b15d0 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20TraceConverter.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/Sc20TraceConverter.kt
@@ -53,7 +53,7 @@ import kotlin.math.min
/**
* Represents the command for converting traces
*/
-class TraceConverterCli : CliktCommand(name = "trace-converter") {
+public class TraceConverterCli : CliktCommand(name = "trace-converter") {
/**
* The directory where the trace should be stored.
*/
@@ -70,7 +70,7 @@ class TraceConverterCli : CliktCommand(name = "trace-converter") {
/**
* The input type of the trace.
*/
- val type by option("-t", "--type", help = "input type of trace").groupChoice(
+ private val type by option("-t", "--type", help = "input type of trace").groupChoice(
"solvinity" to SolvinityConversion(),
"bitbrains" to BitbrainsConversion(),
"azure" to AzureConversion()
@@ -149,22 +149,22 @@ class TraceConverterCli : CliktCommand(name = "trace-converter") {
/**
* The supported trace conversions.
*/
-sealed class TraceConversion(name: String) : OptionGroup(name) {
+public sealed class TraceConversion(name: String) : OptionGroup(name) {
/**
* Read the fragments of the trace.
*/
- abstract fun read(
+ public abstract fun read(
traceDirectory: File,
metaSchema: Schema,
metaWriter: ParquetWriter<GenericData.Record>
): MutableList<Fragment>
}
-class SolvinityConversion : TraceConversion("Solvinity") {
- val clusters by option()
+public class SolvinityConversion : TraceConversion("Solvinity") {
+ private val clusters by option()
.split(",")
- val vmPlacements by option("--vm-placements", help = "file containing the VM placements")
+ private val vmPlacements by option("--vm-placements", help = "file containing the VM placements")
.file(canBeDir = false)
.convert { it.inputStream().buffered().use { Sc20VmPlacementReader(it).construct() } }
.required()
@@ -335,7 +335,7 @@ class SolvinityConversion : TraceConversion("Solvinity") {
/**
* Conversion of the Bitbrains public trace.
*/
-class BitbrainsConversion : TraceConversion("Bitbrains") {
+public class BitbrainsConversion : TraceConversion("Bitbrains") {
override fun read(
traceDirectory: File,
metaSchema: Schema,
@@ -447,8 +447,8 @@ class BitbrainsConversion : TraceConversion("Bitbrains") {
/**
* Conversion of the Azure public VM trace.
*/
-class AzureConversion : TraceConversion("Azure") {
- val seed by option(help = "seed for trace sampling")
+public class AzureConversion : TraceConversion("Azure") {
+ private val seed by option(help = "seed for trace sampling")
.long()
.default(0)
@@ -604,18 +604,18 @@ class AzureConversion : TraceConversion("Azure") {
}
}
-data class Fragment(
- val id: String,
- val tick: Long,
- val flops: Long,
- val duration: Long,
- val usage: Double,
- val cores: Int
+public data class Fragment(
+ public val id: String,
+ public val tick: Long,
+ public val flops: Long,
+ public val duration: Long,
+ public val usage: Double,
+ public val cores: Int
)
-class VmInfo(val cores: Int, val requiredMemory: Long, var minTime: Long, var maxTime: Long)
+public class VmInfo(public val cores: Int, public val requiredMemory: Long, public var minTime: Long, public var maxTime: Long)
/**
* A script to convert a trace in text format into a Parquet trace.
*/
-fun main(args: Array<String>) = TraceConverterCli().main(args)
+public fun main(args: Array<String>): Unit = TraceConverterCli().main(args)
diff --git a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/WorkloadSampler.kt b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/WorkloadSampler.kt
index 14e65eb6..19da97bb 100644
--- a/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/WorkloadSampler.kt
+++ b/simulator/opendc-experiments/opendc-experiments-sc20/src/main/kotlin/org/opendc/experiments/sc20/trace/WorkloadSampler.kt
@@ -37,7 +37,7 @@ private val logger = KotlinLogging.logger {}
/**
* Sample the workload for the specified [run].
*/
-fun sampleWorkload(
+public fun sampleWorkload(
trace: List<TraceEntry<VmWorkload>>,
workload: Workload,
subWorkload: Workload,
@@ -57,7 +57,7 @@ fun sampleWorkload(
/**
* Sample a regular (non-HPC) workload.
*/
-fun sampleRegularWorkload(
+public fun sampleRegularWorkload(
trace: List<TraceEntry<VmWorkload>>,
workload: Workload,
subWorkload: Workload,
@@ -92,7 +92,7 @@ fun sampleRegularWorkload(
/**
* Sample a HPC workload.
*/
-fun sampleHpcWorkload(
+public fun sampleHpcWorkload(
trace: List<TraceEntry<VmWorkload>>,
workload: Workload,
seed: Int,