summaryrefslogtreecommitdiff
path: root/opendc/opendc-experiments-sc20/src/main
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-03-17 15:52:10 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-03-25 10:48:58 +0100
commitb3e8e3d196de8b8c1bb904bfb3c6641415cf72bb (patch)
tree4637fc7a7d95dfd239854457a88384c8d79341ba /opendc/opendc-experiments-sc20/src/main
parent43f1376a00342338f4d0affde5e1f2f540ab7e32 (diff)
feat: Use Weilbull distribution for failures
Diffstat (limited to 'opendc/opendc-experiments-sc20/src/main')
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20Monitor.kt3
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt4
2 files changed, 4 insertions, 3 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20Monitor.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20Monitor.kt
index d3b2d5c6..40cb9719 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20Monitor.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/Sc20Monitor.kt
@@ -18,10 +18,11 @@ class Sc20Monitor(
private var failed: Int = 0
init {
- outputFile.write("time,requestedBurst,grantedBurst,numberOfDeployedImages,server,hostUsage,powerDraw\n")
+ outputFile.write("time,requestedBurst,grantedBurst,numberOfDeployedImages,server,hostUsage,powerDraw,failedVms\n")
}
override suspend fun onUpdate(server: Server, previousState: ServerState) {
+ println("${simulationContext.clock.instant()} ${server.uid} ${server.state}")
if (server.state == ServerState.ERROR) {
failed++
}
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 a1619fe2..69174f0f 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
@@ -89,7 +89,6 @@ fun main(args: Array<String>) {
val provider = ServiceLoader.load(SimulationEngineProvider::class.java).first()
val system = provider("test")
val root = system.newDomain("root")
-
val chan = Channel<Unit>(Channel.CONFLATED)
root.launch {
@@ -118,7 +117,8 @@ fun main(args: Array<String>) {
root.launch {
chan.receive()
- val faultInjector = UncorrelatedFaultInjector(mu = 2e7)
+ // Parameters from A. Iosup, A Framework for the Study of Grid Inter-Operation Mechanisms, 2009
+ val faultInjector = UncorrelatedFaultInjector(alpha = 9.66772, beta = 12.23796)
for (node in bareMetalProvisioner.nodes()) {
faultInjector.enqueue(node.metadata["driver"] as FailureDomain)
}