It should be fairly easy to allow tasks to change their resource usage on the fly at the client.
1) If the task reduces usage and returns some resources early, it allows the resource scheduler to schedule some other task to use that resource. 2) If the task increases usage, the resource scheduler may either preempt that task or some other task. #1 would be useful for most of the multi threaded tasks as not all threads complete at the same time. In some cases, there appears to be a single thread that lingers on for minutes to hours before relinquishing all of the CPUs at the same time. If they were relinquished one at a time, better CPU usage could be achieved by scheduling single CPU tasks into the CPUs that the multi CPU task no longer needs. #2 is useful for tasks that have a long period of non-CPU usage followed by an intense computational period at the end. (one project does this). The basic idea is that the task dictates what it needs, and the resource scheduler gets to decide when the task runs. jm7 _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
