From b1cf9b2bd9559328c3c9d26e73123e67d2bfea05 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Tue, 17 Mar 2020 22:26:15 +0100 Subject: refactor: Rework monitor interfaces --- .../atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt | 6 ++---- .../opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt | 5 ++--- .../atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt | 5 ++--- 3 files changed, 6 insertions(+), 10 deletions(-) (limited to 'opendc/opendc-format/src') diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt index 0d4bd125..ab9f272f 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt @@ -34,7 +34,7 @@ import com.atlarge.opendc.compute.metal.service.SimpleProvisioningService import com.atlarge.opendc.core.Environment import com.atlarge.opendc.core.Platform import com.atlarge.opendc.core.Zone -import com.atlarge.opendc.core.services.ServiceRegistryImpl +import com.atlarge.opendc.core.services.ServiceRegistry import com.atlarge.opendc.format.environment.EnvironmentReader import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper @@ -89,9 +89,7 @@ class Sc18EnvironmentReader(input: InputStream, mapper: ObjectMapper = jacksonOb provisioningService.create(node) } - val serviceRegistry = ServiceRegistryImpl() - serviceRegistry[ProvisioningService.Key] = provisioningService - + val serviceRegistry = ServiceRegistry().put(ProvisioningService, provisioningService) val platform = Platform( UUID.randomUUID(), "sc18-platform", listOf( Zone(UUID.randomUUID(), "zone", serviceRegistry) diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt index ae0ba550..c6a393e1 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt @@ -35,7 +35,7 @@ import com.atlarge.opendc.compute.metal.service.SimpleProvisioningService import com.atlarge.opendc.core.Environment import com.atlarge.opendc.core.Platform import com.atlarge.opendc.core.Zone -import com.atlarge.opendc.core.services.ServiceRegistryImpl +import com.atlarge.opendc.core.services.ServiceRegistry import com.atlarge.opendc.format.environment.EnvironmentReader import java.io.BufferedReader import java.io.File @@ -119,8 +119,7 @@ class Sc20ClusterEnvironmentReader( provisioningService.create(node) } - val serviceRegistry = ServiceRegistryImpl() - serviceRegistry[ProvisioningService.Key] = provisioningService + val serviceRegistry = ServiceRegistry().put(ProvisioningService, provisioningService) val platform = Platform( UUID.randomUUID(), "sc20-platform", listOf( diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt index a954a308..07309341 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt @@ -35,7 +35,7 @@ import com.atlarge.opendc.compute.metal.service.SimpleProvisioningService import com.atlarge.opendc.core.Environment import com.atlarge.opendc.core.Platform import com.atlarge.opendc.core.Zone -import com.atlarge.opendc.core.services.ServiceRegistryImpl +import com.atlarge.opendc.core.services.ServiceRegistry import com.atlarge.opendc.format.environment.EnvironmentReader import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper @@ -103,8 +103,7 @@ class Sc20EnvironmentReader(input: InputStream, mapper: ObjectMapper = jacksonOb provisioningService.create(node) } - val serviceRegistry = ServiceRegistryImpl() - serviceRegistry[ProvisioningService.Key] = provisioningService + val serviceRegistry = ServiceRegistry().put(ProvisioningService, provisioningService) val platform = Platform( UUID.randomUUID(), "sc20-platform", listOf( -- cgit v1.2.3 From b3d11a0740f9a925f9cebd524863668fb9b07000 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Thu, 26 Mar 2020 12:10:47 +0100 Subject: feat: Add cluster metadata to bare metal nodes --- .../opendc/format/environment/sc18/Sc18EnvironmentReader.kt | 9 ++++++++- .../format/environment/sc20/Sc20ClusterEnvironmentReader.kt | 4 +++- .../opendc/format/environment/sc20/Sc20EnvironmentReader.kt | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'opendc/opendc-format/src') diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt index ab9f272f..6f6aa616 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc18/Sc18EnvironmentReader.kt @@ -77,7 +77,14 @@ class Sc18EnvironmentReader(input: InputStream, mapper: ObjectMapper = jacksonOb else -> throw IllegalArgumentException("The cpu id $id is not recognized") } } - SimpleBareMetalDriver(dom.newDomain("node-$counter"), UUID.randomUUID(), "node-${counter++}", cores, listOf(MemoryUnit("", "", 2300.0, 16000))) + SimpleBareMetalDriver( + dom.newDomain("node-$counter"), + UUID.randomUUID(), + "node-${counter++}", + emptyMap(), + cores, + listOf(MemoryUnit("", "", 2300.0, 16000)) + ) } } } diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt index c6a393e1..708e27bf 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt @@ -28,6 +28,7 @@ import com.atlarge.odcsim.Domain import com.atlarge.opendc.compute.core.MemoryUnit import com.atlarge.opendc.compute.core.ProcessingNode import com.atlarge.opendc.compute.core.ProcessingUnit +import com.atlarge.opendc.compute.metal.NODE_CLUSTER import com.atlarge.opendc.compute.metal.driver.SimpleBareMetalDriver import com.atlarge.opendc.compute.metal.power.LinearLoadPowerModel import com.atlarge.opendc.compute.metal.service.ProvisioningService @@ -100,13 +101,14 @@ class Sc20ClusterEnvironmentReader( dom.newDomain("node-$clusterId-$it"), UUID.randomUUID(), "node-$clusterId-$it", + mapOf(NODE_CLUSTER to clusterId), List(coresPerHost) { coreId -> ProcessingUnit(unknownProcessingNode, coreId, speed) }, - listOf(unknownMemoryUnit), // For now we assume a simple linear load model with an idle draw of ~200W and a maximum // power draw of 350W. // Source: https://stackoverflow.com/questions/6128960 + listOf(unknownMemoryUnit), LinearLoadPowerModel(200.0, 350.0) ) ) diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt index 07309341..4b5d6fb7 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20EnvironmentReader.kt @@ -85,11 +85,12 @@ class Sc20EnvironmentReader(input: InputStream, mapper: ObjectMapper = jacksonOb dom.newDomain("node-$counter"), UUID.randomUUID(), "node-${counter++}", + emptyMap(), cores, - memories, // For now we assume a simple linear load model with an idle draw of ~200W and a maximum // power draw of 350W. // Source: https://stackoverflow.com/questions/6128960 + memories, LinearLoadPowerModel(200.0, 350.0) ) } -- cgit v1.2.3