summaryrefslogtreecommitdiff
path: root/simulator
AgeCommit message (Collapse)Author
2020-11-01Properly parse provisioned memory from Bitbrains traceFabian Mastenbroek
This change fixes an issue where we interpret the provisioned memory in the Bitbrains trace as MB as opposed to the correct KB.
2020-10-29Eliminate Spark dependencies from Web RunnerFabian Mastenbroek
This change eliminates the large Spark dependencies from the web runner. Instead, we perform on the fly aggregation of the data and report directly to MongoDB.
2020-10-29Support non-ObjectIds and empty tracesFabian Mastenbroek
2020-10-29Add support for Java 15 buildFabian Mastenbroek
2020-10-29Update to Gradle 6.7Fabian Mastenbroek
2020-10-29Add support for ObjectId in simulatorFabian Mastenbroek
2020-10-05Address compilation warningsFabian Mastenbroek
2020-10-05Move power models outside opendc-coreFabian Mastenbroek
2020-10-05Move failure models to separate moduleFabian Mastenbroek
2020-10-04Extract simulation-related code from OpenDC Compute (core)Fabian Mastenbroek
This change splits the opendc-compute module into two modules: 1. opendc-compute-core The interfaces and APIs that represent a IaaS platform. 2. opendc-compute-simulator The implementation of these interfaces using simulation components from opendc-simulator-compute.
2020-10-04Reimplement performance interference in opendc-simulator-computeFabian Mastenbroek
This change reimplements the performance interference model originally implemented for the SimpleVirtDriver class, for SimHypervisor.
2020-10-04Migrate codebase to opendc-simulator-computeFabian Mastenbroek
This change updates the remainder of the codebase to use the opendc-simulator-compute module for the simulation of workloads.
2020-10-03Implement VirtDriver using opendc-simulator-compute moduleFabian Mastenbroek
This change adds an implementation of the VirtDriver interface that uses the functionality provided by the opendc-simulator-compute module.
2020-10-02Implement BareMetalDriver using SimMachineFabian Mastenbroek
This change creates an implementation of the BareMetalDriver interface using the simulation logic of SimMachine. This implementation will eventually replace the SimpleBareMetalDriver implementation.
2020-10-02Add opendc-simulator-compute moduleFabian Mastenbroek
This change adds an opendc-simulator-compute module which contains interfaces related to simulating compute workloads. For future changes, we intend to decouple the simulation part from the opendc-compute module.
2020-10-01Add explicit API visibilityFabian Mastenbroek
This change adds explicit visibility modifiers to the public interfaces and enables Kotlin 1.4's explicit API mode.
2020-10-01Add test case for WTA trace parserFabian Mastenbroek
2020-10-01Add parser for WTA trace formatFabian Mastenbroek
This change adds a parser for the traces of the Workflow Trace Archive to be used in OpenDC.
2020-10-01Migrate to org.opendc namespaceFabian Mastenbroek
This change moves the OpenDC simulator codebase to the org.opendc namespace of which we control the domain. Previously, we used the com.atlarge package of which we did not control the domain, which might lead to difficulties in the future.
2020-10-01Move OpenDC modules into simulator rootFabian Mastenbroek
This change moves the OpenDC modules previously living in the simulator/opendc directory to the simulator directory itself given that we do not make a distinction between OpenDC and odcsim anymore.
2020-10-01Remove odcsim components from repositoryFabian Mastenbroek
This change removes the odcsim components from the repository as we have eliminated their use in the OpenDC codebase, by replacing them with the more generic (Test)CoroutineScope and Clock. From now on, we will only place modules under the OpenDC namespace and not use odcsim as well to prevent confusion.
2020-10-01Move custom Flows to separate utility moduleFabian Mastenbroek
This change moves the custom Flow object we provide (e.g. EventFlow and StateFlow) outside of the odcsim-api module into a separate opendc-utils module. This is in preparation for the removal of the odcsim components in OpenDC.
2020-09-30Migrate from Domain to TestCoroutineScopeFabian Mastenbroek
This change eliminates the use of Domain and simulationContext in favour of the generic (Test)CoroutineScope and Clock classes. In this way, we decouple the OpenDC modules and their logic from simulation-related code. In this way, we also simplify eventual attempt for emulating OpenDC componments in real-time.
2020-09-30Add module for simulation-specific code for OpenDCFabian Mastenbroek
This change introduces a new module in the OpenDC namespace where simulation-specific code will be placed. We will move away from the odcsim naming to prevent getting confused users due to this complex naming scheme. Furthermore, this module will live in the org.opendc package instead of the com.atlarge.opendc to further reduce depth of the packages.
2020-09-30Eliminate use of Domain and simulationContext in OpenDCFabian Mastenbroek
This change takes the first step in eliminating the explict use of Domain and simulationContext from OpenDC. In this way, we decouple the logic of various datacenter services from simulation logic, which should promote re-use.
2020-09-30Ensure correct kotlin-reflect versionFabian Mastenbroek
This change ensures that we depend on the correct kotlin-reflect package, since Jackson might prefer an older version.
2020-09-30Upgrade ktlin-gradleFabian Mastenbroek
This change upgrades the ktlint-gradle dependencies to the latest version.
2020-09-24Update Kotlin to 1.4Fabian Mastenbroek
This change updates the code base to use Kotlin 1.4 which promises better performance in IDEs and a new interference algorithm to solve more complex type checking cases. See https://kotlinlang.org/docs/reference/whatsnew14.html for more information.
2020-09-24Update Gradle wrapper to 6.6.1Fabian Mastenbroek
2020-09-17Require specification of single portfolioFabian Mastenbroek
This change adds the requirement for the command line interface to specify at least a single portfolio to run. Previously, the experiment runner would start and terminate silently without reporting that no portfolios were run. This behavior is confusing especially for users not familiar with the portfolios concept.
2020-09-17Close ParquetEventWriter writer thread on failureFabian Mastenbroek
This change will close the writer thread of the ParquetEventWriter class when a failure occurs. Previously, this would result in a sleeping thread keeping the system from terminating.
2020-08-24Correct typo in Flavor.ktGeorgios Andreadis
2020-08-24Merge pull request #14 from atlarge-research/feat/bitbrains-converterGeorgios Andreadis
Add Bitbrains trace converter
2020-08-24Add proper command-line interface for trace converterFabian Mastenbroek
2020-08-24Add Bitbrains trace converterFabian Mastenbroek
2020-08-24Consider duplicate VMs for performance interferenceFabian Mastenbroek
2020-08-24Fix performance interference in HPC experimentsFabian Mastenbroek
2020-08-24Allow load sampling result to exceed original trace sizeFabian Mastenbroek
2020-08-24Report additional workload sampling informationFabian Mastenbroek
2020-08-24Add missing HPC scenariosFabian Mastenbroek
2020-08-24Make HPC sampling strategy consistentFabian Mastenbroek
2020-08-24Add workload sampling strategy to Parquet outputFabian Mastenbroek
2020-08-24Terminate heartbeat after scenario finishFabian Mastenbroek
2020-08-24Add support for HPC portfolioFabian Mastenbroek
2020-08-24Add initial HPC sampler implementationFabian Mastenbroek
2020-08-24Fix reporting of experiment failuresFabian Mastenbroek
This change fixes an issue where exceptions thrown during a simulation run are swallowed by the experiment runner.
2020-08-24Cache build artifacts for Docker buildFabian Mastenbroek
2020-08-24Make simulator image leanerFabian Mastenbroek
This change updates the Dockerfile for the simulator to reduce its size. By using Docker stages, we can split the build image from the runtime image that only contains the runtime binaries.
2020-08-24Default to local Spark instanceFabian Mastenbroek
2020-08-24Add data processing pipeline via SparkFabian Mastenbroek
This change adds support for processing the experimental results by means of a Spark data processing pipeline.