Skip to content

Conversation

@vkarak
Copy link
Contributor

@vkarak vkarak commented Oct 30, 2025

This PR updates and improves the poll control mechanism in different ways:

  1. The poll interval (sleep duration) is not controlled directly anymore but rather through the poll rate.
  2. The poll rate starts at a maximum value and decays towards a predefined minimum. At every step the desired poll rate is calculated and from this the required poll interval is derived.
  3. The desired poll rate is reset every time a monitored job finishes, so as to capture quickly other jobs that have also finished (this is the same as before).
  4. Support is added for adding random noise to the poll interval (disabled by default), by allowing the random decrease or increase of the poll interval. This is useful to avoid aggregate poll rate spikes when multiple parallel reframe processes execute the same test suite.
  5. All the polling control parameters are exposed to the users and can be tuned
  6. A script is added to the tools/ that allows to generate the plots for debugging polling issues.

Todos

  • Add reference docs
  • Add article explaining the polling mechanism
  • Document the plot script
  • Add requirements file in the tools/ directory
  • Add unit tests for checking the validation of poll control parameters

Closes #211.

@vkarak vkarak added this to the ReFrame 4.9 milestone Oct 30, 2025
@vkarak vkarak requested a review from ekouts October 30, 2025 23:41
@vkarak vkarak self-assigned this Oct 30, 2025
@vkarak vkarak changed the title [feat] Updates and improvements of the poll control mechanism [feat] Updates and improvements to the poll control mechanism Oct 30, 2025
@vkarak vkarak requested a review from teojgo October 30, 2025 23:43
@vkarak vkarak force-pushed the feat/poll-control-config branch from b83e75e to 931eb18 Compare October 30, 2025 23:44
@codecov
Copy link

codecov bot commented Oct 30, 2025

Codecov Report

❌ Patch coverage is 98.36066% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 91.28%. Comparing base (3d1ba5c) to head (37533e5).
⚠️ Report is 6 commits behind head on develop.

Files with missing lines Patch % Lines
reframe/frontend/executors/policies.py 98.24% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3575      +/-   ##
===========================================
+ Coverage    91.26%   91.28%   +0.01%     
===========================================
  Files           62       62              
  Lines        13542    13581      +39     
===========================================
+ Hits         12359    12397      +38     
- Misses        1183     1184       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vkarak vkarak force-pushed the feat/poll-control-config branch 2 times, most recently from 6acac2f to 0b74853 Compare November 5, 2025 14:10
@github-project-automation github-project-automation bot moved this from Todo to In Progress in ReFrame Backlog Nov 11, 2025
Copy link
Contributor

@victorusu victorusu left a comment

Choose a reason for hiding this comment

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

lgtm

@vkarak vkarak force-pushed the feat/poll-control-config branch from ff2e356 to 37533e5 Compare November 11, 2025 09:07
@vkarak vkarak enabled auto-merge November 11, 2025 09:07
@vkarak vkarak merged commit d711e28 into reframe-hpc:develop Nov 11, 2025
39 of 43 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in ReFrame Backlog Nov 11, 2025
@vkarak vkarak deleted the feat/poll-control-config branch November 11, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Generalise the poll rate control mechanism

3 participants