summaryrefslogtreecommitdiff
path: root/opendc-compute/opendc-compute-topology
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-03-05 13:23:57 +0100
committerGitHub <noreply@github.com>2024-03-05 13:23:57 +0100
commit5864cbcbfe2eb8c36ca05c3a39c7e5916aeecaec (patch)
tree5b2773b8dc21c2e1b526fb70f829c376dd80532a /opendc-compute/opendc-compute-topology
parentd28002a3c151d198298574312f32f1cb43f3a660 (diff)
Updated package versions, updated web server tests. (#207)
* Updated all package versions including kotlin. Updated all web-server tests to run. * Changed the java version of the tests. OpenDC now only supports java 19. * small update * test update * new update * updated docker version to 19 * updated docker version to 19
Diffstat (limited to 'opendc-compute/opendc-compute-topology')
-rw-r--r--opendc-compute/opendc-compute-topology/build.gradle.kts2
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpec.kt2
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpecReader.kt50
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/HostSpec.kt2
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt26
5 files changed, 46 insertions, 36 deletions
diff --git a/opendc-compute/opendc-compute-topology/build.gradle.kts b/opendc-compute/opendc-compute-topology/build.gradle.kts
index d4c084c0..0dedf8a9 100644
--- a/opendc-compute/opendc-compute-topology/build.gradle.kts
+++ b/opendc-compute/opendc-compute-topology/build.gradle.kts
@@ -22,7 +22,7 @@
description = "OpenDC Compute Topology implementation"
-/* Build configuration */
+// Build configuration
plugins {
`kotlin-library-conventions`
}
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpec.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpec.kt
index e36c4e1e..7a8a121c 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpec.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpec.kt
@@ -42,5 +42,5 @@ public data class ClusterSpec(
val memCapacity: Double,
val hostCount: Int,
val memCapacityPerHost: Double,
- val cpuCountPerHost: Int
+ val cpuCountPerHost: Int,
)
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpecReader.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpecReader.kt
index a1e9bc3d..13314f7d 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpecReader.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/ClusterSpecReader.kt
@@ -65,16 +65,17 @@ public class ClusterSpecReader {
val result = mutableListOf<ClusterSpec>()
for (entry in it) {
- val def = ClusterSpec(
- entry.id,
- entry.name,
- entry.cpuCount,
- entry.cpuSpeed * 1000, // Convert to MHz
- entry.memCapacity * 1000, // Convert to MiB
- entry.hostCount,
- entry.memCapacityPerHost * 1000,
- entry.cpuCountPerHost
- )
+ val def =
+ ClusterSpec(
+ entry.id,
+ entry.name,
+ entry.cpuCount,
+ entry.cpuSpeed * 1000,
+ entry.memCapacity * 1000,
+ entry.hostCount,
+ entry.memCapacityPerHost * 1000,
+ entry.cpuCountPerHost,
+ )
result.add(def)
}
@@ -97,25 +98,26 @@ public class ClusterSpecReader {
@JsonProperty("memoryCapacityPerHost")
val memCapacityPerHost: Double,
@JsonProperty("coreCountPerHost")
- val cpuCountPerHost: Int
+ val cpuCountPerHost: Int,
)
public companion object {
/**
* The [CsvSchema] that is used to parse the trace.
*/
- private val schema = CsvSchema.builder()
- .addColumn("ClusterID", CsvSchema.ColumnType.STRING)
- .addColumn("ClusterName", CsvSchema.ColumnType.STRING)
- .addColumn("Cores", CsvSchema.ColumnType.NUMBER)
- .addColumn("Speed", CsvSchema.ColumnType.NUMBER)
- .addColumn("Memory", CsvSchema.ColumnType.NUMBER)
- .addColumn("numberOfHosts", CsvSchema.ColumnType.NUMBER)
- .addColumn("memoryCapacityPerHost", CsvSchema.ColumnType.NUMBER)
- .addColumn("coreCountPerHost", CsvSchema.ColumnType.NUMBER)
- .setAllowComments(true)
- .setColumnSeparator(';')
- .setUseHeader(true)
- .build()
+ private val schema =
+ CsvSchema.builder()
+ .addColumn("ClusterID", CsvSchema.ColumnType.STRING)
+ .addColumn("ClusterName", CsvSchema.ColumnType.STRING)
+ .addColumn("Cores", CsvSchema.ColumnType.NUMBER)
+ .addColumn("Speed", CsvSchema.ColumnType.NUMBER)
+ .addColumn("Memory", CsvSchema.ColumnType.NUMBER)
+ .addColumn("numberOfHosts", CsvSchema.ColumnType.NUMBER)
+ .addColumn("memoryCapacityPerHost", CsvSchema.ColumnType.NUMBER)
+ .addColumn("coreCountPerHost", CsvSchema.ColumnType.NUMBER)
+ .setAllowComments(true)
+ .setColumnSeparator(';')
+ .setUseHeader(true)
+ .build()
}
}
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/HostSpec.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/HostSpec.kt
index 596121b0..ffaa093e 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/HostSpec.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/HostSpec.kt
@@ -44,5 +44,5 @@ public data class HostSpec(
val meta: Map<String, Any>,
val model: MachineModel,
val psuFactory: SimPsuFactory = SimPsuFactories.noop(),
- val multiplexerFactory: FlowMultiplexerFactory = FlowMultiplexerFactory.maxMinMultiplexer()
+ val multiplexerFactory: FlowMultiplexerFactory = FlowMultiplexerFactory.maxMinMultiplexer(),
)
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
index 5f0fe511..aadf52a6 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
@@ -49,7 +49,7 @@ private val reader = ClusterSpecReader()
public fun clusterTopology(
file: File,
powerModel: CpuPowerModel = CpuPowerModels.linear(350.0, 200.0),
- random: RandomGenerator = SplittableRandom(0)
+ random: RandomGenerator = SplittableRandom(0),
): List<HostSpec> {
return clusterTopology(reader.read(file), powerModel, random)
}
@@ -60,7 +60,7 @@ public fun clusterTopology(
public fun clusterTopology(
input: InputStream,
powerModel: CpuPowerModel = CpuPowerModels.linear(350.0, 200.0),
- random: RandomGenerator = SplittableRandom(0)
+ random: RandomGenerator = SplittableRandom(0),
): List<HostSpec> {
return clusterTopology(reader.read(input), powerModel, random)
}
@@ -68,23 +68,31 @@ public fun clusterTopology(
/**
* Construct a topology from the given list of [clusters].
*/
-public fun clusterTopology(clusters: List<ClusterSpec>, powerModel: CpuPowerModel, random: RandomGenerator = SplittableRandom(0)): List<HostSpec> {
+public fun clusterTopology(
+ clusters: List<ClusterSpec>,
+ powerModel: CpuPowerModel,
+ random: RandomGenerator = SplittableRandom(0),
+): List<HostSpec> {
return clusters.flatMap { it.toHostSpecs(random, powerModel) }
}
/**
* Helper method to convert a [ClusterSpec] into a list of [HostSpec]s.
*/
-private fun ClusterSpec.toHostSpecs(random: RandomGenerator, powerModel: CpuPowerModel): List<HostSpec> {
+private fun ClusterSpec.toHostSpecs(
+ random: RandomGenerator,
+ powerModel: CpuPowerModel,
+): List<HostSpec> {
val cpuSpeed = cpuSpeed
val memoryPerHost = memCapacityPerHost.roundToLong()
val unknownProcessingNode = ProcessingNode("unknown", "unknown", "unknown", cpuCountPerHost)
val unknownMemoryUnit = MemoryUnit("unknown", "unknown", -1.0, memoryPerHost)
- val machineModel = MachineModel(
- List(cpuCountPerHost) { coreId -> ProcessingUnit(unknownProcessingNode, coreId, cpuSpeed) },
- listOf(unknownMemoryUnit)
- )
+ val machineModel =
+ MachineModel(
+ List(cpuCountPerHost) { coreId -> ProcessingUnit(unknownProcessingNode, coreId, cpuSpeed) },
+ listOf(unknownMemoryUnit),
+ )
return List(hostCount) {
HostSpec(
@@ -92,7 +100,7 @@ private fun ClusterSpec.toHostSpecs(random: RandomGenerator, powerModel: CpuPowe
"node-$name-$it",
mapOf("cluster" to id),
machineModel,
- SimPsuFactories.simple(powerModel)
+ SimPsuFactories.simple(powerModel),
)
}
}