<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/simulator/opendc-simulator/opendc-simulator-core, 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: 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>Use Java Platform for shared dependency constraints</title>
<updated>2021-02-23T20:40:53+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-02-23T20:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=15fcd1a10018605f59ca7a644b8f3b3960e7b6b0'/>
<id>15fcd1a10018605f59ca7a644b8f3b3960e7b6b0</id>
<content type='text'>
This change uses the Java Platform functionality from Gradle to enable
shared dependency constraints across modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change uses the Java Platform functionality from Gradle to enable
shared dependency constraints across modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>Utilize version constraints for shared versions</title>
<updated>2021-02-23T12:04:41+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-02-23T11:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=2119427fe6f7874867c6985cacda28befc53436b'/>
<id>2119427fe6f7874867c6985cacda28befc53436b</id>
<content type='text'>
This change updates the Gradle configuration to utilize version
constraints to force the same dependency version across modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the Gradle configuration to utilize version
constraints to force the same dependency version across modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move dependency versions to gradle.properties</title>
<updated>2021-02-23T11:12:36+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-02-23T11:05:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=90de768b8bfb3acc222f508d2e602ef3b7f1ff91'/>
<id>90de768b8bfb3acc222f508d2e602ef3b7f1ff91</id>
<content type='text'>
This change moves the version of the dependencies from buildSrc to
gradle.properties to prevent recompilation when changing dependency
versions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change moves the version of the dependencies from buildSrc to
gradle.properties to prevent recompilation when changing dependency
versions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract testing conventions from Kotlin conventions</title>
<updated>2021-02-23T10:46:06+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-02-23T10:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0b092b352dc29ce69f6f126eb7857a1243a6ef62'/>
<id>0b092b352dc29ce69f6f126eb7857a1243a6ef62</id>
<content type='text'>
This change extracts the configuration for test from the Kotlin library
conventions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change extracts the configuration for test from the Kotlin library
conventions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add opendc-simulator-compute module</title>
<updated>2020-10-02T18:57:35+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2020-10-01T22:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=76c5d27618181c4ec9cf86085c65b5e69f5f9109'/>
<id>76c5d27618181c4ec9cf86085c65b5e69f5f9109</id>
<content type='text'>
This change adds an opendc-simulator-compute module which contains
interfaces related to simulating compute workloads. For future changes,
we intend to decouple the simulation part from the opendc-compute
module.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds an opendc-simulator-compute module which contains
interfaces related to simulating compute workloads. For future changes,
we intend to decouple the simulation part from the opendc-compute
module.
</pre>
</div>
</content>
</entry>
</feed>
