<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/opendc-compute/opendc-compute-api/src, 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>Memory update (#379)</title>
<updated>2025-11-04T20:09:38+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2025-11-04T20:09:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=71f63618fb83c8e19ae48d5dc4a6e3927031cc10'/>
<id>71f63618fb83c8e19ae48d5dc4a6e3927031cc10</id>
<content type='text'>
* Updated the memory usage of Tasks. Still in Progress.

* Merged Task and ServiceTask -&gt; Currently not fully working!!!

* Fixed bugs that made the merger between Task and ServiceTask not work well.

* Updated jdk version for Dockerfile

* Removed ServiceFlavor.java and Task.kt</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Updated the memory usage of Tasks. Still in Progress.

* Merged Task and ServiceTask -&gt; Currently not fully working!!!

* Fixed bugs that made the merger between Task and ServiceTask not work well.

* Updated jdk version for Dockerfile

* Removed ServiceFlavor.java and Task.kt</pre>
</div>
</content>
</entry>
<entry>
<title>updated workflow implementation for performance (#368)</title>
<updated>2025-09-16T16:41:42+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2025-09-16T16:41:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=13a3f376fec17d5dcb60b635414c64a6d6ea3b13'/>
<id>13a3f376fec17d5dcb60b635414c64a6d6ea3b13</id>
<content type='text'>
* Updated the workflow system for performance. Added workflow specific tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Updated the workflow system for performance. Added workflow specific tests.</pre>
</div>
</content>
</entry>
<entry>
<title>Updated workload schema (#360)</title>
<updated>2025-07-22T13:47:44+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2025-07-22T13:47:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=e22c97dcca7478d6941b78bdf7cd873bc0d23cdc'/>
<id>e22c97dcca7478d6941b78bdf7cd873bc0d23cdc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added Workflows (#359)</title>
<updated>2025-07-16T14:56:28+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2025-07-16T14:56:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0c0cf25616771cd40a9e401edcba4a5e5016f76e'/>
<id>0c0cf25616771cd40a9e401edcba4a5e5016f76e</id>
<content type='text'>
* Implemented Workflows for OpenDC</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Implemented Workflows for OpenDC</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented Single GPU Support &amp; outline of host-level allocation policies (#342)</title>
<updated>2025-06-22T10:31:21+00:00</updated>
<author>
<name>Niels Thiele</name>
<email>noleu66@posteo.net</email>
</author>
<published>2025-06-22T10:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0203254b709614fa732c114aa25916f61b8b3275'/>
<id>0203254b709614fa732c114aa25916f61b8b3275</id>
<content type='text'>
* renamed performance counter to distinguish different resource types

* added GPU, modelled similar to CPU

* added GPUs to machine model

* list of GPUs instead of single instance

* renamed memory speed to bandwidth

* enabled parsing of GPU resources

* split powermodel into cpu and GPU powermodel

* added gpu parsing tests

* added idea of host level scheduling

* added tests for multi gpu parsing

* renamed powermodel to cpupowermodel

* clarified naming of cpu and gpu components

* added resource type to flow suplier and edge

* added resourcetype

* added GPU components and resource type to fragments

* added GPU to workload and updated resource usage retrieval

* implemented first version of multi resource

* added name to workload

* renamed perfomance counters

* removed commented out code

* removed deprecated comments

* included demand and supply into calculations

* resolving rebase mismatches

* moved resource type from flowedge class to common package

* added available resources to machinees

* cleaner separation if workload is started of simmachine or vm

* Replaced exception with dedicated enum

* Only looping over resources that are actually used

* using hashmaps to handle resourcetype instead of arrays for readability

* fixed condition

* tracking finished workloads per resource type

* removed resource type from flowedge

* made supply and demand distribution resource specific

* added power model for GPU

* removed unused test setup

* removed depracated comments

* removed unused parameter

* added ID for GPU

* added GPUs and GPU performance counters (naively)

* implemented capturing of GPU statistics

* added reminders for future implementations

* renamed properties for better identification

* added capturing GPU statistics

* implemented first tests for GPUs

* unified access to performance counters

* added interface for general compute resource handling

* implemented multi resource support in simmachine

* added individual edge to VM per resource

* extended compute resource interface

* implemented multi-resource support in PSU

* implemented generic retrieval of computeresources

* implemented mult-resource suppport in vm

* made method use more resource specific

* implemented simple GPU tests

* rolled back frquency and demand use

* made naming independent of used resource

* using workloads resources instead of VMs to determine available resource

* implemented determination of used resources in workload

* removed logging statements

* implemented reading from workload

* fixed naming for host-level allocation

* fixed next deadline calculation

* fixed forwarding supply

* reduced memory footprint

* made GPU powermodel nullable

* maded Gpu powermodel configurable in topology

* implemented tests for basic gpu scheduler

* added gpu properties

* implemented weights, filter and simple cpu-gpu scheduler

* spotless apply

* spotless apply pt. 2

* fixed capitalization

* spotless kotlin run

* implemented coloumn export

* todo update

* removed code comments

* Merged PerformanceCounter classes into one &amp; removed interface

* removed GPU  specific powermodel

* Rebase master: kept both versions of TopologyFactories

* renamed CpuPowermodel to resource independent Powermodel

Moved it from Cpu package to power package

* implementated default of getResourceType &amp; removed overrides if possible

* split getResourceType into Consumer and Supplier

* added power as resource type

* reduced supply demand from arrayList to single value

* combining GPUs into one large GPU, until full multi-gpu support

* merged distribution policy enum with corresponding factory

* added comment

* post-rebase fixes

* aligned naming

* Added GPU metrics to task output

* Updates power resource type to uppercase.

Standardizes the `ResourceType.Power` enum to `ResourceType.POWER`
for consistency with other resource types and improved readability.

* Removes deprecated test assertions

Removes commented-out assertions in GPU tests.

These assertions are no longer needed and clutter the test code.

* Renames MaxMinFairnessStrategy to Policy

Renames MaxMinFairnessStrategy to MaxMinFairnessPolicy for
clarity and consistency with naming conventions. This change
affects the factory and distributor to use the updated name.

* applies spotless

* nulls GPUs as it is not used</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* renamed performance counter to distinguish different resource types

* added GPU, modelled similar to CPU

* added GPUs to machine model

* list of GPUs instead of single instance

* renamed memory speed to bandwidth

* enabled parsing of GPU resources

* split powermodel into cpu and GPU powermodel

* added gpu parsing tests

* added idea of host level scheduling

* added tests for multi gpu parsing

* renamed powermodel to cpupowermodel

* clarified naming of cpu and gpu components

* added resource type to flow suplier and edge

* added resourcetype

* added GPU components and resource type to fragments

* added GPU to workload and updated resource usage retrieval

* implemented first version of multi resource

* added name to workload

* renamed perfomance counters

* removed commented out code

* removed deprecated comments

* included demand and supply into calculations

* resolving rebase mismatches

* moved resource type from flowedge class to common package

* added available resources to machinees

* cleaner separation if workload is started of simmachine or vm

* Replaced exception with dedicated enum

* Only looping over resources that are actually used

* using hashmaps to handle resourcetype instead of arrays for readability

* fixed condition

* tracking finished workloads per resource type

* removed resource type from flowedge

* made supply and demand distribution resource specific

* added power model for GPU

* removed unused test setup

* removed depracated comments

* removed unused parameter

* added ID for GPU

* added GPUs and GPU performance counters (naively)

* implemented capturing of GPU statistics

* added reminders for future implementations

* renamed properties for better identification

* added capturing GPU statistics

* implemented first tests for GPUs

* unified access to performance counters

* added interface for general compute resource handling

* implemented multi resource support in simmachine

* added individual edge to VM per resource

* extended compute resource interface

* implemented multi-resource support in PSU

* implemented generic retrieval of computeresources

* implemented mult-resource suppport in vm

* made method use more resource specific

* implemented simple GPU tests

* rolled back frquency and demand use

* made naming independent of used resource

* using workloads resources instead of VMs to determine available resource

* implemented determination of used resources in workload

* removed logging statements

* implemented reading from workload

* fixed naming for host-level allocation

* fixed next deadline calculation

* fixed forwarding supply

* reduced memory footprint

* made GPU powermodel nullable

* maded Gpu powermodel configurable in topology

* implemented tests for basic gpu scheduler

* added gpu properties

* implemented weights, filter and simple cpu-gpu scheduler

* spotless apply

* spotless apply pt. 2

* fixed capitalization

* spotless kotlin run

* implemented coloumn export

* todo update

* removed code comments

* Merged PerformanceCounter classes into one &amp; removed interface

* removed GPU  specific powermodel

* Rebase master: kept both versions of TopologyFactories

* renamed CpuPowermodel to resource independent Powermodel

Moved it from Cpu package to power package

* implementated default of getResourceType &amp; removed overrides if possible

* split getResourceType into Consumer and Supplier

* added power as resource type

* reduced supply demand from arrayList to single value

* combining GPUs into one large GPU, until full multi-gpu support

* merged distribution policy enum with corresponding factory

* added comment

* post-rebase fixes

* aligned naming

* Added GPU metrics to task output

* Updates power resource type to uppercase.

Standardizes the `ResourceType.Power` enum to `ResourceType.POWER`
for consistency with other resource types and improved readability.

* Removes deprecated test assertions

Removes commented-out assertions in GPU tests.

These assertions are no longer needed and clutter the test code.

* Renames MaxMinFairnessStrategy to Policy

Renames MaxMinFairnessStrategy to MaxMinFairnessPolicy for
clarity and consistency with naming conventions. This change
affects the factory and distributor to use the updated name.

* applies spotless

* nulls GPUs as it is not used</pre>
</div>
</content>
</entry>
<entry>
<title>Support carbon forecasting in timeshift (#327)</title>
<updated>2025-03-27T15:14:39+00:00</updated>
<author>
<name>Sacheendra Talluri</name>
<email>sacheendra.t@gmail.com</email>
</author>
<published>2025-03-27T15:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=b20dd5ebb48465470b9632dc92ecfb1794a8a4bf'/>
<id>b20dd5ebb48465470b9632dc92ecfb1794a8a4bf</id>
<content type='text'>
* Remove task from scheduler bookkeeping after failure

* Support carbon forecasting in timeshift

* Register scheduler and carbonmodel in context

* Preliminary working task stopping; carbon intensity bug

* Working carbon based stop. Two timeshift thresholds

* Add a pause state task and guest

* Move task stopper to allocation spec

* Start tracking num pauses</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove task from scheduler bookkeeping after failure

* Support carbon forecasting in timeshift

* Register scheduler and carbonmodel in context

* Preliminary working task stopping; carbon intensity bug

* Working carbon based stop. Two timeshift thresholds

* Add a pause state task and guest

* Move task stopper to allocation spec

* Start tracking num pauses</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrote the  FlowEngine (#256)</title>
<updated>2024-10-25T11:32:41+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2024-10-25T11:32:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=5a365dbc068f2a8cdfa9813c39cc84bb30e15637'/>
<id>5a365dbc068f2a8cdfa9813c39cc84bb30e15637</id>
<content type='text'>
* Removed unused components. Updated tests.

Improved checkpointing model

Improved model, started with SimPowerSource

implemented FailureModels and Checkpointing

First working version

midway commit

first update

All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability.

* fixed merge conflicts

* Updated M3SA paths.

* Fixed small typo</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Removed unused components. Updated tests.

Improved checkpointing model

Improved model, started with SimPowerSource

implemented FailureModels and Checkpointing

First working version

midway commit

first update

All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability.

* fixed merge conflicts

* Updated M3SA paths.

* Fixed small typo</pre>
</div>
</content>
</entry>
<entry>
<title>Added max number of failures (#254)</title>
<updated>2024-09-12T13:32:47+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2024-09-12T13:32:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=5047e4a25a0814f96852882f02c4017e1d5f81e7'/>
<id>5047e4a25a0814f96852882f02c4017e1d5f81e7</id>
<content type='text'>
* Added a max failure for tasks. If tasks fail more times, they get cancelled

* Added maxNumFailures to the frontend

* Updated tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added a max failure for tasks. If tasks fail more times, they get cancelled

* Added maxNumFailures to the frontend

* Updated tests</pre>
</div>
</content>
</entry>
<entry>
<title>Renamed input files and internally server is changed to task (#246)</title>
<updated>2024-08-27T11:48:46+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2024-08-27T11:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=3363df4c72a064e590ca98f8e01832cfa4e15a3f'/>
<id>3363df4c72a064e590ca98f8e01832cfa4e15a3f</id>
<content type='text'>
* Updated SimTrace to use a single ArrayDeque instead of three separate lists for deadline, cpuUsage, and coreCount

* Renamed input files to tasks.parquet and fragments.parquet. Renamed server to task. OpenDC nows exports tasks.parquet instead of server.parquet</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Updated SimTrace to use a single ArrayDeque instead of three separate lists for deadline, cpuUsage, and coreCount

* Renamed input files to tasks.parquet and fragments.parquet. Renamed server to task. OpenDC nows exports tasks.parquet instead of server.parquet</pre>
</div>
</content>
</entry>
<entry>
<title>Revamped failure models (#228)</title>
<updated>2024-05-07T10:33:39+00:00</updated>
<author>
<name>Dante Niewenhuis</name>
<email>d.niewenhuis@hotmail.com</email>
</author>
<published>2024-05-07T10:33:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=ad20465a5df47b49561bb0afbdda5cd65c5da4b8'/>
<id>ad20465a5df47b49561bb0afbdda5cd65c5da4b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
