reframe icon indicating copy to clipboard operation
reframe copied to clipboard

Generalise the poll rate control mechanism

Open vkarak opened this issue 7 years ago • 5 comments

Currently, the poll rate control is only available for the async policy and it is hidden and non-configurable from the users. The purpose of this issue is twofold:

  1. Create a mechanism that would control the poll rate centrally. This mechanism should be aware at any time of the actual poll rate of the backend scheduler and should be able to suggest sleep times between subsequent polls, so as to ensure that the actual poll rate does not exceed a user-defined maximum.

  2. Provide the necessary knobs to the user for fine-tuning the polling behaviour.

vkarak avatar Mar 20 '18 20:03 vkarak

This is related to #1524.

vkarak avatar Oct 09 '20 09:10 vkarak

We need to revise this issue because it is rather outdated.

vkarak avatar Oct 23 '20 09:10 vkarak

A possible way to achieve this is through the scheduler backends. We could rewrite poll() as such:

def poll(*jobs, throttle=False):

If throttle is True, polling could be throttled by snoozing the current thread. Since everything boils down to the poll() method, this would let us have a centralized control of polling. In the future, this would allow us to configure it differently for different schedulers.

vkarak avatar Nov 04 '20 17:11 vkarak