summaryrefslogtreecommitdiff
path: root/simulator/opendc-simulator/opendc-simulator-resources/src/main
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-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-03-26simulator: Cache remaining workFabian Mastenbroek
This change updates the resource model implementation to cache the remaining work field, which was being computed multiple times during the same cycle.
2021-03-23simulator: Add support for transforming resource consumersFabian Mastenbroek
This change adds support for transforming the resource commands emitted by the resource consumers. The SimResourceForwarder is modified to also support transforming the resource commands.
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-23simulator: Add support for signaling dynamic capacity changesFabian Mastenbroek
This change adds support for dynamically changing the capacity of resources and propagating this change to consumers.
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-22simulator: Expose capacity and remaining work outside consumer callbackFabian Mastenbroek
This change changes the consumer and context interfaces to expose the provider capacity and remaining work via the context instance as opposed to only via the callback. This simplifies aggregation of resources.
2021-03-22simulator: Re-design consumer interface to support capacity negotiationFabian Mastenbroek
This change re-designs the SimResourceConsumer interface to support in the future capacity negotiation. This basically means that the consumer will be informed directly when not enough capacity is available, instead of after the deadline specified by the consumer.
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.