diff options
27 files changed, 222 insertions, 98 deletions
@@ -1,44 +1,29 @@ -<a href="https://opendc.org/"> - <img src="https://opendc.org/img/logo.png" alt="OpenDC logo" title="OpenDC" align="right" height="100" /> -</a> +#Dependencies -# OpenDC +Kafka: -Collaborative Datacenter Simulation and Exploration for Everybody +extra/kafka 4.1.1-1 -[](/LICENSE.txt) -[](https://atlarge-research.github.io/opendc) -[](https://github.com/atlarge-research/opendc/releases) -[](https://github.com/atlarge-research/opendc/actions/workflows/build.yml) +```bash +sudo -u kafka /usr/bin/kafka-storage.sh format -t "$(/usr/bin/kafka-storage.sh random-uuid)" -c /etc/kafka/server.properties --standalone +systemctl enable kafka +systemctl start kafka +``` ------ +```bash +bin/kafka-topics.sh --create --topic postgres-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 +bin/kafka-topics.sh --list --bootstrap-server localhost:9092 +``` -This repository is the home of the OpenDC project, a free and open-source platform for cloud datacenter simulation. -## Latest Release +Postgresql: -All releases of OpenDC can be found [here](https://github.com/atlarge-research/opendc/releases). -The latest release will be marked _latest_. +extra/postgresql 18.1-2 -## Documentation - -You can find the OpenDC documentation [on the website](https://atlarge-research.github.io/opendc/). -The documentation is divided into several sections: - -* [Getting Started](https://atlarge-research.github.io/opendc/docs/category/getting-started/) -* [Tutorials](https://atlarge-research.github.io/opendc/docs/category/tutorials/) -* [Advanced Guides](https://atlarge-research.github.io/opendc/docs/category/advanced-guides/) -* [Where to Get Support](https://atlarge-research.github.io/opendc/community/support/) -* [Contributing Guide](https://atlarge-research.github.io/opendc/community/contributing/) - -The source code for the documentation is located in the [gh-pages branch](https://github.com/atlarge-research/opendc/tree/gh-pages). -Push to that branch to update the documentation. - -## Contributing - -Questions, suggestions and contributions are welcome and appreciated! -Please refer to the [contributing guidelines](CONTRIBUTING.md) for more details. - -## License - -OpenDC is distributed under the MIT license. See [LICENSE.txt](/LICENSE.txt). +```bash +initdb -D /var/lib/postgres/data +mkdir /run/postgresql/ +cd /run/postgresql/ +touch .s.PGSQL.5432.lock +chown -R postgres:postgres /run/postgresql +``` diff --git a/build.gradle.kts b/build.gradle.kts index 1a64b77e..29d9202b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,11 +19,10 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - plugins { `dokka-conventions` `jacoco-aggregation` } group = "org.opendc" -version = "3.0-SNAPSHOT" +version = "3.0-SNAPSHOT"
\ No newline at end of file diff --git a/opendc-common/build.gradle.kts b/opendc-common/build.gradle.kts index aeb9bc4d..0094730b 100644 --- a/opendc-common/build.gradle.kts +++ b/opendc-common/build.gradle.kts @@ -32,6 +32,10 @@ plugins { val serializationVersion = "1.6.0" dependencies { + + //@Mateusz: for the postgresql database + implementation("org.postgresql:postgresql:42.7.10") + api(libs.kotlinx.coroutines) implementation(libs.kotlin.logging) implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$serializationVersion") diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt b/opendc-common/src/main/kotlin/org/opendc/common/utils/ConfigParser.kt index 26244544..cb9623bb 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ConfigParser.kt +++ b/opendc-common/src/main/kotlin/org/opendc/common/utils/ConfigParser.kt @@ -1,4 +1,4 @@ -package org.opendc.experiments.base.runner +package org.opendc.common.utils import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @@ -14,7 +14,6 @@ import java.sql.Connection import java.sql.DriverManager import java.sql.SQLException - /** * @property name * @property backlog the amount of connections to accept @@ -26,12 +25,12 @@ import java.sql.SQLException public data class Config( val name: String = "", var backlog: Int = 0, - val database: Int = 5342, val address: String = "", val port: Int = 8080, + val postgresql: Int = 5342, val username : String = "", val password : String = "", - val schema: String = "" + val database: String = "" ){ public companion object{ @@ -58,17 +57,6 @@ public data class Config( public fun getConfigWriter() : OutputStream? { return output } - - public fun setupDatabase(address : String, port : Int, dbUser : String, dbPassword : String, dbSchema : String){ - val dbUrl = "jdbc:postgresql://$address:$port/$dbSchema" - println(dbUrl) - try { - connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword) - } catch (e: SQLException) { - print("${e.message}") - } - } - } } /** diff --git a/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt b/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt new file mode 100644 index 00000000..3dc7a0e4 --- /dev/null +++ b/opendc-common/src/main/kotlin/org/opendc/common/utils/PostgresqlDB.kt @@ -0,0 +1,56 @@ +package org.opendc.common.utils + +import java.sql.Connection +import java.sql.DriverManager +import java.sql.SQLException + +public class PostgresqlDB { + public var connection : Connection? = null + public var dbUrl : String = "" + public var user : String = "" + public var password : String = "" + + public fun setupDatabase(address : String, port : Int, dbUser : String, dbPassword : String, db : String){ + dbUrl = "jdbc:postgresql://$address:$port/$db" + user = dbUser + password = dbPassword + println(dbUrl) + try { + connection = DriverManager.getConnection(dbUrl, dbUser, dbPassword) + } catch (e: SQLException) { + print("${e.message}") + } + } + + public fun create(){ + val CREATE_TABLE = """ + CREATE TABLE metrics ( + id SERIAL PRIMARY KEY, + timestamp bigint, + tasksActive integer, + clusterName varchar(10)); + """.trimIndent() + + try { + val conn = DriverManager.getConnection(dbUrl, user, password) + val st = conn.createStatement() + st.executeQuery(CREATE_TABLE) + } catch (e: SQLException){ + println("${e.message}") + } + } + + public fun clear(){ + val DELETE_ALL_TABLES = """ + DROP SCHEMA public CASCADE; + CREATE SCHEMA public; + """.trimIndent() + try { + val conn = DriverManager.getConnection(dbUrl, user, password) + val st = conn.createStatement() + st.executeQuery(DELETE_ALL_TABLES) + } catch (e: SQLException){ + println("${e.message}") + } + } +}
\ No newline at end of file diff --git a/opendc-demo/build.gradle.kts b/opendc-demo/build.gradle.kts new file mode 100644 index 00000000..02972f44 --- /dev/null +++ b/opendc-demo/build.gradle.kts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2020 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. + */ + +group = "org.opendc" +description = "Demo for the OpenDC digital twin" + +plugins { + `kotlin-library-conventions` +} + +dependencies { + // Source: https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients + implementation("org.apache.kafka:kafka-clients:4.1.1") + implementation(libs.jackson.core) + implementation(project(mapOf("path" to "::opendc-compute:opendc-compute-simulator"))) + +} diff --git a/opendc-demo/src/main/kotlin/org/opendc/demo/DemoComputeMonitor.kt b/opendc-demo/src/main/kotlin/org/opendc/demo/DemoComputeMonitor.kt new file mode 100644 index 00000000..f59f90a1 --- /dev/null +++ b/opendc-demo/src/main/kotlin/org/opendc/demo/DemoComputeMonitor.kt @@ -0,0 +1,42 @@ +package org.opendc.demo + +import com.fasterxml.jackson.databind.ObjectMapper +import org.apache.kafka.clients.producer.ProducerRecord +import org.opendc.compute.simulator.telemetry.ComputeMonitor +import org.opendc.compute.simulator.telemetry.table.host.HostTableReader +import java.time.Instant + +public class DemoComputeMonitor: ComputeMonitor { + public val metrics : MonitoringMetrics = MonitoringMetrics() + + @Override + override fun record(reader: HostTableReader) { + metrics.timestamp = reader.timestamp.toEpochMilli() + metrics.tasksActive = reader.tasksActive + metrics.clusterName = reader.hostInfo.clusterName + + try{ + val objectMapper = ObjectMapper() + val jsonBytes = objectMapper.writeValueAsBytes(metrics) + println(metrics.clusterName) + } + + catch(e: Exception){ + println("${e.message}") + } + } + +} +public class MonitoringMetrics { + public var timestamp: Long = 0 + public var tasksActive : Int = 0 + public var cpuUsage : Double = 0.0 + public var cpuUtilisation: Double = 0.0 + public var cpuActiveTime : Long = 0 + public var cpuIdleTime: Long = 0 + public var cpuLostTime: Long = 0 + public var energyUsage: Double = 0.0 + public var uptime: Long = 0 + public var powerDraw: Double = 0.0 + public var clusterName: String = "" +} diff --git a/opendc-demo/src/main/kotlin/org/opendc/demo/RunRequest.kt b/opendc-demo/src/main/kotlin/org/opendc/demo/RunRequest.kt new file mode 100644 index 00000000..e24a0af5 --- /dev/null +++ b/opendc-demo/src/main/kotlin/org/opendc/demo/RunRequest.kt @@ -0,0 +1,29 @@ +/* + * 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. + */ + +package org.opendc.demo + +public fun runRequest(request: String) { + // https://github.com/am-i-helpful/opendc/blob/master/opendc-oda/opendc-oda-experiments/src/main/kotlin/org/opendc/oda/experimentrunner/ODAComputeMonitor.kt + // Do this here + println("The request is $request\n") +} diff --git a/opendc-experiments/opendc-experiments-base/build.gradle.kts b/opendc-experiments/opendc-experiments-base/build.gradle.kts index 3b1280e4..bac04854 100644 --- a/opendc-experiments/opendc-experiments-base/build.gradle.kts +++ b/opendc-experiments/opendc-experiments-base/build.gradle.kts @@ -40,8 +40,7 @@ dependencies { implementation(libs.progressbar) implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-core"))) - //@Mateusz: for the postgresql database - implementation("org.postgresql:postgresql:42.7.10") + implementation(project(mapOf("path" to ":opendc-demo"))) implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-workload"))) implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology"))) diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt index 96eb3b21..874f5654 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt @@ -28,6 +28,9 @@ import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.parameters.options.defaultLazy import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.file +import org.opendc.common.utils.Config +import org.opendc.common.utils.ConfigReader +import org.opendc.common.utils.PostgresqlDB import org.opendc.experiments.base.experiment.getExperiment import java.io.File import java.io.IOException @@ -43,6 +46,8 @@ public fun main(args: Array<String>) { else ExperimentListener().main(args) } + + /** * Opens a client socket from `config`, but otherwise works as before. */ @@ -87,11 +92,14 @@ internal class ExperimentListener: CliktCommand(name = "listener") { val configReader = ConfigReader() var serverSocket: ServerSocket? = null val config = configReader.read(configPath) + val database = PostgresqlDB() val inetAddress = InetAddress.getByName(config.address) try { serverSocket = ServerSocket(config.port, config.backlog, inetAddress) - Config.setupDatabase(config.address, config.database, config.username, config.password, config.schema) + database.setupDatabase(config.address, config.postgresql, config.username, config.password, config.database) + database.clear() + database.create() runListener(serverSocket) } catch (e: IOException) { println("${e.message}") diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt index 312cb0ac..9d1f7374 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentRunner.kt @@ -24,17 +24,12 @@ package org.opendc.experiments.base.runner import me.tongfei.progressbar.ProgressBarBuilder import me.tongfei.progressbar.ProgressBarStyle +import org.opendc.common.utils.Config import org.opendc.experiments.base.experiment.Scenario -import java.io.BufferedReader -import java.io.BufferedWriter import java.io.IOException -import java.io.InputStream -import java.io.InputStreamReader -import java.io.OutputStream -import java.io.OutputStreamWriter import java.net.ServerSocket import java.net.Socket - +import org.opendc.demo.runRequest /** * Run scenario when no pool is available for parallel execution @@ -61,9 +56,6 @@ public fun runExperiment(experiment: List<Scenario>) { println("$ansiGreen================================================================================$ansiReset") for (seed in 0..<scenario.runs) { - - Config.getConfigWriter()?.write("123\n".toByteArray()) - println("$ansiBlue Starting seed: $seed $ansiReset") runScenario(scenario, seed.toLong()) pb.step() @@ -84,10 +76,10 @@ public fun runListener(socket: ServerSocket) { // communication, and to store the incoming results into Postgresql Config.setConfigSocket(client) - var request = ByteArray(1024) + val request = ByteArray(1024) while(true){ - var ret : Int? = Config.getConfigReader()?.read(request) + val ret : Int? = Config.getConfigReader()?.read(request) if(ret == -1) break if(ret != null && ret > 0) runRequest(String(request, 0, ret)) } diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/RequestRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/RequestRunner.kt deleted file mode 100644 index 0316119f..00000000 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/RequestRunner.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.opendc.experiments.base.runner - -/** - * Processes a single HTTP request. - * @param request The request to process. - */ - -public fun runRequest(request: String) { - // https://github.com/am-i-helpful/opendc/blob/master/opendc-oda/opendc-oda-experiments/src/main/kotlin/org/opendc/oda/experimentrunner/ODAComputeMonitor.kt - // Do this here - println("The request is $request\n") -}
\ No newline at end of file diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt index 6d094eb4..f33b6da8 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt @@ -34,6 +34,7 @@ import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig import org.opendc.compute.simulator.telemetry.parquet.ParquetComputeMonitor import org.opendc.compute.simulator.telemetry.parquet.withGpuColumns import org.opendc.compute.topology.clusterTopology +import org.opendc.demo.DemoComputeMonitor import org.opendc.experiments.base.experiment.Scenario import org.opendc.experiments.base.experiment.specs.allocation.TimeShiftAllocationPolicySpec import org.opendc.experiments.base.experiment.specs.allocation.createComputeScheduler @@ -136,11 +137,7 @@ public fun runScenario( provisioner, serviceDomain, scenario, - seed, startTime, - scenario.id, - computeExportConfig = - scenario.exportModelSpec.computeExportConfig.withGpuColumns(gpuCount), ) val service = provisioner.registry.resolve(serviceDomain, ComputeService::class.java)!! @@ -181,7 +178,7 @@ public fun runScenario( } /** - * Saves the simulation results into a specific output folder received from the input.A + * Saves the simulation results into a specific output folder received from the input. * * @param provisioner The provisioner used to setup and run the simulation. * @param serviceDomain The domain of the compute service. @@ -193,21 +190,19 @@ public fun addExportModel( provisioner: Provisioner, serviceDomain: String, scenario: Scenario, - seed: Long, startTime: Duration, - index: Int, - computeExportConfig: ComputeExportConfig = scenario.exportModelSpec.computeExportConfig, ) { + + /* + * @Mateusz + * Here is the entry point to DemoComputeMonitor(). + * With this setting, the simulator no longer writes to parquet files. + * To get back the original code, refer to https://github.com/atlarge-research/opendc + * */ provisioner.runStep( registerComputeMonitor( serviceDomain, - ParquetComputeMonitor( - File("${scenario.outputFolder}/raw-output/$index"), - "seed=$seed", - bufferSize = 4096, - scenario.exportModelSpec.filesToExportDict, - computeExportConfig = computeExportConfig, - ), + DemoComputeMonitor(), Duration.ofSeconds(scenario.exportModelSpec.exportInterval), startTime, scenario.exportModelSpec.filesToExportDict, diff --git a/output/greenifier-demo-scaling/raw-output/0/seed=0/host.parquet b/output/greenifier-demo-scaling/raw-output/0/seed=0/host.parquet Binary files differindex 62e511e0..3afc94b3 100644 --- a/output/greenifier-demo-scaling/raw-output/0/seed=0/host.parquet +++ b/output/greenifier-demo-scaling/raw-output/0/seed=0/host.parquet diff --git a/output/greenifier-demo-scaling/raw-output/0/seed=0/powerSource.parquet b/output/greenifier-demo-scaling/raw-output/0/seed=0/powerSource.parquet Binary files differindex 47d5f364..f7d137b2 100644 --- a/output/greenifier-demo-scaling/raw-output/0/seed=0/powerSource.parquet +++ b/output/greenifier-demo-scaling/raw-output/0/seed=0/powerSource.parquet diff --git a/output/greenifier-demo-scaling/raw-output/0/seed=0/service.parquet b/output/greenifier-demo-scaling/raw-output/0/seed=0/service.parquet Binary files differindex 47467396..75c94c5d 100644 --- a/output/greenifier-demo-scaling/raw-output/0/seed=0/service.parquet +++ b/output/greenifier-demo-scaling/raw-output/0/seed=0/service.parquet diff --git a/output/greenifier-demo-scaling/raw-output/0/seed=0/task.parquet b/output/greenifier-demo-scaling/raw-output/0/seed=0/task.parquet Binary files differindex 288a05de..b39c11ad 100644 --- a/output/greenifier-demo-scaling/raw-output/0/seed=0/task.parquet +++ b/output/greenifier-demo-scaling/raw-output/0/seed=0/task.parquet diff --git a/output/greenifier-demo-scaling/raw-output/1/seed=0/host.parquet b/output/greenifier-demo-scaling/raw-output/1/seed=0/host.parquet Binary files differindex b6794f69..c4b8760b 100644 --- a/output/greenifier-demo-scaling/raw-output/1/seed=0/host.parquet +++ b/output/greenifier-demo-scaling/raw-output/1/seed=0/host.parquet diff --git a/output/greenifier-demo-scaling/raw-output/1/seed=0/powerSource.parquet b/output/greenifier-demo-scaling/raw-output/1/seed=0/powerSource.parquet Binary files differindex 1c135532..303a1c1d 100644 --- a/output/greenifier-demo-scaling/raw-output/1/seed=0/powerSource.parquet +++ b/output/greenifier-demo-scaling/raw-output/1/seed=0/powerSource.parquet diff --git a/output/greenifier-demo-scaling/raw-output/1/seed=0/service.parquet b/output/greenifier-demo-scaling/raw-output/1/seed=0/service.parquet Binary files differindex 3a7b654b..423ca413 100644 --- a/output/greenifier-demo-scaling/raw-output/1/seed=0/service.parquet +++ b/output/greenifier-demo-scaling/raw-output/1/seed=0/service.parquet diff --git a/output/greenifier-demo-scaling/raw-output/1/seed=0/task.parquet b/output/greenifier-demo-scaling/raw-output/1/seed=0/task.parquet Binary files differindex 10457838..ef688ad5 100644 --- a/output/greenifier-demo-scaling/raw-output/1/seed=0/task.parquet +++ b/output/greenifier-demo-scaling/raw-output/1/seed=0/task.parquet diff --git a/output/greenifier-demo-scaling/raw-output/2/seed=0/host.parquet b/output/greenifier-demo-scaling/raw-output/2/seed=0/host.parquet Binary files differindex d0296488..07e5b4c5 100644 --- a/output/greenifier-demo-scaling/raw-output/2/seed=0/host.parquet +++ b/output/greenifier-demo-scaling/raw-output/2/seed=0/host.parquet diff --git a/output/greenifier-demo-scaling/raw-output/2/seed=0/powerSource.parquet b/output/greenifier-demo-scaling/raw-output/2/seed=0/powerSource.parquet Binary files differindex 94e0b039..475e5e73 100644 --- a/output/greenifier-demo-scaling/raw-output/2/seed=0/powerSource.parquet +++ b/output/greenifier-demo-scaling/raw-output/2/seed=0/powerSource.parquet diff --git a/output/greenifier-demo-scaling/raw-output/2/seed=0/service.parquet b/output/greenifier-demo-scaling/raw-output/2/seed=0/service.parquet Binary files differindex 07565589..6892810a 100644 --- a/output/greenifier-demo-scaling/raw-output/2/seed=0/service.parquet +++ b/output/greenifier-demo-scaling/raw-output/2/seed=0/service.parquet diff --git a/output/greenifier-demo-scaling/raw-output/2/seed=0/task.parquet b/output/greenifier-demo-scaling/raw-output/2/seed=0/task.parquet Binary files differindex 1e273488..4d7e837b 100644 --- a/output/greenifier-demo-scaling/raw-output/2/seed=0/task.parquet +++ b/output/greenifier-demo-scaling/raw-output/2/seed=0/task.parquet diff --git a/resources/experiments/config.json b/resources/experiments/config.json index af2b553f..4dbf1e91 100644 --- a/resources/experiments/config.json +++ b/resources/experiments/config.json @@ -3,8 +3,8 @@ "port": "8080", "backlog": 20, "address": "127.0.0.1", - "database" : "5432", + "postgresql" : "5432", "username" : "matt", "password" : "admin", - "schema" : "opendc" + "database" : "opendc" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 139dbd7e..faddf669 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,6 @@ +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" +} /* * Copyright (c) 2017 AtLarge Research * @@ -21,8 +24,8 @@ */ rootProject.name = "opendc" - include(":opendc-common") +include(":opendc-demo") include(":opendc-compute:opendc-compute-api") include(":opendc-compute:opendc-compute-carbon") include(":opendc-compute:opendc-compute-failure") |
