<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/simulator/opendc-experiments/opendc-experiments-capelin/src/test, branch master</title>
<subtitle>The OpenDC BSc thesis repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/'/>
<entry>
<title>build: Migrate to flat project structure</title>
<updated>2021-04-25T14:01:14+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-25T14:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=cd0b45627f0d8da8c8dc4edde223f3c36e9bcfbf'/>
<id>cd0b45627f0d8da8c8dc4edde223f3c36e9bcfbf</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Introduce SimulationCoroutineDispatcher</title>
<updated>2021-04-21T14:37:18+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-21T12:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=1c0568c31d60d4e690b4b9aec2e14f660b72a5c8'/>
<id>1c0568c31d60d4e690b4b9aec2e14f660b72a5c8</id>
<content type='text'>
This change introduces the SimulationCoroutineDispatcher implementation
which replaces the TestCoroutineDispatcher for running single-threaded
simulations.

Previously, we used the TestCoroutineDispatcher from the
kotlinx-coroutines-test modules for running simulations. However, this
module is aimed at coroutine tests and not at simulations.

In particular, having to construct a Clock object each time for the
TestCoroutineDispatcher caused a lot of unnecessary lines. With the new
approach, the SimulationCoroutineDispatcher automatically exposes a
usable Clock object.

In addition to ergonomic benefits, the SimulationCoroutineDispatcher is
much faster than the TestCoroutineDispatcher due to the assumption that
simulations run in only a single thread. As a result, the dispatcher
does not need to perform synchronization and can use the fast
PriorityQueue implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change introduces the SimulationCoroutineDispatcher implementation
which replaces the TestCoroutineDispatcher for running single-threaded
simulations.

Previously, we used the TestCoroutineDispatcher from the
kotlinx-coroutines-test modules for running simulations. However, this
module is aimed at coroutine tests and not at simulations.

In particular, having to construct a Clock object each time for the
TestCoroutineDispatcher caused a lot of unnecessary lines. With the new
approach, the SimulationCoroutineDispatcher automatically exposes a
usable Clock object.

In addition to ergonomic benefits, the SimulationCoroutineDispatcher is
much faster than the TestCoroutineDispatcher due to the assumption that
simulations run in only a single thread. As a result, the dispatcher
does not need to perform synchronization and can use the fast
PriorityQueue implementation.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Migrate to new FilterScheduler</title>
<updated>2021-04-08T18:02:15+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T18:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=4f80e79b567b7d91b1086dcd74ef35616d7177f2'/>
<id>4f80e79b567b7d91b1086dcd74ef35616d7177f2</id>
<content type='text'>
This change migrates the OpenDC codebase to use the new FilterScheduler
for scheduling virtual machines. This removes the old allocation
policies as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change migrates the OpenDC codebase to use the new FilterScheduler
for scheduling virtual machines. This removes the old allocation
policies as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>exp: Fix metric recording of summary data</title>
<updated>2021-04-08T12:19:00+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T10:32:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=6a04ae25ca18f959b8f2b768c8ce2c285ed72c09'/>
<id>6a04ae25ca18f959b8f2b768c8ce2c285ed72c09</id>
<content type='text'>
This change fixes an issue in the metric exporter for summary metrics,
where instead of some average value, the sum value was reported.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes an issue in the metric exporter for summary metrics,
where instead of some average value, the sum value was reported.
</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Divide CPU usage over all cores</title>
<updated>2021-04-08T09:48:57+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T09:47:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=41ad2f2950550fcd95a599bd8869aa191c88396a'/>
<id>41ad2f2950550fcd95a599bd8869aa191c88396a</id>
<content type='text'>
This change fixes an issue in SimTraceWorkload where the CPU usage was
not divided across the cores, but was instead requested for all cores.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes an issue in SimTraceWorkload where the CPU usage was
not divided across the cores, but was instead requested for all cores.
</pre>
</div>
</content>
</entry>
<entry>
<title>exp: Simplify metric reporting via monitor</title>
<updated>2021-04-08T08:15:12+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T08:13:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d0f17b02fe08248e37eda5185eb6c5e40fcb1dcc'/>
<id>d0f17b02fe08248e37eda5185eb6c5e40fcb1dcc</id>
<content type='text'>
This change simplifies the way metrics are reported to the monitor.
Previously, power draw was collected separately from the other metrics.
However, with the migration to OpenTelemetry, we collect all metrics
every 5 minutes, which drastically simplifies the metric gathering
logic.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change simplifies the way metrics are reported to the monitor.
Previously, power draw was collected separately from the other metrics.
However, with the migration to OpenTelemetry, we collect all metrics
every 5 minutes, which drastically simplifies the metric gathering
logic.
</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Move away from StateFlow for low-level monitoring</title>
<updated>2021-04-07T18:38:46+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-07T14:26:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=4e9f72b50473d73f9ca9e30a7fbeb97a8a1c0555'/>
<id>4e9f72b50473d73f9ca9e30a7fbeb97a8a1c0555</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Migrate compute service simulator to OpenTelemetry</title>
<updated>2021-03-27T11:36:18+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-27T11:33:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=5b0eaf76ec00192c755b268b7655f6463c5bc62f'/>
<id>5b0eaf76ec00192c755b268b7655f6463c5bc62f</id>
<content type='text'>
This change updates the compute service simulator to use OpenTelemetry
for reporting metrics of the (simulated) hosts as opposed to using
custom event flows.

This approach is more generic, flexible and possibly offers better
performance as we can collect metrics of all services in a single sweep,
as opposed to listening to several services and each invoking the
handlers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the compute service simulator to use OpenTelemetry
for reporting metrics of the (simulated) hosts as opposed to using
custom event flows.

This approach is more generic, flexible and possibly offers better
performance as we can collect metrics of all services in a single sweep,
as opposed to listening to several services and each invoking the
handlers.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Integrate OpenTelemetry Metrics in OpenDC Compute</title>
<updated>2021-03-26T14:41:05+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-25T20:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=608ff59b2d7e8ce696fe6f7271d80b5efc9c4b87'/>
<id>608ff59b2d7e8ce696fe6f7271d80b5efc9c4b87</id>
<content type='text'>
This change integrates the OpenTelemetry Metrics API in the OpenDC
Compute Service implementation. This replaces the old infrastructure for
gathering metrics.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change integrates the OpenTelemetry Metrics API in the OpenDC
Compute Service implementation. This replaces the old infrastructure for
gathering metrics.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Remove dependency on event tracer</title>
<updated>2021-03-26T14:40:27+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-25T13:49:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0d66ef47d6e1ec0861b4939800c5070f96600ca0'/>
<id>0d66ef47d6e1ec0861b4939800c5070f96600ca0</id>
<content type='text'>
This change removes the dependency on the event tracer in
`opendc-trace`, since we are in the process of migrating OpenDC to
use OpenTelemetry for distributed tracing and metrics.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the dependency on the event tracer in
`opendc-trace`, since we are in the process of migrating OpenDC to
use OpenTelemetry for distributed tracing and metrics.
</pre>
</div>
</content>
</entry>
</feed>
