summaryrefslogtreecommitdiff
path: root/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2025-07-22 15:47:44 +0200
committerGitHub <noreply@github.com>2025-07-22 15:47:44 +0200
commite22c97dcca7478d6941b78bdf7cd873bc0d23cdc (patch)
treef1859c16f4c7973d8b16ed693caad4c749d42331 /opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv
parent0c0cf25616771cd40a9e401edcba4a5e5016f76e (diff)
Updated workload schema (#360)
Diffstat (limited to 'opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv')
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonColumns.kt (renamed from opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonIntensityColumns.kt)10
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/FragmentColumns.kt (renamed from opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/InterferenceGroupColumns.kt)19
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceColumns.kt115
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceStateColumns.kt103
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/Tables.kt19
-rw-r--r--opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/TaskColumns.kt56
6 files changed, 55 insertions, 267 deletions
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonIntensityColumns.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonColumns.kt
index de74c4fd..32cdd78b 100644
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonIntensityColumns.kt
+++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/CarbonColumns.kt
@@ -20,16 +20,16 @@
* SOFTWARE.
*/
-@file:JvmName("CarbonIntensityColumns")
+@file:JvmName("CarbonColumns")
package org.opendc.trace.conv
/**
- * A column containing the task identifier.
+ * A column containing the timestamp of the carbon intensity measurement.
*/
-public const val CARBON_INTENSITY_TIMESTAMP: String = "timestamp"
+public const val CARBON_TIMESTAMP: String = "timestamp"
/**
- * A column containing the task identifier.
+ * A column containing the intensity of the carbon when sampled.
*/
-public const val CARBON_INTENSITY_VALUE: String = "carbon_intensity"
+public const val CARBON_INTENSITY: String = "carbon_intensity"
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/InterferenceGroupColumns.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/FragmentColumns.kt
index fbbfdea9..e0d01ef2 100644
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/InterferenceGroupColumns.kt
+++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/FragmentColumns.kt
@@ -20,21 +20,26 @@
* SOFTWARE.
*/
-@file:JvmName("InterferenceGroupColumns")
+@file:JvmName("FragmentColumns")
package org.opendc.trace.conv
/**
- * Members of the interference group.
+ * Duration for the fragment.
*/
-public const val INTERFERENCE_GROUP_MEMBERS: String = "members"
+public const val FRAGMENT_DURATION: String = "duration"
/**
- * Target load after which the interference occurs.
+ * Total CPU usage during the fragment in MHz.
*/
-public const val INTERFERENCE_GROUP_TARGET: String = "target"
+public const val FRAGMENT_CPU_USAGE: String = "cpu_usage"
/**
- * Performance score when the interference occurs.
+ * Total GPU usage during the fragment in MHz.
*/
-public const val INTERFERENCE_GROUP_SCORE: String = "score"
+public const val FRAGMENT_GPU_USAGE: String = "gpu_usage"
+
+/**
+ * Memory usage during the fragment in KB.
+ */
+public const val FRAGMENT_MEM_USAGE: String = "mem_usage"
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceColumns.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceColumns.kt
deleted file mode 100644
index 3d0341b2..00000000
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceColumns.kt
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-@file:JvmName("ResourceColumns")
-
-package org.opendc.trace.conv
-
-/**
- * Identifier of the resource.
- */
-@JvmField
-public val resourceID: String = "id"
-
-/**
- * The cluster to which the resource belongs.
- */
-@JvmField
-public val resourceClusterID: String = "cluster_id"
-
-/**
- * Start time for the resource.
- */
-@JvmField
-public val resourceSubmissionTime: String = "submission_time"
-
-/**
- * Carbon intensity of the resource.
- */
-@JvmField
-public val resourceCarbonIntensity: String = "carbon_intensity"
-
-/**
- * End time for the resource.
- */
-@JvmField
-public val resourceDuration: String = "duration"
-
-/**
- * Number of CPUs for the resource.
- */
-@JvmField
-public val resourceCpuCount: String = "cpu_count"
-
-/**
- * Total CPU capacity of the resource in MHz.
- */
-@JvmField
-public val resourceCpuCapacity: String = "cpu_capacity"
-
-/**
- * Memory capacity for the resource in KB.
- */
-@JvmField
-public val resourceMemCapacity: String = "mem_capacity"
-
-/**
- * Number of GPU cores for the resource.
- */
-@JvmField
-public val resourceGpuCount: String = "gpu_count"
-
-/**
- * Total GPU capacity of the resource in MHz.
- */
-@JvmField
-public val resourceGpuCapacity: String = "gpu_capacity"
-
-/**
- * Total GPU memory capacity of the resource in MB.
- */
-@JvmField
-public val resourceGpuMemCapacity: String = "gpu_mem_capacity"
-
-/**
- * The parents of the resource that need to be completed before this resource can be used.
- */
-@JvmField
-public val resourceParents: String = "parents"
-
-/**
- * The children of the resource that cannot be started before this is completed.
- */
-@JvmField
-public val resourceChildren: String = "children"
-
-/**
- * Nature of the task. Delayable, interruptible, etc.
- */
-@JvmField
-public val resourceNature: String = "nature"
-
-/**
- * Deadline of the task.
- */
-@JvmField
-public val resourceDeadline: String = "deadline"
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceStateColumns.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceStateColumns.kt
deleted file mode 100644
index f4ab7759..00000000
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/ResourceStateColumns.kt
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-@file:JvmName("ResourceStateColumns")
-
-package org.opendc.trace.conv
-
-/**
- * The timestamp at which the state was recorded.
- */
-@JvmField
-public val resourceStateTimestamp: String = "timestamp"
-
-/**
- * Duration for the state.
- */
-@JvmField
-public val resourceStateDuration: String = "duration"
-
-/**
- * A flag to indicate that the resource is powered on.
- */
-@JvmField
-public val resourceStatePoweredOn: String = "powered_on"
-
-/**
- * Total CPU usage of the resource in MHz.
- */
-@JvmField
-public val resourceStateCpuUsage: String = "cpu_usage"
-
-/**
- * Total CPU usage of the resource in percentage.
- */
-@JvmField
-public val resourceStateCpuUsagePct: String = "cpu_usage_pct"
-
-/**
- * Total CPU demand of the resource in MHz.
- */
-@JvmField
-public val resourceStateCpuDemand: String = "cpu_demand"
-
-/**
- * CPU ready percentage.
- */
-@JvmField
-public val resourceStateCpuReadyPct: String = "cpu_ready_pct"
-
-/**
- * Memory usage of the resource in KB.
- */
-@JvmField
-public val resourceStateMemUsage: String = "mem_usage"
-
-/**
- * Disk read throughput of the resource in KB/s.
- */
-@JvmField
-public val resourceStateDiskRead: String = "disk_read"
-
-/**
- * Disk write throughput of the resource in KB/s.
- */
-@JvmField
-public val resourceStateDiskWrite: String = "disk_write"
-
-/**
- * Network receive throughput of the resource in KB/s.
- */
-@JvmField
-public val resourceStateNetRx: String = "net_rx"
-
-/**
- * Network transmit throughput of the resource in KB/s.
- */
-@JvmField
-public val resourceStateNetTx: String = "net_tx"
-
-/**
- * Total GPU capacity of the resource in MHz.
- */
-@JvmField
-public val resourceStateGpuUsage: String = "gpu_usage"
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/Tables.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/Tables.kt
index d4019f73..310d268a 100644
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/Tables.kt
+++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/Tables.kt
@@ -25,30 +25,21 @@
package org.opendc.trace.conv
/**
- * A table containing all workflows in a workload.
- */
-public const val TABLE_WORKFLOWS: String = "workflows"
-
-/**
* A table containing all tasks in a workload.
*/
public const val TABLE_TASKS: String = "tasks"
/**
- * A table containing all resources in a workload.
+ * A table containing all resource states in a workload.
*/
-public const val TABLE_RESOURCES: String = "resources"
+public const val TABLE_FRAGMENTS: String = "fragments"
/**
- * A table containing all resource states in a workload.
+ * A table containing the carbon intensities of the region
*/
-public const val TABLE_RESOURCE_STATES: String = "resource_states"
+public const val TABLE_CARBON: String = "carbon"
/**
- * A table containing the groups of resources that interfere when run on the same execution platform.
+ * A table containing failures that can be injected during simulation.
*/
-public const val TABLE_INTERFERENCE_GROUPS: String = "interference_groups"
-
-public const val TABLE_CARBON_INTENSITIES: String = "carbon_intensities"
-
public const val TABLE_FAILURES: String = "failures"
diff --git a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/TaskColumns.kt b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/TaskColumns.kt
index 6ca87a60..0df52c71 100644
--- a/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/TaskColumns.kt
+++ b/opendc-trace/opendc-trace-api/src/main/kotlin/org/opendc/trace/conv/TaskColumns.kt
@@ -25,61 +25,71 @@
package org.opendc.trace.conv
/**
- * A column containing the task identifier.
+ * Identifier of the task.
*/
public const val TASK_ID: String = "id"
/**
- * A column containing the identifier of the workflow.
+ * Identifier of the task.
*/
-public const val TASK_WORKFLOW_ID: String = "workflow_id"
+public const val TASK_NAME: String = "name"
/**
- * A column containing the submission time of the task.
+ * The time of submission of the task.
*/
-public const val TASK_SUBMIT_TIME: String = "submit_time"
+public const val TASK_SUBMISSION_TIME: String = "submission_time"
/**
- * A column containing the wait time of the task.
+ * The duration of a task in ms
*/
-public const val TASK_WAIT_TIME: String = "wait_time"
+public const val TASK_DURATION: String = "duration"
/**
- * A column containing the runtime time of the task.
+ * Number of CPUs for the task.
*/
-public const val TASK_RUNTIME: String = "runtime"
+public const val TASK_CPU_COUNT: String = "cpu_count"
/**
- * A column containing the parents of a task.
+ * Total CPU capacity of the task in MHz.
*/
-public const val TASK_PARENTS: String = "parents"
+public const val TASK_CPU_CAPACITY: String = "cpu_capacity"
/**
- * A column containing the children of a task.
+ * Memory capacity for the task in KB.
*/
-public const val TASK_CHILDREN: String = "children"
+public const val TASK_MEM_CAPACITY: String = "mem_capacity"
+
+/**
+ * Number of GPU cores for the task.
+ */
+public const val TASK_GPU_COUNT: String = "gpu_count"
/**
- * A column containing the requested CPUs of a task.
+ * Total GPU capacity of the task in MHz.
*/
-public const val TASK_REQ_NCPUS: String = "req_ncpus"
+public const val TASK_GPU_CAPACITY: String = "gpu_capacity"
/**
- * A column containing the allocated CPUs of a task.
+ * Total GPU memory capacity of the task in MB.
*/
-public const val TASK_ALLOC_NCPUS: String = "alloc_ncpus"
+public const val TASK_GPU_MEM_CAPACITY: String = "gpu_mem_capacity"
/**
- * A column containing the status of a task.
+ * The parents of the task that need to be completed before this task can be used.
*/
-public const val TASK_STATUS: String = "status"
+public const val TASK_PARENTS: String = "parents"
+
+/**
+ * The children of the task that cannot be started before this is completed.
+ */
+public const val TASK_CHILDREN: String = "children"
/**
- * A column containing the group id of a task.
+ * Nature of the task. Delayable, interruptible, etc.
*/
-public const val TASK_GROUP_ID: String = "group_id"
+public const val TASK_NATURE: String = "nature"
/**
- * A column containing the user id of a task.
+ * Deadline of the task.
*/
-public const val TASK_USER_ID: String = "user_id"
+public const val TASK_DEADLINE: String = "deadline"