mirror of https://github.com/BOINC/boinc.git
![]() There are two mechanisms to prevent the scheduler from sending jobs that won't finish by their deadline. Simple mechanism: The client sends the interval x for which CPUs are projected to be saturated. Given a job with estimated duration y, the scheduler doesn't send it if x + y exceeds the delay bound. If it does send it, x is incremented by y. Complex mechanism: Client sends workload description. Scheduler does EDF simulation, sees if deadlines are missed. The only project using this AFAIK is BOINC alpha test. Neither of these mechanisms takes coprocessors into account, and as a result jobs could be sent that are doomed to miss their deadline. This checkin adds coprocessor awareness to the Simple mechanism. Changes: Client: compute estimated delay (i.e. time until non-saturation) for coprocessors as well as CPU. Send them in scheduler request as part of coproc descriptor. Scheduler: Keep track of estimated delays separately for different resources - client: fixed bug that computed CPU estimated delay incorrectly - client: the work request (req_secs) for a resource is the min of the project's share and the shortfall. svn path=/trunk/boinc/; revision=17086 |
||
---|---|---|
.. | ||
translations |