Bug 562883 - Running boinc-client daemon with priority +19 is not optimal for CUDA projects
Summary: Running boinc-client daemon with priority +19 is not optimal for CUDA projects
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: boinc-client
Version: 12
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Milos Jakubicek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-08 16:21 UTC by Andris Pavenis
Modified: 2010-03-02 01:02 UTC (History)
3 users (show)

Fixed In Version: boinc-client-6.10.33-1.r20470svn.fc11
Clone Of:
Environment:
Last Closed: 2010-03-02 00:54:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andris Pavenis 2010-02-08 16:21:56 UTC
Description of problem:

Startup script of boinc-client (/etc/rc.d/init.d/boinc-client) contains line
        daemon --check $BOINCEXE --user $BOINCUSER +19 "$BOINCEXE $BOINCOPTS --dir $BOINCDIR >>$LOGFILE 2>>$ERRORLOG &" >& /dev/null

which starts boinc-client with priority +19. This priority is OK for those BOINC projects which uses CPU only, however if the project use mostly GPU (like NVidia CUDA) it is in this case not running efficiently. For those projects
slightly higher boinc-client daemon priority (like +10) is better.

In this case for CPU only projects drops project executable priority to +19, so
for those projects nothing changes.

For GPU projects boinc-client does not drop priority. So it stays +10 and the
project executable gets enough time to run efficiently

How reproducible:

Always

Steps to Reproduce:
1. Install NVidia video card which supports CUDA and CUDA libraries (unfortunatelly not provided neither by Fedora nor RPMFusion)
2. Join some BOINC project which supports CUDA for Linux (Like GPUGrid)
  
Actual results:

The BOINC project executable is getting so little time (competing with other CPU only projects), that it is unable to provide enough work for GPU.
Renicing boinc project process to +10 as root increases speed considerably.

Expected results:

Renicing should not be needed.

Additional information:

Process information when boinc-client daemon priority is +10 (no additional
manual renicing):

[root@ap ~]# top -b -U boinc -1
top - 18:19:17 up 30 min,  2 users,  load average: 4.81, 5.04, 4.32
Tasks: 226 total,   7 running, 219 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.1%us,  1.1%sy, 83.5%ni, 10.0%id,  1.1%wa,  0.1%hi,  0.1%si,  0.0%st
Mem:   8194852k total,  2504780k used,  5690072k free,    51748k buffers
Swap:  8385920k total,        0k used,  8385920k free,  1198912k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                
 2444 boinc     39  19 86572  80m 1336 R 101.0  1.0  23:18.42 einstein_S5R6_1                       
 2438 boinc     39  19 86572  80m 1336 R 97.1  1.0  23:25.37 einstein_S5R6_1                        
 2478 boinc     39  19  214m 192m 5960 R 66.0  2.4  23:25.57 hadam3p_um_6.14                        
 2392 boinc     39  19 60272  48m 5076 R 62.1  0.6  23:05.36 hadsm3mh_um_6.0                        
 4142 boinc     30  10  127m  74m  22m R 50.5  0.9   7:58.30 acemd_6.70_x86_                        
 2252 boinc     30  10  102m 7492 3788 S  0.0  0.1   0:04.23 boinc_client                           
 2385 boinc     39  19  2988 1632 1236 S  0.0  0.0   0:00.21 hadsm3mh_6.03_i                        
 2386 boinc     39  19  7448 4068 3568 S  0.0  0.0   0:00.69 hadam3p_6.14_i6                        
 2387 boinc     39  19  2988 1632 1236 S  0.0  0.0   0:00.00 hadsm3mh_6.03_i                        
 2388 boinc     39  19  2988 1632 1236 S  0.0  0.0   0:00.04 hadsm3mh_6.03_i

Comment 1 Milos Jakubicek 2010-02-09 00:58:02 UTC
Yes, you're completely right, I even recall a discussion about this with somebody else (Clive Messer), but then I forgot about:( I'll fix this soon.

Comment 2 Fedora Update System 2010-02-09 02:03:47 UTC
boinc-client-6.10.33-1.r20470svn.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/boinc-client-6.10.33-1.r20470svn.fc11

Comment 3 Fedora Update System 2010-02-09 02:04:48 UTC
boinc-client-6.10.33-1.r20470svn.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/boinc-client-6.10.33-1.r20470svn.fc12

Comment 4 Milos Jakubicek 2010-02-09 02:06:23 UTC
(Also, I have an open review for CUDA in rpmfusion, hopefully that will finally finish in some finite time: https://bugzilla.rpmfusion.org/show_bug.cgi?id=459, then it should be a bit easier to use boinc for GPU tasks on Fedora)

Comment 5 Fedora Update System 2010-02-09 21:00:17 UTC
boinc-client-6.10.33-1.r20470svn.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update boinc-client'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-1680

Comment 6 Fedora Update System 2010-02-09 21:04:10 UTC
boinc-client-6.10.33-1.r20470svn.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update boinc-client'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2010-1691

Comment 7 Andris Pavenis 2010-02-10 18:18:01 UTC
Looks OK for me (Fedora 12 x86_64)

Comment 8 Fedora Update System 2010-03-02 00:54:03 UTC
boinc-client-6.10.33-1.r20470svn.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2010-03-02 01:02:39 UTC
boinc-client-6.10.33-1.r20470svn.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.