summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20/src/main
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2020-02-26 20:36:39 +0100
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2020-02-26 20:36:39 +0100
commitedc5234be4440499b15450f66c9e699f8ed8cc71 (patch)
tree00e79ed9af36fbab83c0056698468df8a9efffaf /opendc/opendc-experiments-sc20/src/main
parentc44e9dce4da5deb900df11109dac51c1926cfabd (diff)
parent9aed76152a03eaf76256691708c70508d12722c4 (diff)
Merge branch 'feat/2.x-memory' into 'feat/2.x'
Model memory usage in VMs Closes #45 See merge request opendc/opendc-simulator!30
Diffstat (limited to 'opendc/opendc-experiments-sc20/src/main')
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt8
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt7
-rw-r--r--opendc/opendc-experiments-sc20/src/main/resources/env/setup-test.json32
3 files changed, 24 insertions, 23 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
index 7b1c2dbf..fc0c2686 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20HypervisorMonitor.kt
@@ -8,16 +8,16 @@ class Sc20HypervisorMonitor : HypervisorMonitor {
private val outputFile = File("sc20-experiment-results.csv")
init {
- outputFile.writeText("time,totalRequestedBurst,totalGrantedBurst,numberOfDeployedImages,server\n")
+ outputFile.writeText("time,requestedBurst,grantedBurst,numberOfDeployedImages,server\n")
}
override fun onSliceFinish(
time: Long,
- totalRequestedBurst: Long,
- totalGrantedBurst: Long,
+ requestedBurst: Long,
+ grantedBurst: Long,
numberOfDeployedImages: Int,
hostServer: Server
) {
- outputFile.appendText("$time,$totalRequestedBurst,$totalGrantedBurst,$numberOfDeployedImages,$numberOfDeployedImages,${hostServer.uid}\n")
+ outputFile.appendText("$time,$requestedBurst,$grantedBurst,$numberOfDeployedImages,$numberOfDeployedImages,${hostServer.uid}\n")
}
}
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 c7d7ac51..439412ba 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
@@ -25,12 +25,13 @@
package com.atlarge.opendc.experiments.sc20
import com.atlarge.odcsim.SimulationEngineProvider
+import com.atlarge.opendc.compute.core.Flavor
import com.atlarge.opendc.compute.core.Server
import com.atlarge.opendc.compute.core.ServerState
import com.atlarge.opendc.compute.core.monitor.ServerMonitor
import com.atlarge.opendc.compute.metal.service.ProvisioningService
import com.atlarge.opendc.compute.virt.service.SimpleVirtProvisioningService
-import com.atlarge.opendc.format.environment.sc18.Sc18EnvironmentReader
+import com.atlarge.opendc.format.environment.sc20.Sc20EnvironmentReader
import com.atlarge.opendc.format.trace.vm.VmTraceReader
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.delay
@@ -48,7 +49,7 @@ fun main(args: Array<String>) {
return
}
- val environment = Sc18EnvironmentReader(object {}.javaClass.getResourceAsStream("/env/setup-test.json"))
+ val environment = Sc20EnvironmentReader(object {}.javaClass.getResourceAsStream("/env/setup-test.json"))
.use { it.read() }
val token = Channel<Boolean>()
@@ -73,7 +74,7 @@ fun main(args: Array<String>) {
while (reader.hasNext()) {
val (time, workload) = reader.next()
delay(max(0, time * 1000 - ctx.clock.millis()))
- scheduler.deploy(workload.image, monitor)
+ scheduler.deploy(workload.image, monitor, Flavor(workload.image.cores, workload.image.requiredMemory))
}
token.receive()
diff --git a/opendc/opendc-experiments-sc20/src/main/resources/env/setup-test.json b/opendc/opendc-experiments-sc20/src/main/resources/env/setup-test.json
index 0965b250..02a1d25b 100644
--- a/opendc/opendc-experiments-sc20/src/main/resources/env/setup-test.json
+++ b/opendc/opendc-experiments-sc20/src/main/resources/env/setup-test.json
@@ -7,27 +7,27 @@
{
"type": "RACK",
"machines": [
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]},
- { "cpus": [2] }, { "cpus": [2]}
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]},
+ {"cpus": [2], "memories": [1, 1, 1, 1]}, {"cpus": [2], "memories": [1, 1, 1, 1]}
]
},
{
"type": "RACK",
"machines": [
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]},
- { "cpus": [1] }, { "cpus": [1]}
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]},
+ {"cpus": [1], "memories": [1, 1, 1, 1]}, {"cpus": [1], "memories": [1, 1, 1, 1]}
]
}
]