<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/opendc-simulator/opendc-simulator-resources, 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>refactor(simulator): Migrate to flow-based simulation</title>
<updated>2021-10-03T15:17:39+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T21:56:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=4cc1d40d421c8736f8b21b360b61d6b065158b7a'/>
<id>4cc1d40d421c8736f8b21b360b61d6b065158b7a</id>
<content type='text'>
This change renames the `opendc-simulator-resources` module into the
`opendc-simulator-flow` module to indicate that the core simulation
model of OpenDC is based around modelling and simulating flows.

Previously, the distinction between resource consumer and provider, and
input and output caused some confusion. By switching to a flow-based
model, this distinction is now clear (as in, the water flows from source
to consumer/sink).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change renames the `opendc-simulator-resources` module into the
`opendc-simulator-flow` module to indicate that the core simulation
model of OpenDC is based around modelling and simulating flows.

Previously, the distinction between resource consumer and provider, and
input and output caused some confusion. By switching to a flow-based
model, this distinction is now clear (as in, the water flows from source
to consumer/sink).
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Remove transform from SimResourceForwarder</title>
<updated>2021-10-03T15:17:39+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T20:20:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=dd605ab1f70fef1fbbed848e8ebbd6b231622273'/>
<id>dd605ab1f70fef1fbbed848e8ebbd6b231622273</id>
<content type='text'>
This change removes the ability to transform the duration of a pull from
the SimResourceForwarder class. This ability is not used anymore, since
pushes are now done using a method instead of a command.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the ability to transform the duration of a pull from
the SimResourceForwarder class. This ability is not used anymore, since
pushes are now done using a method instead of a command.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Merge distributor and aggregator into switch</title>
<updated>2021-10-03T15:17:39+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T20:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d2f15fd7fd16922c11b0dcaa8807e8a321859773'/>
<id>d2f15fd7fd16922c11b0dcaa8807e8a321859773</id>
<content type='text'>
This change removes the distributor and aggregator interfaces in favour
of a single switch interface. Since the switch interface is as powerful
as both the distributor and aggregator, we don't need the latter two.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the distributor and aggregator interfaces in favour
of a single switch interface. Since the switch interface is as powerful
as both the distributor and aggregator, we don't need the latter two.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Remove SimResourceFlow interface</title>
<updated>2021-10-03T15:17:38+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T13:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0272738f3ba5faeb0b5463464ff2d961136bb317'/>
<id>0272738f3ba5faeb0b5463464ff2d961136bb317</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Do not expose SimResourceState</title>
<updated>2021-10-03T15:17:38+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T13:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=7703fc9fcc847208b1803a58d9eaa5938d2c77a1'/>
<id>7703fc9fcc847208b1803a58d9eaa5938d2c77a1</id>
<content type='text'>
This change hides the SimResourceState from public API since it is not
actively used outside of the `SimResourceContextImpl` class.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change hides the SimResourceState from public API since it is not
actively used outside of the `SimResourceContextImpl` class.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Remove onUpdate callback</title>
<updated>2021-10-03T15:17:38+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-27T12:22:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=e07a5357013b92377a840b4d0d394d0ef6605b26'/>
<id>e07a5357013b92377a840b4d0d394d0ef6605b26</id>
<content type='text'>
This change removes the `onUpdate` callback from the
`SimResourceProviderLogic` interface. Instead, users should now update
counters using either `onConsume` or `onConverge`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the `onUpdate` callback from the
`SimResourceProviderLogic` interface. Instead, users should now update
counters using either `onConsume` or `onConverge`.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Lazily push changes to resource context</title>
<updated>2021-10-03T15:17:38+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T08:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=15899c88d29c039149f701e7f0d538a49a436599'/>
<id>15899c88d29c039149f701e7f0d538a49a436599</id>
<content type='text'>
This change updates the SimResourceContextImpl to lazily push changes to
the resource context instead of applying them directly. The change is
picked up after the resource is updated again.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the SimResourceContextImpl to lazily push changes to
the resource context instead of applying them directly. The change is
picked up after the resource is updated again.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Invoke consumer callback on every invalidation</title>
<updated>2021-10-03T15:17:37+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-28T20:10:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d031a70f8bea02a86df7840c5ce731185df86883'/>
<id>d031a70f8bea02a86df7840c5ce731185df86883</id>
<content type='text'>
This change updates the simulator implementation to always invoke the
`SimResourceConsumer.onNext` callback when the resource context is
invalidated. This allows users to update the resource counter or do some
other work if the context has changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the simulator implementation to always invoke the
`SimResourceConsumer.onNext` callback when the resource context is
invalidated. This allows users to update the resource counter or do some
other work if the context has changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(simulator): Simplify max-min aggregator implementation</title>
<updated>2021-10-03T15:17:37+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T15:06:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d3b0b551362eb677c12047cba82a6279ea4608b4'/>
<id>d3b0b551362eb677c12047cba82a6279ea4608b4</id>
<content type='text'>
This change simplifies the implementation of the
SimResourceAggregatorMaxMin class by utilizing the new push method.
This approach should offer better performance than the previous version,
since we can directly push changes to the source.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change simplifies the implementation of the
SimResourceAggregatorMaxMin class by utilizing the new push method.
This approach should offer better performance than the previous version,
since we can directly push changes to the source.
</pre>
</div>
</content>
</entry>
<entry>
<title>perf(simulator): Reduce memory allocations in SimResourceInterpreter</title>
<updated>2021-10-03T15:17:37+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-09-29T14:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=657deac134f7b9ee30ed7e2b7667e30f3b17f79f'/>
<id>657deac134f7b9ee30ed7e2b7667e30f3b17f79f</id>
<content type='text'>
This change removes unnecessary allocations in the SimResourceInterpreter
caused by the way timers were allocated for the resource context.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes unnecessary allocations in the SimResourceInterpreter
caused by the way timers were allocated for the resource context.
</pre>
</div>
</content>
</entry>
</feed>
