diff options
Diffstat (limited to 'opendc-experiments')
24 files changed, 129 insertions, 1 deletions
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 d231b93b..27348ece 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 @@ -25,20 +25,32 @@ package org.opendc.experiments.base.runner import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.defaultLazy +import com.github.ajalt.clikt.parameters.options.help import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.file +import com.github.ajalt.clikt.parameters.types.int import org.opendc.experiments.base.experiment.getExperiment import java.io.File +import java.net.InetAddress +import java.net.ServerSocket /** * Main entrypoint of the application. */ -public fun main(args: Array<String>): Unit = ExperimentCommand().main(args) +public fun main(args: Array<String>) { + if(args.size == 2){ + ExperimentCommand().main(args) + return + } + ExperimentListener().main(args) +} /** * Represents the command for the Scenario experiments. */ + internal class ExperimentCommand : CliktCommand(name = "experiment") { /** * The path to the environment directory. @@ -52,3 +64,25 @@ internal class ExperimentCommand : CliktCommand(name = "experiment") { runExperiment(experiment) } } + +/** + * This class parses the CLI arguments and creates a socket for the listener. + * Parameters below are the expected CLI arguments in respective order. + * @param port The port to listen to. + * @param backlog The number of available connections. + * @param address The address to bind to. + */ +internal class ExperimentListener: CliktCommand(name = "listener") { + private val port : Int by option("--port").int().default(8080).help("port to listen to") + private val backlog : Int by option("--backlog").int().default(8080).help("number of connections") + private val address : String by option("--address").default("127.0.0.1").help("address to bind to") + + override fun run() { + val inetAddress = InetAddress.getByName(address) + require(port in 1..<65536) { "Port must be between 0 and 65536" } + require(backlog in 1..<50) { "Backlog must be between 1 and 50" } + + val serverSocket = ServerSocket(port, backlog, inetAddress) + runListener(serverSocket) + } +} 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 079db6fc..83dbe6ac 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 @@ -25,6 +25,8 @@ package org.opendc.experiments.base.runner import me.tongfei.progressbar.ProgressBarBuilder import me.tongfei.progressbar.ProgressBarStyle import org.opendc.experiments.base.experiment.Scenario +import java.net.ServerSocket + /** * Run scenario when no pool is available for parallel execution @@ -58,3 +60,11 @@ public fun runExperiment(experiment: List<Scenario>) { } pb.close() } + +/** + * Accepts and processes incoming requests. + * @param socket The socket to listen to. + */ +public fun runListener(socket: ServerSocket) { + println("Hello!") +}
\ No newline at end of file diff --git a/opendc-experiments/opendc-experiments-m3sa/analysis.txt b/opendc-experiments/opendc-experiments-m3sa/analysis.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/analysis.txt diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/battery.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/battery.parquet Binary files differnew file mode 100644 index 00000000..93b3f21c --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/battery.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/host.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/host.parquet Binary files differnew file mode 100644 index 00000000..607119d3 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/host.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/powerSource.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/powerSource.parquet Binary files differnew file mode 100644 index 00000000..9d21c34f --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/powerSource.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/service.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/service.parquet Binary files differnew file mode 100644 index 00000000..37ce413d --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/service.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/task.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/task.parquet Binary files differnew file mode 100644 index 00000000..4d3e1eaa --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/0/seed=0/task.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/battery.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/battery.parquet Binary files differnew file mode 100644 index 00000000..93b3f21c --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/battery.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/host.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/host.parquet Binary files differnew file mode 100644 index 00000000..bf6c2c56 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/host.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/powerSource.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/powerSource.parquet Binary files differnew file mode 100644 index 00000000..fc75914e --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/powerSource.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/service.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/service.parquet Binary files differnew file mode 100644 index 00000000..37ce413d --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/service.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/task.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/task.parquet Binary files differnew file mode 100644 index 00000000..4d3e1eaa --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/1/seed=0/task.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/battery.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/battery.parquet Binary files differnew file mode 100644 index 00000000..93b3f21c --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/battery.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/host.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/host.parquet Binary files differnew file mode 100644 index 00000000..b51352ad --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/host.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/powerSource.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/powerSource.parquet Binary files differnew file mode 100644 index 00000000..a159cc31 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/powerSource.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/service.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/service.parquet Binary files differnew file mode 100644 index 00000000..37ce413d --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/service.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/task.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/task.parquet Binary files differnew file mode 100644 index 00000000..4d3e1eaa --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/2/seed=0/task.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/battery.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/battery.parquet Binary files differnew file mode 100644 index 00000000..93b3f21c --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/battery.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/host.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/host.parquet Binary files differnew file mode 100644 index 00000000..420e8521 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/host.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/powerSource.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/powerSource.parquet Binary files differnew file mode 100644 index 00000000..2ed6cdb3 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/powerSource.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/service.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/service.parquet Binary files differnew file mode 100644 index 00000000..37ce413d --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/service.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/task.parquet b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/task.parquet Binary files differnew file mode 100644 index 00000000..4d3e1eaa --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/raw-output/3/seed=0/task.parquet diff --git a/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/trackr.json b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/trackr.json new file mode 100644 index 00000000..dcee7315 --- /dev/null +++ b/opendc-experiments/opendc-experiments-m3sa/src/test/resources/outputs/trackr.json @@ -0,0 +1,84 @@ +[{ + "name": "outputs/", + "outputFolder": "src/test/resources/", + "topology": { + "pathToFile": "src/test/resources/topologies/experiment1/topology_mse.json" + }, + "workload": { + "pathToFile": "src/test/resources/workloadTraces/experiment1", + "type": "ComputeWorkload" + }, + "exportModel": { + "exportInterval": 30000, + "filesToExportDict": { + "host": true, + "task": true, + "powerSource": true, + "battery": true, + "service": true + } + } +}, +{ + "name": "outputs/", + "outputFolder": "src/test/resources/", + "topology": { + "pathToFile": "src/test/resources/topologies/experiment1/topology_sqrt.json" + }, + "workload": { + "pathToFile": "src/test/resources/workloadTraces/experiment1", + "type": "ComputeWorkload" + }, + "exportModel": { + "exportInterval": 30000, + "filesToExportDict": { + "host": true, + "task": true, + "powerSource": true, + "battery": true, + "service": true + } + } +}, +{ + "name": "outputs/", + "outputFolder": "src/test/resources/", + "topology": { + "pathToFile": "src/test/resources/topologies/experiment1/topology_asymptotic1.json" + }, + "workload": { + "pathToFile": "src/test/resources/workloadTraces/experiment1", + "type": "ComputeWorkload" + }, + "exportModel": { + "exportInterval": 30000, + "filesToExportDict": { + "host": true, + "task": true, + "powerSource": true, + "battery": true, + "service": true + } + } +}, +{ + "name": "outputs/", + "outputFolder": "src/test/resources/", + "topology": { + "pathToFile": "src/test/resources/topologies/experiment1/topology_asymptotic2.json" + }, + "workload": { + "pathToFile": "src/test/resources/workloadTraces/experiment1", + "type": "ComputeWorkload" + }, + "exportModel": { + "exportInterval": 30000, + "filesToExportDict": { + "host": true, + "task": true, + "powerSource": true, + "battery": true, + "service": true + } + } +}]
\ No newline at end of file |
