summaryrefslogtreecommitdiff
path: root/simulator/opendc-simulator/opendc-simulator-compute/src/test/kotlin
AgeCommit message (Collapse)Author
2021-04-25build: Migrate to flat project structureFabian Mastenbroek
This change updates the project structure to become flattened. Previously, the simulator, frontend and API each lived into their own directory. With this change, all modules of the project live in the top-level directory of the repository. This should improve discoverability of modules of the project.
2021-04-23simulator: Add the MSE power model (#121)Hongyu
This change adds a power model for optimizing the mean squared error to the available power models in OpenDC.
2021-04-21simulator: Migrate to SimulationCoroutineDispatcherFabian Mastenbroek
This change migrates the remainder of the codebase to the SimulationCoroutineDispatcher implementation.
2021-04-21simulator: Introduce SimulationCoroutineDispatcherFabian Mastenbroek
This change introduces the SimulationCoroutineDispatcher implementation which replaces the TestCoroutineDispatcher for running single-threaded simulations. Previously, we used the TestCoroutineDispatcher from the kotlinx-coroutines-test modules for running simulations. However, this module is aimed at coroutine tests and not at simulations. In particular, having to construct a Clock object each time for the TestCoroutineDispatcher caused a lot of unnecessary lines. With the new approach, the SimulationCoroutineDispatcher automatically exposes a usable Clock object. In addition to ergonomic benefits, the SimulationCoroutineDispatcher is much faster than the TestCoroutineDispatcher due to the assumption that simulations run in only a single thread. As a result, the dispatcher does not need to perform synchronization and can use the fast PriorityQueue implementation.
2021-04-14simulator: Introduce SimProcessingUnitFabian Mastenbroek
This change introduces the SimProcessingUnit which represents a simulated processing unit which the user can control during the workload execution.
2021-04-12simulator: Add the asymptotic power model from GreenCloud (#114)Hongyu
This change adds the asymptotic power model that is used in GreenCloud to the available power models in OpenDC.
2021-04-07simulator: Move away from StateFlow for low-level monitoringFabian Mastenbroek
This change removes the StateFlow speed property on the SimResourceSource, as the overhead of emitting changes to the StateFlow is too high in a single-thread context. Our new approach is to use direct callbacks and counters.
2021-04-07simulator: Add tests for CPUFreq subsystemFabian Mastenbroek
2021-04-07simulator: Polish power modelsHongyu
This change updates the power models by fixing some of the documentation and adding toString() methods.
2021-04-07simulator: Add initial design of CPUFreq modelFabian Mastenbroek
This change adds a model implementing Dynamic Voltage Frequency Scaling (DVFS) to OpenDC.
2021-03-26simulator: Extract hardware power values to a separate file (#105)Hongyu
This change enables the use of the interpolation model testing on the results of the SPEC benchmark.
2021-03-24simulator: Move power models to simulator moduleFabian Mastenbroek
This change moves the power models from the `opendc-compute-simulator` to the `opendc-simulator-compute` module, since it better fits the scope of the models and allows them to be re-used for other purposes.
2021-03-23simulator: Add support for emitting VM usage metricsFabian Mastenbroek
This change re-enables support for VM usage metrics by adding an adapter for SimResourceConsumer instances that can export the consumer speed.
2021-03-22simulator: Remove generic resource constraint from resource modelFabian Mastenbroek
This change removes the generic resource constraint (e.g., SimResource) and replaces it by a simple capacity property. In the future, users should handle the resource properties on a higher level. This change simplifies compositions of consumers and providers by not requiring a translation from resource to capacity.
2021-03-17simulator: Make hypervisors generic for the resource typeFabian Mastenbroek
This change moves the hypervisor implementations to the opendc-simulator-resources module and makes them generic to the resource type that is being used (e.g., CPU, disk or networking).
2021-03-16simulator: Add generic framework for resource consumption modelingFabian Mastenbroek
This change adds a generic framework for modeling resource consumptions and adapts opendc-simulator-compute to model machines and VMs on top of this framework. This framework anticipates the addition of additional resource types such as memory, disk and network to the OpenDC codebase.
2021-01-11Add support for hypervisor selectionFabian Mastenbroek
This change allows users to select the hypervisor scheduler to use when deploying hypervisors onto bare-metal machines.
2021-01-11Add hypervisor supporting space-shared VMsFabian Mastenbroek
This change adds a new hypervisor implementation that supports virtual machine that have exclusive access to resources (e.g., CPU).
2021-01-11Convert to pull-based workload modelFabian Mastenbroek
This change converts the low-level workload model to be pull-based. This reduces the overhead that we experienced with our previous co-routine based approach.
2021-01-07Refactor workflow service to schedule tasks onto VMsFabian Mastenbroek
This change updates the workflow service to delegate the resource scheduling logic to the virtualized resource provisioner.
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-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-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.