summaryrefslogtreecommitdiff
path: root/opendc-web
AgeCommit message (Collapse)Author
2025-03-18Made some changes to improve RAM of OpenDC (#318)Dante Niewenhuis
2025-02-06updated logging and added logging for batteries (#301)Dante Niewenhuis
* Updated logging * removed DoubleThresholdBatteryPolicy.java
2025-01-23Added sampleFraction and submissionTime to the workloadSpec (#295)Dante Niewenhuis
* Added sampleFraction and submissionTime to the workloadSpec * Removed commented code
2025-01-22Simplified the WorkloadLoader into a single class that can be extended when ↵Dante Niewenhuis
new workload types are added (#294)
2024-11-03Rewritten the Carbon model (#260)Dante Niewenhuis
2024-10-30Added power sources to OpenDC (#258)Dante Niewenhuis
* 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
2024-10-29Updated all floats to Doubles (#257)Dante Niewenhuis
* 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
2024-10-25Rewrote the FlowEngine (#256)Dante Niewenhuis
* 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
2024-09-16All simulation are now run with a single CPU and single MemoryUnit. multi ↵Dante Niewenhuis
CPUs are combined into one. This is for performance and explainability. (#255)
2024-08-27Renamed input files and internally server is changed to task (#246)Dante Niewenhuis
* 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
2024-05-07Revamped failure models (#228)Dante Niewenhuis
2024-04-29Reworked Scenario.kt to consist of only specifications. The Specs are turned ↵Dante Niewenhuis
into objects when the scenario is being executed by ScenarioRunner.kt (#227)
2024-04-22Merged scenario and portfolio (#220)Radu Nicolae
* 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
2024-04-17Added support for carbon traces (#218)Dante Niewenhuis
* Started with the carbon trace implementation * Moved the carbon trace system to the proper folders
2024-04-16Revamped the trace system. All TraceFormat files are now in the api m… (#216)Dante Niewenhuis
* Revamped the trace system. All TraceFormat files are now in the api module. This fixes some problems with not being able to use types of traces * applied spotless
2024-03-19Scenario and Portfolio update (#209)Dante Niewenhuis
* 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
2024-03-05Cpu fix (#208)Dante Niewenhuis
* Updated the topology format to JSON. Updated TopologyReader.kt to handle JSON filed. Added documentation for the new format. * applied spotless kotlin * small update * Updated for spotless apply * Updated for spotless apply
2024-03-05Updated package versions, updated web server tests. (#207)Dante Niewenhuis
* 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
2024-02-14Updated metrics and parquet output (#195)Dante Niewenhuis
* Updated metrics and parquet output * fixed typos
2024-01-08refactored opendc-experiment-compute (#190)Dante Niewenhuis
* removed experiment-compute and integrated all components into opendc-compute * updated workflow gradle file * removed unneeded code
2023-12-14Updated tests to run successfully (#187)Dante Niewenhuis
* made sure all tests run * fixed typo * executed spotlessApply * added back web-server tests * updated SimTraceWorkloadTest * commented CapelinRunneer and GreenifierRunner tests * commented one SimTraceWorkloadTest * altered codecov execution * changed codecov
2023-10-21build(web): Bump postcss and nextdependabot[bot]
Bumps [postcss](https://github.com/postcss/postcss) to 8.4.31 and updates ancestor dependency [next](https://github.com/vercel/next.js). These dependencies need to be updated together. Updates `postcss` from 8.4.14 to 8.4.31 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.14...8.4.31) Updates `next` from 13.2.4 to 13.5.4 - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v13.2.4...v13.5.4) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect - dependency-name: next dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-30build(web/ui): Bump word-wrap (#150)dependabot[bot]
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27bug(web): Fix rack deletionFabian Mastenbroek
This change fixes #139 which reports that racks cannot be deleted. This was due to the tileId property being dropped in the backend for racks. Instead, we use the tileId passed in the action directly.
2023-03-27bug(web): Do not allow selection of empty unitFabian Mastenbroek
This change fixes #138 which reports that when adding a unit to a machine, if the user does not select a unit and presses add, the UI will crash. We now disable the add button until the user has selected a unit.
2023-03-27bug(web): Fix access to machines on lower shelvesFabian Mastenbroek
This change addresses #137 which reports that machines on shelves lower than the top shelve cannot be accessed and doing so will cause the UI to disappear and an error message to be generated. The issue was caused by using the incorrect logic for selecting the machine at a certain rack position. Fixes #137
2023-03-27bug(web): Do not offset hover layer after draggingFabian Mastenbroek
This change fixes #136 which reported that the grid and cursor will fall out of sync when dragging or moving the grid when placing rooms or objects. Fixes #136
2023-03-26bug(web): Inform user when deleted topology is still usedFabian Mastenbroek
This change fixes #135 which showed that trying to delete a topology used by a scenario would result in nothing happening in the UI and a 500 error being returned by the server. We check whether a scenario still references the topology and show an error to the user if that happens. Fixes #135
2023-03-26build(web): Update dependencies for web UIFabian Mastenbroek
This change updates the dependencies for the web UI to the latest available version where possible.
2023-03-25ci: Test OpenDC on Java 20Fabian Mastenbroek
This change updates the CI pipeline so that Java 20 is being tested with the latest Gradle RC, since Gradle 8.0 does not support it yet.
2023-03-25ci: Migrate to GitHub Container Registry (#143)Fabian Mastenbroek
Docker Inc is sunsetting free team organizations for the Docker registry, which our organization is one of. Instead, a paid subscription is now required to maintain the organization. Given our relatively small usage of the account, it makes more sense to start publishing the container images on the GitHub Container Registry, since it is free for open source projects and integrates well with GitHub Actions. Fixes #141
2023-02-02refactor(web/server): Remove unnecessary service indirectionsFabian Mastenbroek
This change removes the unnecessary service classes where they are only used to forward data from the resource to the entities. Furthermore, DTOs are now moved from the service layer to the resources.
2023-02-01refactor(web/server): Convert resources to JavaFabian Mastenbroek
This change converts the resource classes of the OpenDC web server to use Java, The Quarkus integration for Java is more mature and the programming quality of experience is not that much worse.
2023-02-01refactor(web/server): Use Panache for entity modelingFabian Mastenbroek
This change updates the OpenDC web server to use Panache (provided by Quarkus) to model entities. Such approach is better supported in Quarkus and simplifies our implementation.
2023-02-01refactor(web/server): Convert web server utils to JavaFabian Mastenbroek
This change converts the existing utilities of the web server to Java in preparation for future changes.
2023-02-01refactor(web/server): Migrate to Hypersistence UtilsFabian Mastenbroek
This change updates the web server to use the Hypersistence Utils library instead of our custom code to store columns as JSON in H2 and Postgres.
2023-01-09build(web/ui): Bump json5 from 1.0.1 to 1.0.2 (#124)dependabot[bot]
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-13merge: Increase minimum Java version to 17 (#115)Fabian Mastenbroek
This pull request increases the minimum version of Java required by OpenDC to 17. This new version of Java introduces several new features compared to our old minimum version (11), which we attempt to apply in this conversion. ## Implementation Notes :hammer_and_pick: * Increase minimum Java version to Java 17 * Use RandomGenerator as randomness source * Add common dispatcher interface * Add compatibility with Kotlin coroutines * Use InstantSource as time source * Re-implement SimulationScheduler as Dispatcher * Replace use of CoroutineContext by Dispatcher ## External Dependencies :four_leaf_clover: * Java 17 ## Breaking API Changes :warning: * The use of `CoroutineContext` and `Clock` as parameters of classes has been replaced by the `Dispatcher` interface. * The use of `Clock` has been replaced by `InstantSource` which does not carry time zone info. * The use of `Random` and `SplittableRandom` as parameter type has been replaced by `RandomGenerator`
2022-11-13refactor: Replace use of CoroutineContext by DispatcherFabian Mastenbroek
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.
2022-11-13refactor(sim/core): Re-implement SimulationScheduler as DispatcherFabian Mastenbroek
This change updates the `SimulationScheduler` class to implement the `Dispatcher` interface from the OpenDC Common module, so that OpenDC modules only need to depend on the common module for dispatching future task (possibly in simulation).
2022-11-13build(web/ui): Update dependencies to latest versionFabian Mastenbroek
This change updates the dependencies of the OpenDC web UI to latest version where possible.
2022-11-13refactor(web/ui): Drop dependency on SassFabian Mastenbroek
This change updates the OpenDC web UI to not rely on Sass for stylesheets. CSS in combination with PostCSS has become powerful enough for our use-cases as indicated by the small differences between the CSS and SCSS versions of our files. By switching to CSS, we can make use of Turbopack to build the project, which is a re-implementation of Webppack in Rust and is able to build projects much faster.
2022-10-27fix(web/ui): Disable configuration of basePathFabian Mastenbroek
This change removes the ability to configure the basePath of the Next.js application using the Quarkus extension. This functionality was brittle due to relying on Next.js internals coping with out replacement strategy. We should wait for Next.js to implement proper support for changing the base path at runtime before making this functionality available again.
2022-10-27fix(web/ui): Default to anonymous auth domainFabian Mastenbroek
This change updates the auth code in the OpenDC web UI to default to the anonymous auth domain if no configuration is provided.
2022-10-27docs(web/ui): Update READMEFabian Mastenbroek
This change updates the README to match the updated build process for the web interface.
2022-10-27build(web/ui): Ensure consistency of build tasksFabian Mastenbroek
This change updates the build script for the web UI to use consistent names for the build tasks.
2022-10-27build(web/ui): Update to Node 18Fabian Mastenbroek
This change updates the build process to use Node 18 for building the web application.
2022-10-27build(web/ui): Do not optimize images for exportFabian Mastenbroek
This change disables optimizing images for exporting, since we do not want to depend on an external service.
2022-10-27fix(web/ui): Make root redirect non-permanentFabian Mastenbroek
This change makes the root redirect to the projects page temporary, to prevent browsers from caching this route indefinitely, while we might add a home page in the future.
2022-10-27fix(web/ui): Drop dependency on Roboto fontFabian Mastenbroek
This change removes the dependency on the Roboto font which was downloaded for every page of OpenDC. Since we do not actually use this font in any of our page, we can safely drop the dependency.