On Thursday 24 Sep 2009 07:13:24 Gabor Gombas wrote:

> > Basically, the patch results in CPU tasks running BATCH/19 and GPU tasks
> > OTHER/10. In the case of a headless dedicated cruncher the PPD is not
> > affected, but in the case that the machine is also running general tasks
> > (like a code build and a desktop), the desktop responsiveness is greatly
> > improved under heavy load.
> 
> The Debian initscript for the BOINC client prefers IDLE over BATCH if it
> is available. IMHO that would be more appropriate for desktops, while
> BATCH should be preferred for dedicated machines. If this is going to be
> integrated, then there should be a way to specify the scheduler class,
> priority and nice level in the configuration somehow.

There is a reason for choosing BATCH (as a default) and not IDLE. I alluded to 
it above. PPD is not affected on a dedicated cruncher with BATCH. With IDLE it 
is reduced by 10%, more with a PREEMPT kernel. 

> Debian also uses ionice to set the I/O scheduling class to IDLE, so that
> should be integrated too. The I/O class should be set for the core
> client as well, not just for the applications.

It depends on how far you want to take it. The BOINC defaults, nice 19 for CPU 
tasks and nice 10 for the GPU tasks already is pretty much the sweet spot and 
those are already hard-coded. Changing the policy to BATCH for the CPU, you 
could argue is the equivalent of just dropping the CPU priority one level 
lower from the hard-coded defaults. It doesn't really affect anything at all as 
far as PPD is concerned on a dedicated cruncher but makes the desktop feel a 
lot more responsive on a non-dedicated cruncher. It's a good default without 
configs option or resorting to userland ionice/schedtool etc. etc. The parent 
program (core client) is not exactly CPU intensive so I don't really see the 
need to fiddle with scheduling classes for that.

One other thing to consider here with both nice and schedule policy, is that 
if the core runs as 'standard' non-superuser, priorities can be decreased but 
not increased. The Fedora packaged script starts the core at nice 19. The 
setpriority call to set the GPU clients to nice 10 is ignored because the non-
priv user cannot increase the priority above the parent process. Running 
crunchers with 6 and 8 GPU's each this is disastrous with a mix of CPU and GPU 
clients all running at nice 19. Starting the core with very low priority or 
schedule policy is not something that I'd want to do. ;) YMMV.

Regards

Clive
-- 
Clive Messer <[email protected]>
_______________________________________________
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.

Reply via email to