| Age | Commit message (Collapse) | Author |
|
This change implements the CPU energy model with p-states from iCanCloud/E-mc2:
- Only pushed a portion of the code for discussion as not sure if the idea is
on track.
- Inline comments have been added, and formal documents will follow once the
model is finalized.
- The p-state power consumptions are currently hard-coded in a companion
object, which should be improved in the next PR(s).
**Breaking Changes**
- CpuPowerModel: directly interact with the machine it is measuring.
- SimBareMetalMachine: expose the speeds of its CPU cores and its clock
instant.
|
|
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).
|
|
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.
|
|
This change separates the cloud compute layer in OpenDC (e.g., Server)
from the bare-metal layer (e.g., Node), such that Node and
BareMetalDriver are unaware of the existence of Server and co.
|
|
This change uses the Java Platform functionality from Gradle to enable
shared dependency constraints across modules.
|
|
This change updates the Gradle configuration to utilize version
constraints to force the same dependency version across modules.
|
|
This change moves the version of the dependencies from buildSrc to
gradle.properties to prevent recompilation when changing dependency
versions.
|
|
This change extracts the configuration for test from the Kotlin library
conventions.
|
|
This change removes unnecessary dependencies on JUnit Platform launcher
from the repository. Previously, the launcher was used to bootstrap
tests for Gradle when it did not natively support JUnit Platform.
Gradle now has native support for JUnit Platform, so the dependency is
not needed anymore.
|
|
This change allows users to select the hypervisor scheduler to use when
deploying hypervisors onto bare-metal machines.
|
|
This change adds a new hypervisor implementation that supports virtual
machine that have exclusive access to resources (e.g., CPU).
|
|
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.
|
|
This change updates the workflow service to delegate the resource
scheduling logic to the virtualized resource provisioner.
|
|
|
|
|
|
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 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 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.
|