<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/simulator/opendc-utils/src/main/kotlin, 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>utils: Prevent use of Intrinsics.areEqual in scheduler hot path</title>
<updated>2021-04-07T19:22:01+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-04-07T19:20:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=3d707674ddfa96ae5c090a7c918350b0bef9b50f'/>
<id>3d707674ddfa96ae5c090a7c918350b0bef9b50f</id>
<content type='text'>
This change changes the TimerScheduler implementation to prevent calling
Intrinsics.areEqual in the hot path. Profiling shows that especially
this call has a high overhead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change changes the TimerScheduler implementation to prevent calling
Intrinsics.areEqual in the hot path. Profiling shows that especially
this call has a high overhead.
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Cache variables in TimerScheduler's hot paths</title>
<updated>2021-04-07T14:31:47+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-27T11:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=95a0ed6911f136fb25bb76d6b6e010bf66b8ba5b'/>
<id>95a0ed6911f136fb25bb76d6b6e010bf66b8ba5b</id>
<content type='text'>
This change updates the TimerScheduler implementation to cache several
variables in the hot paths of the implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the TimerScheduler implementation to cache several
variables in the hot paths of the implementation.
</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>simulator: Re-design consumer interface to support capacity negotiation</title>
<updated>2021-03-22T15:47:56+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-18T15:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=9dab4d7b3921cd48199d773c7dc4bae0f2273223'/>
<id>9dab4d7b3921cd48199d773c7dc4bae0f2273223</id>
<content type='text'>
This change re-designs the SimResourceConsumer interface to support in
the future capacity negotiation. This basically means that the consumer
will be informed directly when not enough capacity is available, instead
of after the deadline specified by the consumer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change re-designs the SimResourceConsumer interface to support in
the future capacity negotiation. This basically means that the consumer
will be informed directly when not enough capacity is available, instead
of after the deadline specified by the consumer.
</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Make hypervisors generic for the resource type</title>
<updated>2021-03-17T15:23:48+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-17T15:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=bb3b8e207a08edff81b8c2fe30b476c94bfea086'/>
<id>bb3b8e207a08edff81b8c2fe30b476c94bfea086</id>
<content type='text'>
This change moves the hypervisor implementations to the
opendc-simulator-resources module and makes them generic to the resource
type that is being used (e.g., CPU, disk or networking).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change moves the hypervisor implementations to the
opendc-simulator-resources module and makes them generic to the resource
type that is being used (e.g., CPU, disk or networking).
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Prevent memory leakage in TimerScheduler</title>
<updated>2021-03-16T19:13:51+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-16T19:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=9ab482d0afd773703f78d51a2ba8a160896f03c6'/>
<id>9ab482d0afd773703f78d51a2ba8a160896f03c6</id>
<content type='text'>
This change fixes a possible memory leakage issue in TimerScheduler when
a large number of timers was scheduled for the same timestamp.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes a possible memory leakage issue in TimerScheduler when
a large number of timers was scheduled for the same timestamp.
</pre>
</div>
</content>
</entry>
<entry>
<title>simulator: Add generic framework for resource consumption modeling</title>
<updated>2021-03-16T11:06:40+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2020-12-30T13:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=6a2a5423479696e8dc28885be27cc3e3252f28b0'/>
<id>6a2a5423479696e8dc28885be27cc3e3252f28b0</id>
<content type='text'>
This change adds a generic framework for modeling resource consumptions and
adapts opendc-simulator-compute to model machines and VMs on top of
this framework.

This framework anticipates the addition of additional resource types
such as memory, disk and network to the OpenDC codebase.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds a generic framework for modeling resource consumptions and
adapts opendc-simulator-compute to model machines and VMs on top of
this framework.

This framework anticipates the addition of additional resource types
such as memory, disk and network to the OpenDC codebase.
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Remove unused StateFlow</title>
<updated>2021-03-09T16:24:08+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-09T16:21:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=79f37dd7d5184d2b8bf7cbe08da00785e4daed02'/>
<id>79f37dd7d5184d2b8bf7cbe08da00785e4daed02</id>
<content type='text'>
This change removes the unused StateFlow from the utils module. It has
been replaced by the proper implementation in the kotlinx-coroutines
library.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the unused StateFlow from the utils module. It has
been replaced by the proper implementation in the kotlinx-coroutines
library.
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Separate cloud compute layer from bare-metal layer</title>
<updated>2021-03-07T15:13:13+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-03-02T20:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=e85a11645a2262e2e6fd1e3570ad001eb805c85f'/>
<id>e85a11645a2262e2e6fd1e3570ad001eb805c85f</id>
<content type='text'>
This change separates the cloud compute layer in OpenDC (e.g., Server)
from the bare-metal layer (e.g., Node), such that Node and
BareMetalDriver are unaware of the existence of Server and co.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change separates the cloud compute layer in OpenDC (e.g., Server)
from the bare-metal layer (e.g., Node), such that Node and
BareMetalDriver are unaware of the existence of Server and co.
</pre>
</div>
</content>
</entry>
</feed>
