<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/simulator/opendc-compute, 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>simulator: Introduce SimProcessingUnit</title>
<updated>2021-04-14T20:29:15+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-14T20:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=888a89efd3b639ce0ff48c35233ba95fed79bfc3'/>
<id>888a89efd3b639ce0ff48c35233ba95fed79bfc3</id>
<content type='text'>
This change introduces the SimProcessingUnit which represents a
simulated processing unit which the user can control during the workload
execution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change introduces the SimProcessingUnit which represents a
simulated processing unit which the user can control during the workload
execution.
</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>compute: Implement filter scheduler</title>
<updated>2021-04-08T17:56:47+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T17:56:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d0f5200cf378a0d7f9397526f0db0695bdc34dd2'/>
<id>d0f5200cf378a0d7f9397526f0db0695bdc34dd2</id>
<content type='text'>
This change adds an implementation of the filter scheduler to the OpenDC
Compute module. This is modeled after the filter scheduler
implementation in OpenStack and should allow for more flexible
scheduling policies.

See: https://docs.openstack.org/nova/latest/user/filter-scheduler.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds an implementation of the filter scheduler to the OpenDC
Compute module. This is modeled after the filter scheduler
implementation in OpenStack and should allow for more flexible
scheduling policies.

See: https://docs.openstack.org/nova/latest/user/filter-scheduler.html
</pre>
</div>
</content>
</entry>
<entry>
<title>exp: Add experiment for OpenDC Energy project</title>
<updated>2021-04-08T12:29:32+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-30T20:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=638dd7a33d5f7f0b8fcca9c99cdc92819cf0847c'/>
<id>638dd7a33d5f7f0b8fcca9c99cdc92819cf0847c</id>
<content type='text'>
This change adds an experiment for the OpenDC Energy project, which
tests various energy models that have been implemented in OpenDC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds an experiment for the OpenDC Energy project, which
tests various energy models that have been implemented in OpenDC.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Use BatchRecorder to emit metrics</title>
<updated>2021-04-08T10:33:10+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T10:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=8deb1fbff56f9aee0b5f0114c026fb4e57d53f95'/>
<id>8deb1fbff56f9aee0b5f0114c026fb4e57d53f95</id>
<content type='text'>
This change updates the SimHost implementation to use BatchRecorder to
batch record multiple metrics at once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the SimHost implementation to use BatchRecorder to
batch record multiple metrics at once.
</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>compute: Fix random allocation policy</title>
<updated>2021-04-08T08:40:46+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-08T08:39:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=2ed3ad44885c93287d4ef9c7996db73f1d49d62d'/>
<id>2ed3ad44885c93287d4ef9c7996db73f1d49d62d</id>
<content type='text'>
This change fixes an issue in the RandomAllocationPolicy where it would
incorrectly obtain the required memory for the server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes an issue in the RandomAllocationPolicy where it would
incorrectly obtain the required memory for the server.
</pre>
</div>
</content>
</entry>
</feed>
