| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
This change reimplements the performance interference model originally
implemented for the SimpleVirtDriver class, for SimHypervisor.
|
|
This change updates the remainder of the codebase to use the
opendc-simulator-compute module for the simulation of workloads.
|
|
This change adds an implementation of the VirtDriver interface that uses
the functionality provided by the opendc-simulator-compute module.
|
|
This change creates an implementation of the BareMetalDriver interface
using the simulation logic of SimMachine. This implementation will
eventually replace the SimpleBareMetalDriver implementation.
|
|
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.
|
|
This change adds explicit visibility modifiers to the public interfaces
and enables Kotlin 1.4's explicit API mode.
|
|
|
|
This change adds a parser for the traces of the Workflow Trace Archive to be
used in OpenDC.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This change ensures that we depend on the correct kotlin-reflect
package, since Jackson might prefer an older version.
|
|
This change upgrades the ktlint-gradle dependencies to the latest
version.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
Add Bitbrains trace converter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This change fixes an issue where exceptions thrown during a simulation
run are swallowed by the experiment runner.
|
|
|
|
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.
|
|
|
|
This change adds support for processing the experimental results by
means of a Spark data processing pipeline.
|
|
|
|
This change re-adds the simulator service for the docker-compose
configuration, such that it will listen for incoming jobs from the API.
|