| Age | Commit message (Collapse) | Author |
|
* Initial push
* Added carbon tests
* spotless
* small update to test
* Updated build file
* Updated build file
* small test
* small update
* Test
* Test
* Updated CarbonTraces to UTC. updated the tests accordingly
* spotless
|
|
* Change scheduler API to include task removal and add tests
* Check if memorizing schduler works with the whole system
* Spotless apply
* Expand function name and improve documentation
|
|
* Fixed a small bug which caused the PowerSource to not always report the correct energy usage
* spotless
|
|
|
|
* Updated the FlowDistributor to work in more cases and be more performant.
* Removed old FlowDistributor
|
|
* Restructured opendc-simulator-flow.
Renamed Multiplexer to FlowDistributor.
* spotless applied
* Added FlowDistributor topologies back
|
|
|
|
Multiplexer is using MaxMinFairness given that this is currently the default and only fairness available in OpenDC. (#280)
|
|
* Fixed the Multiplexer.java to properly divide the supply over the different consumers.
Fixed a bug where fragments were being loaded in reversed order.
* Optimized the Multiplexer.java, by only updating the supply of the consumer that updated its demand when possible.
|
|
|
|
|
|
* Added startPoint to TraceBasedFailureModel.kt, this decides where in the trace, the model should start. Added repeat to TraceBasedFailureModel.kt. This decides if the trace should be repeated when finished
* spotless applied
* Fixed some issues with the failure shuffling
* applied spotless
|
|
* Fixed a small bug making the power source not update energy usage properly
* small update to the test
|
|
* Updated a lot of documentation, added a new get-started tutorial.
* Applied Spotless
* Applied Spotless Java
* Added bitbrains workload to site
|
|
|
|
finished (#259)
|
|
* Added power sources to OpenDC.
In the current form each Cluster has a single power source that is connected to all hosts in that cluster
* Added power sources to OpenDC.
In the current form each Cluster has a single power source that is connected to all hosts in that cluster
* Ran spotless Kotlin and Java
|
|
* Updated tests
Changed all floats into doubles to have consistency over the whole framework
Made a small update to the multiplexer to better push through supply and demand
Fixed small typo
Updated M3SA paths.
fixed merge conflicts
Removed unused components. Updated tests.
Improved checkpointing model
Improved model, started with SimPowerSource
implemented FailureModels and Checkpointing
First working version
midway commit
first update
All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability.
* Updated test memory
|
|
* Removed unused components. Updated tests.
Improved checkpointing model
Improved model, started with SimPowerSource
implemented FailureModels and Checkpointing
First working version
midway commit
first update
All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability.
* fixed merge conflicts
* Updated M3SA paths.
* Fixed small typo
|
|
* (feat) demo files are now ignored
* integrating m3sa changes with opendc
* gitignore ignores demo
* m3sa linked, tested, works 🎉🎆
* linting & checks fully pass
* m3sa documentation (re...)added
* package.json added, a potentail solution for Build Docker Images workflow
* (fix) opendc-m3sa renamed to opendc-experiments-m3sa
* (feat) Model is now a dataclass
* (fix) package and package-lock reverted as before the PR, now they mirror the opendc master branch
* (fix) Experiments renamed to experiment
* branch updated with changes from master branch
* trying to fix the build docker image failed workflow
* trying to fix the build docker image failed workflow
* All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. (#255) (#37)
Co-authored-by: Dante Niewenhuis <d.niewenhuis@hotmail.com>
* All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. (#255) (#38)
Co-authored-by: Dante Niewenhuis <d.niewenhuis@hotmail.com>
* All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. (#255) (#39)
Co-authored-by: Dante Niewenhuis <d.niewenhuis@hotmail.com>
* [TEMP](feat) m3saCli decoupled from experimentCli
* spotless and minor refactoring
* (feat)[TEMP] decoupling m3sa from experiment
* spotless applied
* documentation resolved
* requirements.txt added
* path to M3SA is now provided as a parameter to M3SACLI
* spotless applied
* (fix) python environment variables solved, output analysis folder solved
* documentation changed and matching the master branch doc
* package-lock reverted
* package-lock reverted
---------
Co-authored-by: Dante Niewenhuis <d.niewenhuis@hotmail.com>
|
|
CPUs are combined into one. This is for performance and explainability. (#255)
|
|
* Added a max failure for tasks. If tasks fail more times, they get cancelled
* Added maxNumFailures to the frontend
* Updated tests
|
|
* Updated the checkpointing system to use SimTrace. The checkpoint model can now also scale, which means the interval between checkpoints can increase or decrease over time.
* spotless kotlin
* Fixed tests
* spotless apply
|
|
* Started on reimplementing the SimTrace implementation
* updated trace format. Fragments now do not have a deadline, but a duration. The Fragments are executed in order.
|
|
An experiment is a set of Scenarios. (#247)
|
|
* Updated SimTrace to use a single ArrayDeque instead of three separate lists for deadline, cpuUsage, and coreCount
* Renamed input files to tasks.parquet and fragments.parquet. Renamed server to task. OpenDC nows exports tasks.parquet instead of server.parquet
|
|
|
|
* Initial Push
* Refactored the cartesian implementation of ScenariosSpec.kt
* Fixed typo
* Some small updates
* ran spotless
|
|
experiment-base. Renamed the distribution of experiment-base to OpenDCScenarioRunner (#236)
|
|
* Fixed a problem which caused the CPU limit to be much lower than it should be.
AllocationPolicy is now properly exposed to the user
* Fixed tests
* spotless kotlin
|
|
|
|
* unversioned demo - removed from git history
unversioned filed pushed
spotless applied
code cleaned up
commit before pr
spotless applied
setupOutputFolder moved before getting the scenarios
specific topology added
pretty tracking
given scenarios are kept track by id
code runnable
output name for scenario updated
python folder and src document connected
simulationOutputFolder structure prepared
base for python script integration in simulations
output contents into a folder defined by the simulation name
output contents into a folder defined by the simulation name
* bugs with trackr.json (id not showing) solved. outputting bug also solved (now we use the output folder indicated in scenario.json input file)
* spotless applied, ready for PR
* var -> val in Scenario
* ScenarioWriter package naming repaired
|
|
into objects when the scenario is being executed by ScenarioRunner.kt (#227)
|
|
|
|
|
|
* Updated the power models and added tests
* Updated test topologies
|
|
* sync with the master branch
* rebase
* multimodel - simulation is currently run as many times as you can see a model
* factory method - handles models without given params
* removed redundant flags
* modelType
* flags removed
* implemented output into a folder
* multimodel ipynb setup - to be implemented and also ran as a python script, when the simulation occurs
* towards a mutimodel python implementation - issue observed - the saved files have same data?
* json parsing handles now lists for topology, workloads, allocaitonPolicies, powerModels
* scenarioFile inputs lists, and creates multiple combinations of scenarios
* multi-model prediction repaired, now we predict using multiple models
* commit before removing powerModel from scenario
* commit after removing powerModel from scenario
* commit after removing powerModel from scenario (and actually running)
* powermodels now can output their name and full name (with min and max)
* now we can select where to output (seed or output folder)
* input files - clear naming + output naming improved
* minimal changes
* all tests passing + json files from tests updated to the new json format
* json files from topology now accept only one power model (instead of list)
* json files from topology now accept only one power model (instead of list)
* multi and single input from tests updated to match the format
* tests passed locally
* spotless applies
* demo folder removed
|
|
* Started with the carbon trace implementation
* Moved the carbon trace system to the proper folders
|
|
|
|
* Initial commit
* Implemented a new systems of defining and running scenarios / portfolios. Scenarios and Portfolios can now be defined using JSON files similar to topologies. This allows user to define experiments without changing any KotLin code.
* Ran spotlessApply
|
|
* Updated all package versions including kotlin. Updated all web-server tests to run.
* Changed the java version of the tests. OpenDC now only supports java 19.
* small update
* test update
* new update
* updated docker version to 19
* updated docker version to 19
|
|
* removed experiment-compute and integrated all components into opendc-compute
* updated workflow gradle file
* removed unneeded code
|
|
This change replaces the use of `CoroutineContext` for passing the
`SimulationDispatcher` across the different modules of OpenDC by the
lightweight `Dispatcher` interface of the OpenDC common module.
|
|
This change updates the modules of OpenDC to always accept
the `InstantSource` interface as source of time. Previously we used
`java.time.Clock`, but this class is bound to a time zone which does not
make sense for our use-cases.
Since `java.time.Clock` implements `java.time.InstantSource`, it can be
used in places that require an `InstantSource` as parameter. Conversion
from `InstantSource` to `Clock` is also possible by invoking
`InstantSource#withZone`.
|
|
This change updates the modules of OpenDC to always accept
the `RandomGenerator` interface as source of randomness. This interface
is implemented by the slower `java.util.Random` class, but also by the
faster `java.util.SplittableRandom` class
|
|
This change updates the build configuration to use Spotless for code
formating of both Kotlin and Java.
|
|
This change updates the repository to remove the use of wildcard imports
everywhere. Wildcard imports are not allowed by default by Ktlint as
well as Google's Java style guide.
|
|
This change adds to the experiment base in OpenDC a provisioning tool to
help setup the experimental environment in a reproducible manner.
The experimental environment can be defined in terms of *provisioning
steps* which manage the allocation, configuration, and clean-up of all
resources necessary for the experiments.
The provisioning steps are executed sequentially, so in case of dependencies,
the steps need to be ordered correctly.
|
|
This change adds a new module called opendc-experiments-base which will
provide a base for doing experiments with OpenDC. The initial feature we
introduce is the service registry which acts as DNS for services to
register during experimentation.
|