Per Processor Scheduling

Message boards : BOINC client : Per Processor Scheduling
Message board moderation

To post messages, you must log in.

AuthorMessage
Augustine
Avatar

Send message
Joined: 10 Mar 06
Posts: 73
Message 3997 - Posted: 20 Apr 2006, 14:57:19 UTC
Last modified: 20 Apr 2006, 15:22:33 UTC

With the coming on line of projects whose WUs take just minutes to complete (e.g., XtremLab, Leiden, HashClash, Tanpaku), I noticed an interesting behavior on MP systems.

As short WUs finish, the debts are recomputed often, resulting in other projects being paused. However, many projects check-point only every few tens of minutes, resulting in dilated processing times unless the WUs are left in memory.

As it's only a problem in MP systems, I suggest that each processor is treated individually. As a WU finishes, thus freeing up a processor, the debts are recomputed as usual, but rather to find a candidate project for the freed up processor only. The other processors are left alone processing whatever WU they were processing. The time to switch between applications would thus govern for how long a WU uses each processor individually.

Moreover, as NUMA systems proliferate, I'd also suggest that once a WU starts on a processor, it should not migrate to others unless there are no more WUs to process. Otherwise, if a WU starts on a processor and allocates memory on it, if it migrates to another processor, its processing time will be slower as it goes to another processor's memory.

HTH

ID: 3997 · Report as offensive
tralala

Send message
Joined: 6 Apr 06
Posts: 11
Germany
Message 4004 - Posted: 21 Apr 2006, 8:35:33 UTC
Last modified: 21 Apr 2006, 8:35:50 UTC

Another solution to this problem is proposed here:

http://boinc.berkeley.edu/dev/forum_thread.php?id=739

but for some reason the idea seems not to be too popular (or hard to implement).
ID: 4004 · Report as offensive

Message boards : BOINC client : Per Processor Scheduling

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.