| Age | Commit message (Collapse) | Author |
|
This change moves the metric collection outside the Capelin codebase in
a separate module so other modules can also benefit from the compute
metric collection code.
|
|
|
|
|
|
This change updates the compute service to mark servers that cannot be
scheduled as terminated instead of error. Error is instead reserved for
cases where the server is in an error state while running.
|
|
This change fixes an issue in SimHost where guests that where inactive
were also failed, causing an IllegalStateException.
|
|
This change fixes an issue where all servers could not be scheduled due
to the memory size of the host being computed incorrectly.
|
|
This change updates the SimHost implementation to track the up and
downtime of hypervisor guests.
|
|
|
|
This change enables host to overcommit their memory when testing whether
new servers can fit on the host.
|
|
This change adds new metrics for tracking the up and downtime of hosts
due to failures. In addition, this change adds a test to verify whether
the metrics are collected correctly.
|
|
This change adds a metric for the provisioning time of virtual machines
by the compute service.
|
|
Bumps [immer](https://github.com/immerjs/immer) from 9.0.5 to 9.0.6.
- [Release notes](https://github.com/immerjs/immer/releases)
- [Commits](https://github.com/immerjs/immer/compare/v9.0.5...v9.0.6)
---
updated-dependencies:
- dependency-name: immer
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
This change updates the Gradle version of the supplied Gradle wrapper to
version 7.2.
* Update Gradle to version 7.2
* Address incompatibilities with version catalog
* Remove opendc-format module.
|
|
This pull request adds a generic trace reading library to OpenDC.
The library has been designed to support a wide range of trace formats
and uses a streaming approach to improve performance of reading large traces.
* Add trace reading API
* Implement API for GWF format
* Implement API for SWF format
* Implement API for WTF format
* Implement API for Bitbrains format
* Implement API for Bitbrains Parquet format
**Breaking API Changes**
* `opendc-format` has been removed in favour of `opendc-trace-*`
|
|
|
|
This change updates the trace reading classes in the Capelin experiment
to use the new trace API in order to re-use many of the trace reading
parts.
|
|
This change updates the WTF trace reader to support the new streaming
trace API.
|
|
This change updates the SWF trace reader to support the new streaming
trace API.
|
|
This change moves Bitbrains trace support into a separate module and
adds support for the new trace api.
|
|
This change removes the environment reader from the format library since
they are highly specific for the particular experiment. In the future,
we hope to have a single format to setup the entire datacenter (perhaps
similar to the format used by the web runner).
|
|
This change extracts the Parquet helpers outside format module into a
new module, in order to improve re-usability of these helpers.
|
|
This change starts the process of moving the different trace formats into
separate modules. This change in particular moves the GWF trace format
into a new module, opendc-trace-gwf.
Furthermore, this change also implements the trace API for the GWF
module.
|
|
This change introduces a new OpenDC API for reading various trace
formats in a streaming manner.
|
|
Bumps [next](https://github.com/vercel/next.js) from 11.1.0 to 11.1.1.
- [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/v11.1.0...v11.1.1)
---
updated-dependencies:
- 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>
|
|
This change updates the build dependencies of the OpenDC simulator.
* Update Kotlin to 1.5.3.0
* Update dependencies to latest version
|
|
|
|
|
|
This pull request implements power draw reporting in SimHost where
the power draw is computed without PSU overhead.
* Remove usage and speed fields from SimMachine
* Measure power draw without PSU overhead
**Breaking API Changes**
* `SimMachine.usage` and `SimMachine.speed` fields are removed.
|
|
This change updates the SimHost implementation to measure the power draw
of the machine without PSU overhead to make the results more realistic.
|
|
This change removes the usage and speed fields from SimMachine. We
currently use other ways to capture the usage and speed and these fields
cause an additional maintenance burden and performance impact. Hence the
removal of these fields.
|
|
This pull request updates to OpenTelemetry version 1.5.0.
* Update dependency to OpenTelemetry 1.5
* Fix breaking changes in metrics API
* Eliminate unnecessary double to long conversions
* Simplify metric extraction for monitor
|
|
This change updates the metric exporter logic in the Capelin module and
reduces the number of allocations by looping directly over the
collection of metrics.
|
|
This change eliminates the unnecessary conversions from double to long
in the Capelin metric processing code.
|
|
This change eliminates unnecessary double to long conversions in the
simulator. Previously, we used longs to denote the amount of work.
However, in the mean time we have switched to doubles in the lower
stack.
|
|
This change upgrades the OpenTelemetry dependency to version 1.5, which
contains various breaking changes in the metrics API.
|
|
This pull request updates the Capelin experiments to test for interference and failure scenarios.
This allows us to track regressions in these subsystems more easily.
* Clean up Bitbrains trace reader to enable re-use
* Keep trace order after sampling
* Update Bitbrains trace tests
* Add support for reporting interfered work
* Add support for SimHost failure
* Add tests for interference and failures
|
|
This change adds tests to the Capelin integration suite for performance
interference as well as failures. These test more accurately the
experiment setup.
|
|
This change adds support for failures in the SimHost implementation.
Failing a host will now cause the virtual machine to enter an error
state.
|
|
This change adds support to the simulator for reporting the work lost
due to performance interference.
|
|
This change updates the Bitbrains trace tests with the updated trace
that does not hardcode the duration of the trace fragments.
|
|
This change fixes an issue with the workload sampler where the resulting
workload entries would not be ordered properly according to their
submission time.
|
|
This change updates the code for the Bitbrains trace reader and upgrades
the TraceConverter to re-use existing code of the Bitbrains trace
reader.
|
|
This pull request updates the simulator to execute workload traces based on the fragment's timestamps.
This means that traces will execute their timestamps at the correct time.
* Execute traces based on timestamps
* Record overcommit only after deadline exceeded
* Support trace fragments with zero cores available
* Support unaligned trace fragments
**Breaking API Changes**
* `SimTraceWorkload.Fragment` now requires a `timestamp` parameter.
|
|
|
|
This change fixes an issue with the simulator where trace fragments with
zero cores to execute would give a NaN amount of work.
|
|
This change fixes an issue with the simulator where it would record
overcomitted work if the output was updated before the deadline was
reached.
|
|
This change refactors the trace workload in the OpenDC simulator to
track execute a fragment based on the fragment's timestamp. This makes
sure that the trace is replayed identically to the original execution.
|
|
This pull request updates the FilterScheduler in OpenDC Compute to follow
OpenStack's Nova scheduler implementation more closely.
* Normalize weights returned by weighers
* Implement RAM and vCPU overcomitting
* Implement VCPU filter
**Breaking API Changes**
* `MemoryFilter` and `CoreMemoryFilter` renamed to `RamFilter` and `CoreRamFilter`
* `ComputeCapabilityFilter` replaced by `VCpuFilter` and `RamFilter`
|
|
This change updates the FilterScheduler implementation to follow more
closely the scheduler implementation in OpenStack's Nova. We now
normalize the weights, support many of the filters and weights in
OpenStack and support overcommitting resources.
|
|
|