Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Fragment scaling #296

Merged

Conversation

DanteNiewenhuis
Copy link
Contributor

Summary

Added runtime scaling of task fragments.
Before, if a tasks was getting less CPU than demanded, the task would not slow down.

In this update, a new method is added that can slow down a task if they get too little cpu.
How the runtime of a task is delayed is based on the selected ScalingPolicy.
Two Scaling policies are added in this update:

  • NoDelayScaling -> Task always take the same amount of time, regardless of how much cpu they get. This is similar to how OpenDC works at the moment.
  • PerfectScaling -> The runtime of a task is scaled perfectly. This means that if a task demands 2x what it is supplied, it will take 2x as long to finish.

To make the scaling work with checkpointing, the snapshotting had to be updated slightly.
Instead of the making the snapshot always costing 100% of the CPU, it will now demand the same amount of CPU as the max demand in the task.

The Checkpointing tests are updated to reflect this change.

External Dependencies 🍀

N / A

Breaking API Changes ⚠️

N / A

Simply specify none (N/A) if not applicable.

…d so might remove later.

Updated SimTraceWorkload to properly handle creating checkpoints

Fixed a bug with the updatedConsumers in the FlowDistributor

Implemented a first version of scaling the runtime of fragments.
Copy link
Contributor

@sacheendra sacheendra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice! I like the scaling policy idea.

@DanteNiewenhuis DanteNiewenhuis merged commit be96984 into atlarge-research:master Jan 24, 2025
4 checks passed
@DanteNiewenhuis DanteNiewenhuis deleted the fragment-scaling branch January 24, 2025 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

2 participants