diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-31 20:57:06 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-10-01 19:18:57 +0200 |
| commit | eedf207bf4c9b723db685e6b7a9191bef9745486 (patch) | |
| tree | 3ce364af1efbadca9f33bca5d3abbace5af44b49 /simulator/opendc-experiments | |
| parent | dff259fa1a721df3bc2601014d5749f6e620854c (diff) | |
Add explicit API visibility
This change adds explicit visibility modifiers to the public interfaces
and enables Kotlin 1.4's explicit API mode.
Diffstat (limited to 'simulator/opendc-experiments')
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, |
