Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go ยป
No member browsing this thread
Thread Status: Active
Total posts in this thread: 11
Posts: 11   Pages: 2   [ 1 2 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 1659 times and has 10 replies Next Thread
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Linux dedicated priority leads to improvement.

Ive got a Core i5 machine that I prefer to keep as clean as possible at my home, so normally I don't run WCG on it. However I do run WCG on it through Ubuntu whenever I'm not using it for long periods of time.

I noticed that when I use the "renice x PID" command to increase the priority of the WCG tasks I get ~16% improvement in output. Is there any way that I can set the priorities to automatically so that while I'm away (usually for about a week at a time) I can still receive this benefit? I'm not a total Linux know-all sadly :'(
[Jan 29, 2011 6:12:05 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hello Aedazan,
at first, let me congratulate you for this post.
If this command really helps to speed up BOINC so much, this is - in my opinion - the most useful post of the year!!
I am very ready to help you and answer your question.
In Linux, there is a boot sequence just as it was in Windows.
At http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=4
it says:
"4.a. Runlevels

Booting your System

(.....)
This process then makes sure that all filesystems (defined in /etc/fstab) are mounted and ready to be used. Then it executes several scripts located in /etc/init.d, which will start the services you need in order to have a successfully booted system.

"

So, as far as I understand, to change BOINCS priority at the start of your computer, you shoud add your "renice x PID" command to (one of) those init scripts, to make your machine execute the rencice dommand during the booting process.

I hope that this helps, but I am not sure.

Can you tell me, how you have found out that there is the necessity to carry out the renice command automatically?

Why is it impossible just to boot the machine nomally, then execute the renice command by hand afterwards?

If you do this, the priority of BOINC should be changed and then stay at high priority during the time of your absence.

Are you really sure, that if the renice command has been executed, that then afterwards BOINCs priority falls back to the level it had before?

I do not see any reason why this should happen.

Please give feeback, whether my answer was useful. Thank you.
Martin
[Jan 30, 2011 8:06:53 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hi,

Not aware in Linux how a process or child process could be auto-reniced from default 19 for BOINC (only use spare cycles, but use 100% of them), to normal. The Process ID changes with each new (re)start. In Windows, the one tool I know to work reliably through W7 is "Process Lasso" which has many many tuning features, but know what you do or you turn the computer into a "whilst in use" slug.

16% More output suggest BTW that there are other processes running taking that time, else BOINC would have used it. Use System Monitor or Top to see which permanent processes clock-up most time and then determine if that can be really missed without lobotomising the OS. One CPU time eater is FireFox when left expanded on screen. I unload it when done as it has been set to remember all open tabs on restart. There are more such as idle time indexing utils.

Good Luck.

PS, I understand that normally child processes inherit the nice level of the parent, but in BOINC the nice level is hardcoded in the science app. It has to be an auto-nice that has to run constantly as CEP2 has 16 jobs that each get a new PID assigned at start.
[Jan 30, 2011 8:42:50 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Crystal Pellet
Veteran Cruncher
Joined: May 21, 2008
Post Count: 1328
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

From a Linux newbee:

Create a file called something like: set_WCG_prio.sh

Contents:

#!/bin/sh
while true; do
renice 0 `pgrep wcg_`
sleep 600
done


and start this script from a terminal window with this command: sh set_WCG_prio.sh


The zero is the nicelevel and sleep 600 is 10 minutes wait to set the process priority again in the case a new (sub)task has started.
Then you're ready for your long absence.
[Jan 30, 2011 5:04:25 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hello,
Well, I am sure that Sekrob gave an important information, so obviously reincing the process in the startup sequence does not help,
as the pocesses in linux do get new numbers and priorities with each restart.

If the solution poposed by Crystal Pellet does not work or you do not like it,
there stll is the following sollution:
You install two different versions of Linux on your PC:
1.Normal Ubuntu (or whatsoever preferred distribution of linux)
2. The Linux version adapted especially for BOINC, called Dotsch UX.

It can be found here: http://www.dotsch.de/Dotsch_UX
Please read this thread: https://secure.worldcommunitygrid.org/forums/wcg/viewthread_thread,30744

You could configure your machine as dual boot:
If you are absent, you boot with the Dotsch OS, if you work with your machine, you boot your "Normal" Linux distribution, Ubuntu or whatsoever.
Good luck
Martin
[Jan 31, 2011 6:07:40 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

I noticed that when I use the "renice x PID" command to increase the priority of the WCG tasks I get ~16% improvement in output. (


u'll be really surprised that u can get even more if u'll try to "attach" each wcg process to dedicated CPU core. for this u should use "taskset" command

if u want I can publish the script which doing this trick for me. to run it automatically i'm usiing cron
[Feb 4, 2011 8:53:26 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hello CTAPbIi,
I am very interested in your script.
Could you please post it here. I think that you will help us and Worldcommunitygrid very
much.
Thank you in advance for your help.
I wish I could programme scripts.
Thank you once again
Martin
[Feb 6, 2011 3:47:43 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hello CTAPbIi,
I am very interested in your script.
Could you please post it here. I think that you will help us and Worldcommunitygrid very
much.
Thank you in advance for your help.
I wish I could programme scripts.
Thank you once again
Martin


here we go.

make empty file (i.e. "affinity"), make it executable and copy-paste this:

#!/bin/bash
for i in `pgrep primegrid`; do taskset -pc 0 $i; renice -n -10 -p $i; done
for i in `pgrep flush`; do taskset -pc 1 $i; renice -n 0 -p $i; done
for i in `pgrep firefox`; do taskset -pc 2 $i; renice -n 0 -p $i; done
for i in `pgrep wcg`; do renice -n 0 -p $i; done


how it works (line 2). pgrep looking for process "primegrid" and using it's PID (process ID) attaching this process to core #0 and changing priority to -10 (pretty high, but that gives better perfomance though).

Assigning dedicates CPU core for flush and firefox drastically increasing their stabilty (primegrid app is perfectly optimazed).

Easy like that :-)

Some time ago I ran GPUGRID which required single CPU core for each GPU process. I attached GPUGRID app on core #0, but rosetta ran 8 apps, so I put two apps on core #7. I'm not really sure if some1 need that, but just in case:

for i in `pgrep minirosetta`; do let "j=j+1"; if [ $j -gt 7 ] ; then j=7; fi; taskset -pc $j $i; renice -n 0 -p $i; done



to be sure it works for you:
ps -eF | grep minirosetta


Now, the problem is that I'm really lazy and wanna make computer (but not me) start this script as ofter as every single minute. For that I used cron.

make empty file (i.e. "test"), make it executable and copy-paste this:

SHELL=/bin/bash
MAILTO=user
0-59 * * * *
/path/to/file


and then:
crontab -u user_name test


value for renice is from -19 (high priority) to 19 (very low, on which BOINC apps running). While started by user renice can be increased up to "0" only, but I need smth more. So, I'm starting it as root.

That's it.
----------------------------------------
[Edit 1 times, last edit by Former Member at Feb 6, 2011 6:26:19 AM]
[Feb 6, 2011 6:23:42 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

Hello CTAPbIi,,
Thank you very much for your prompt answer.

Unfortunately, for the moment I cannot do more than say thanks,
because here at the place where I am now, I got only a one-core computer.

My second machine which has two cores, is far far away from me.

I will not go there in the next months, so feedback about success of your script on my machine is for now not possible.

But to me, only the fact of having someone like you who really knows Linux is a good thing.
Thank you once again for the script and all the best to you
Martin
[Feb 6, 2011 7:07:15 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: Linux dedicated priority leads to improvement.

NP :-) I think it might be useful for all WCG users
[Feb 9, 2011 4:34:41 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Posts: 11   Pages: 2   [ 1 2 | Next Page ]
[ Jump to Last Post ]
Post new Thread