<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/simulator/opendc-runner-web, 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 (#120)</title>
<updated>2021-04-21T15:00:09+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-21T15:00:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=10dfc257de65cbbd1e25d1d7f5833bfb687d85ed'/>
<id>10dfc257de65cbbd1e25d1d7f5833bfb687d85ed</id>
<content type='text'>
This change introduces the SimulationCoroutineDispatcher implementation which replaces the TestCoroutineDispatcher for running single-threaded simulations.</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.</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Migrate to 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-21T14:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=62678b2890a7f3640836b99ca2fec9efd7485929'/>
<id>62678b2890a7f3640836b99ca2fec9efd7485929</id>
<content type='text'>
This change migrates the remainder of the codebase to the
SimulationCoroutineDispatcher implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change migrates the remainder of the codebase to the
SimulationCoroutineDispatcher implementation.
</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>exp: Re-use topology across repeats</title>
<updated>2021-04-15T12:25:23+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-15T12:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=288c6c18c24b27dee230d31f0dd036b199722302'/>
<id>288c6c18c24b27dee230d31f0dd036b199722302</id>
<content type='text'>
This change modifies the web runner to construct the topology only once
per repeat, given that the construction does not depend on the repeat
number.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change modifies the web runner to construct the topology only once
per repeat, given that the construction does not depend on the repeat
number.
</pre>
</div>
</content>
</entry>
<entry>
<title>exp: Fix incorrect filter scheduler weights</title>
<updated>2021-04-14T20:33:11+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-14T20:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=86b5df211938a8f9a391f143ccab5ccdf4a5d59e'/>
<id>86b5df211938a8f9a391f143ccab5ccdf4a5d59e</id>
<content type='text'>
This change fixes an issue where incorrect scheduling weights were
applied to the filter scheduler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes an issue where incorrect scheduling weights were
applied to the filter scheduler.
</pre>
</div>
</content>
</entry>
<entry>
<title>exp: Simplify power usage calculation</title>
<updated>2021-04-14T15:02:53+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-14T15:02:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=79976e08aec24a8b773739036db05843aabb6a61'/>
<id>79976e08aec24a8b773739036db05843aabb6a61</id>
<content type='text'>
This change simplifies the conversion from power to energy consumption
used in the web runner. Now, we convert straight from J to Wh.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change simplifies the conversion from power to energy consumption
used in the web runner. Now, we convert straight from J to Wh.
</pre>
</div>
</content>
</entry>
<entry>
<title>harness: Enable failures only on request</title>
<updated>2021-04-14T15:00:56+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-14T15:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=eab45064155fd7823a31cba1e779501616475b55'/>
<id>eab45064155fd7823a31cba1e779501616475b55</id>
<content type='text'>
This changes fixes a bug where the simulator obtained the incorrect
failure frequency causing failures to be enabled even when the user
disabled it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes fixes a bug where the simulator obtained the incorrect
failure frequency causing failures to be enabled even when the user
disabled it.
</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: 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>
</feed>
