summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-09ui: Remove unnecessary print statementFabian Mastenbroek
2021-05-09exp: Add TensorFlow experimentFabian Mastenbroek
This pull request merges the TensorFlow model into the OpenDC codebase. The model has seen a few changes in order to fit into the current code-base. * Add model for the high-level Keras library. * Model TensorFlow compute devices * Add simple network model for TensorFlow experiments * Add simple environment reader for experiment setups * Model distribution strategies for TensorFlow
2021-05-09exp: Add explanation about experimental nature of moduleFabian Mastenbroek
2021-05-09exp: Implement TensorFlow distribution strategiesWenchen Lai
2021-05-09exp: Model TensorFlow compute devicesWenchen Lai
2021-05-09exp: Add simple network model for TensorFlow experimentsWenchen Lai
2021-05-09exp: Add environments for TensorFlow experimentsWenchen Lai
This change adds the experimental environments that are being used for the TensorFlow on OpenDC experiments.
2021-05-09exp: Add environment reader for TensorFlow experimentsWenchen Lai
This change adds a reader for the environment/topology format that is used for the TensorFlow experiments in OpenDC.
2021-05-09exp: Add model of TensorFlow Keras APIWenchen Lai
This change adds a model of TensorFlow's Keras API to OpenDC.
2021-05-09exp: Add TensorFlow experiment setupWenchen Lai
This change adds the initial experiment setup for the TensorFlow on OpenDC experiments.
2021-05-09serverless: Add support for custom termination policiesSoufiane Jounaid
This change adds support for custom termination policies for function instances. This allows the user to build different strategies for downscaling function instances after they become idle.
2021-05-09ui: Update OpenDC homepageFabian Mastenbroek
This pull request contains various updates to the opendc.org homepage, in order to reflect the updates from OpenDC 2.0.
2021-05-09ui: Update runtime variable workaroundFabian Mastenbroek
This change updates the workaround used to access runtime variables in the React frontend, in order to improve the ergonimics when using the development mode of CRA (Create React App).
2021-05-09ui: Include figure on OpenDC 2.0 architectureFabian Mastenbroek
2021-05-09ui: Link to OpenDC 2.0 paperFabian Mastenbroek
2021-05-09ui: Update screenshots of OpenDC user-interfaceFabian Mastenbroek
2021-05-09ui: Actualize team sectionFabian Mastenbroek
2021-05-08ui: Update disclaimer in footerFabian Mastenbroek
2021-05-08ui: Migrate from node-sass to sassFabian Mastenbroek
This change migrates the node-sass dependency to sass in order to support Node 16.
2021-05-08api: Bump eventlet from 0.25.2 to 0.31.0dependabot[bot]
Bumps [eventlet](https://github.com/eventlet/eventlet) from 0.25.2 to 0.31.0. - [Release notes](https://github.com/eventlet/eventlet/releases) - [Changelog](https://github.com/eventlet/eventlet/blob/master/NEWS) - [Commits](https://github.com/eventlet/eventlet/compare/v0.25.2...v0.31.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-07build: Use Gradle version catalogFabian Mastenbroek
This pull request updates the Gradle build configuration to use the new version catalog functionality, which allows us to store our dependency versions in a centralized file located at `gradle/libs.versions.toml`. Our previous approach stored the versions in `gradle.properties`. The benefit of this approach however is that (1) it will be supported by Gradle and (2) it allows us to access dependencies safely.
2021-05-07build: Access version catalog from buildSrcFabian Mastenbroek
This change adds a workaround to the build configuration so that we can access the version catalog from pre-compiled scripts in buildSrc. In this way, we can use the version catalog everywhere. This workaround is necessary until https://github.com/gradle/gradle/issues/15383 is fixed.
2021-05-07build: Use Gradle version catalogFabian Mastenbroek
This change adds support for the Gradle version catalog feature in our build configuration. This allows us to have a single file, gradle/libs.versions.toml, which contains all the dependency versions used in this project.
2021-05-07api: Bump flask-cors from 3.0.8 to 3.0.9dependabot[bot]
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.8 to 3.0.9. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/master/CHANGELOG.md) - [Commits](https://github.com/corydolphin/flask-cors/compare/3.0.8...3.0.9) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-06ci: Use docker/build-push-action@v2Fabian Mastenbroek
This change updates the publish workflow to use docker/build-push-action@v2. The previous version is deprecated and does not support some of the parameters that we need.
2021-05-06ci: Create draft release on tag pushFabian Mastenbroek
This change updates the release workflow to create a draft release when a new tag is pushed. This allows us to write a release description as well as organize the publication of the components on Maven Central, etc.
2021-05-06build: Increase metaspace budgetFabian Mastenbroek
This change increases the max metaspace size that Gradle/Dokka is allowed to use. We unfortunately need this workaround for Dokka to properly build the documentation during the release workflow.
2021-05-06ci: Reference correct secret for GPG passphraseFabian Mastenbroek
2021-05-06chore: Prepare for OpenDC 2.0 release (v2)Fabian Mastenbroek
This pull request performs several preparations for the official release of OpenDC 2.0. With this pull request, we focus on the deployment of OpenDC to DockerHub and Maven Central. * Add workflow for creating releases on Github and publishing to Maven Central * Add workflow for publishing images on DockerHub * Add support for runtime variables in frontend Docker image * Add support for building Dokka documentation
2021-05-06ci: Add workflow step for publishing release to Maven CentralFabian Mastenbroek
This change adds a workflow step that publishes the release to Maven Central using Gradle.
2021-05-06build: Prevent publishing application modulesFabian Mastenbroek
This change updates the Gradle build configuration so that the application modules (as opposed the libraries) are not published onto Maven Central.
2021-05-06build: Use type-safe project accessorsFabian Mastenbroek
This change updates the build scripts to use type-safe project accessors when specifying build dependencies between modules.
2021-05-06build: Add support for publishing to Maven CentralFabian Mastenbroek
This change adds support for publishing OpenDC to Maven Central. This allows other people to develop with OpenDC without needing to build the entire project themselves.
2021-05-05ci: Add workflow for publishing Docker imagesFabian Mastenbroek
This change adds a new Github Actions workflow that publishes the Docker images on publication of a new Github release.
2021-05-05build: Use web runner from main distribution in Docker imageFabian Mastenbroek
This change updates the main Docker image to copy the main distribution into the Docker image and use the web runner from there.
2021-05-05build: Support runtime variables in frontend Docker imageFabian Mastenbroek
This change adds support for dynamically specifying various variables for the frontend Docker image through environmental variables. Previously, these were embedded directly into the source code, which requires rebuilding the entire image to change these variables.
2021-05-05build: Update Docker ignores to prevent unnecessary buildsFabian Mastenbroek
This changes updates the .dockerignore files in the repository in order to prevent building when not necessary.
2021-05-05ci: Remove unused Gitlab and Travis CI configurationsFabian Mastenbroek
2021-05-05ci: Add workflow for releasesFabian Mastenbroek
This change adds a new Github Actions workflow that is triggered when a new tag is pushed. This workflow will automatically build the project and create a new Github release.
2021-05-05harness: Improve OpenDC Experiment Harness (v1) Fabian Mastenbroek
This pull request contains several improvements to the OpenDC Experiment Harness, which aims to improve user-experience of users when re-running experiments in the repository. * Split the harness into separate modules * Add support for adding additional classpath entries when running experiments via the console * Initial support for configuration of experiments using HOCON.
2021-05-05harness: Add ability to specify custom configuration from CLIFabian Mastenbroek
This change updates the command line interface of the OpenDC Experiment Harness to include an option for specifying a custom configuration file.
2021-05-05exp: Include experiments in main distributionFabian Mastenbroek
This change updates the Gradle configuration to include experiments in the main distribution of OpenDC. Users can directly execute the experiments from the command-line without having to recompile the entire code-base.
2021-05-05exp: Add support for experiment configurationFabian Mastenbroek
This change adds support for configuring the experiments via configuration files using the TypeSafe config library. In the future, we will also integrate support for configuration into the harness.
2021-05-05harness: Extend Harness CLI with classpath optionsFabian Mastenbroek
This change adds support for appending libraries to the classpath when searching for experiments to run using the OpenDC Harness command line interface.
2021-05-05harness: Split harness into separate modulesFabian Mastenbroek
This change splits the OpenDC Experiment Harness into separate modules. This prevents users from pulling in unnecessary dependencies when depending on the harness API.
2021-05-04exp: Fix power draw reportingFabian Mastenbroek
This pull request fixes an issue with the power draw reporting in experiments. Previously, when the power draw of a machine did not change in subsequent metric collection cycles, the power draw would be reported as zero. * Update power draw as soon as the machine is started. * Use OpenTelemetry view to aggregate based on the power draw's last reported value.
2021-05-04exp: Fix aggregation of power drawFabian Mastenbroek
This change fixes the aggregation of the power draw metric. Previously, if the power draw did not change between collection cycles, the power draw would be reported as zero. This change uses OpenTelemetry Views to collect the latest value of the power draw each cycle.
2021-05-04simulator: Update power draw on machine drawFabian Mastenbroek
This change fixes an issue where the power draw of a machine is initially zero and does not update until the CPU usage is higher than zero, while the idle power is the machine is not actually zero.
2021-05-03simulator: Add support for central resource scheduling (#126)Fabian Mastenbroek
This pull request adds support for central resource scheduling. This enables possible optimizations in the future where we can efficiently schedule resource updates. * Introduce `SimResourceScheduler` which centralizes the logic for scheduling resource interrupts. * Fix benchmarks * Add generic approach for reporting resource events * Simplify scheduling logic of resource aggregator. **Breaking API Changes** * Classes in `opendc-simulator-resources` now take `SimResourceScheduler` as opposed to a `CoroutineContext` and `Clock`.
2021-05-03simulator: Introduce SimResourceSchedulerFabian Mastenbroek
This change introduces the SimResourceScheduler interface, which is a generic interface for scheduling the coordination and synchronization between resource providers and resource consumers. This interface replaces the need for users to manually specify the clock and coroutine context per resource provider.