diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-09 20:55:45 +0100 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-09 20:55:45 +0100 |
| commit | 2dd2bfe87bcbe368f46ce8e975ccccbfac2c0560 (patch) | |
| tree | 8880b748cb5918ee2523c6859c6e77f98b75076e /opendc/opendc-experiments-sc20/src | |
| parent | fa7455ac6aaa1e0c34a4218c32423d544373e795 (diff) | |
| parent | 0930e73c319ecd01ecdae47e15f077555c12db0c (diff) | |
Merge branch 'feat/2.x-perf-interference' into '2.x'
Implement a basic performance interference model
Closes #50
See merge request opendc/opendc-simulator!33
Diffstat (limited to 'opendc/opendc-experiments-sc20/src')
2 files changed, 12 insertions, 1 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt index daa40193..f4be75fa 100644 --- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt +++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt @@ -34,6 +34,7 @@ import com.atlarge.opendc.compute.metal.service.ProvisioningService import com.atlarge.opendc.compute.virt.service.SimpleVirtProvisioningService import com.atlarge.opendc.compute.virt.service.allocation.AvailableMemoryAllocationPolicy import com.atlarge.opendc.format.environment.sc20.Sc20EnvironmentReader +import com.atlarge.opendc.format.trace.sc20.Sc20PerformanceInterferenceReader import com.atlarge.opendc.format.trace.vm.VmTraceReader import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.delay @@ -67,6 +68,10 @@ fun main(args: Array<String>) { val environment = Sc20EnvironmentReader(object {}.javaClass.getResourceAsStream("/env/setup-small.json")) .use { it.construct(root) } + val performanceInterferenceModel = Sc20PerformanceInterferenceReader( + object {}.javaClass.getResourceAsStream("/env/performance-interference.json") + ).construct() + println(simulationContext.clock.instant()) val scheduler = SimpleVirtProvisioningService( @@ -76,7 +81,7 @@ fun main(args: Array<String>) { Sc20HypervisorMonitor() ) - val reader = VmTraceReader(File(args[0])) + val reader = VmTraceReader(File(args[0]), performanceInterferenceModel) delay(1376314846 * 1000L) while (reader.hasNext()) { val (time, workload) = reader.next() diff --git a/opendc/opendc-experiments-sc20/src/main/resources/env/performance-interference.json b/opendc/opendc-experiments-sc20/src/main/resources/env/performance-interference.json new file mode 100644 index 00000000..e2437693 --- /dev/null +++ b/opendc/opendc-experiments-sc20/src/main/resources/env/performance-interference.json @@ -0,0 +1,6 @@ +[ + { + "vms": [545, 223], + "performanceScore": 0.6 + } +] |
