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

feat: Reduce DTS slice limit for regular messages on system subnets #621

Merged
merged 4 commits into from
Jul 31, 2024

Conversation

dsarlis
Copy link
Member

@dsarlis dsarlis commented Jul 25, 2024

This is a follow-up change to further decrease the DTS slice limit on system subnets for regular messages. The value is set to 2B instructions to match the setting on application subnets.

install_code messages still use the bigger slice limit until the checkpoint interval is adjusted and we can afford reducing that as well. This will change in a future PR.

@github-actions github-actions bot added the feat label Jul 25, 2024
@dsarlis dsarlis marked this pull request as ready for review July 26, 2024 08:23
@dsarlis dsarlis requested review from a team as code owners July 26, 2024 08:23
Copy link
Contributor

@ulan ulan left a comment

Choose a reason for hiding this comment

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

🚀

@schneiderstefan
Copy link
Member

Are we doing this now despite delaying changing the checkpoint interval on the NNS subnet until after the scheduled II subnet recovery?

@dsarlis
Copy link
Member Author

dsarlis commented Jul 26, 2024

@schneiderstefan Yes, if you notice, I'm only changing the slice limit for regular messages. Given a 2B slice limit and the 50B total limit, we would have at most 25 slices. That's still quite fine even with a 200 rounds checkpoint interval.

Increasing the checkpoint interval blocks decreasing the slice limit for install_code messages. With the current 10B slice limit and 1T total limit we have a maximum 100 slices for an install_code message, so further reduction would require first increasing the checkpoint interval.

@dsarlis dsarlis changed the title feat: Reduce DTS slice limit for regular messages on system subnets [DO_NOT_MERGE] feat: Reduce DTS slice limit for regular messages on system subnets Jul 26, 2024
@dsarlis
Copy link
Member Author

dsarlis commented Jul 26, 2024

Marked as DO_NOT_MERGE until the NNS team has re-run the tests we had run when DTS was first enabled on system subnets.

github-merge-queue bot pushed a commit that referenced this pull request Jul 26, 2024
…lts set at system level) (#650)

Deterministic Time Slicing, which allows large messages to execute
across multiple rounds, was being tested in advance of releasing it as
system settings.

Now that t[he system settings are being
updated](#621), we no longer need
special configuration to test this on system subnets.
@dsarlis
Copy link
Member Author

dsarlis commented Jul 26, 2024

Marked as DO_NOT_MERGE until the NNS team has re-run the tests we had run when DTS was first enabled on system subnets.

Tests were successful.

@dsarlis dsarlis changed the title [DO_NOT_MERGE] feat: Reduce DTS slice limit for regular messages on system subnets feat: Reduce DTS slice limit for regular messages on system subnets Jul 26, 2024
@dsarlis dsarlis added this pull request to the merge queue Jul 31, 2024
Merged via the queue into master with commit 96035ca Jul 31, 2024
23 checks passed
@dsarlis dsarlis deleted the dimitris/dts-slice-limits branch July 31, 2024 07:08
github-merge-queue bot pushed a commit that referenced this pull request Sep 16, 2024
Disable DTS in `drun` for system subnets to enable deterministic debug
output testing.

**Background information**:
DTS aborts uncompleted messsages if they reach a checkpoint and retries
them later. However, debug prints of such DTS-aborted executions leak,
which leads to non-deterministic debug outputs and can disturb testing
with `drun`. Therefore, disable DTS on system subnets in `drun` for
deterministic debug outputs as required by Motoko's tests.

This testing issue has become noticeable with
#621.
levifeldman pushed a commit to levifeldman/ic that referenced this pull request Oct 1, 2024
…lts set at system level) (dfinity#650)

Deterministic Time Slicing, which allows large messages to execute
across multiple rounds, was being tested in advance of releasing it as
system settings.

Now that t[he system settings are being
updated](dfinity#621), we no longer need
special configuration to test this on system subnets.
levifeldman pushed a commit to levifeldman/ic that referenced this pull request Oct 1, 2024
…finity#621)

This is a follow-up change to further decrease the DTS slice limit on
system subnets for regular messages. The value is set to 2B instructions
to match the setting on application subnets.

`install_code` messages still use the bigger slice limit until the
checkpoint interval is adjusted and we can afford reducing that as well.
This will change in a future PR.
levifeldman pushed a commit to levifeldman/ic that referenced this pull request Oct 1, 2024
Disable DTS in `drun` for system subnets to enable deterministic debug
output testing.

**Background information**:
DTS aborts uncompleted messsages if they reach a checkpoint and retries
them later. However, debug prints of such DTS-aborted executions leak,
which leads to non-deterministic debug outputs and can disturb testing
with `drun`. Therefore, disable DTS on system subnets in `drun` for
deterministic debug outputs as required by Motoko's tests.

This testing issue has become noticeable with
dfinity#621.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants