View previous topic :: View next topic |
Author |
Message |
DavePrince n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 20 Feb 2006 Posts: 40 Location: Cambridgeshire, UK
|
Posted: Fri Feb 13, 2009 9:50 am Post subject: Advanced Process Priority |
|
|
I've not done much with process priorities other than using nice (&ionice) but I've noticed a discrepancy between my gentoo system at home (2.6.27-gentoo-r7) and the ubuntu setup (on similarish hardware) I use at work (2.6.24-23-generic).
Both are quad core CPUs. Both run boinc (nice 19) on all four cores in the background. The boinc processes at work are a lot nicer than the ones at home.
If I tar up a 400MB directory onto /tmp (both mounted on tmpfs so there's no i/o waiting involved) and then run "time pbzip2 -v9" on the tar file the jobs at work get a lot higher share of the CPUs than at home:
time output from ubuntu
65.932u 0.820s 0:17.67 377.7% 0+0k 0+0io 0pf+0w
time output from gentoo
84.655u 2.572s 0:42.78 203.8% 0+0k 0+0io 0pf+0w
It uses just over 2 of the 4 cores, vs. 3.77 of them at work. It has a similar effect on highly parallelised compile jobs at home, but at work it does even better (boinc hardly gets any CPU time.)
If I turn boinc off on the gentoo system then I get much better performance
73.535u 0.910s 0:19.11 389.5% 0+0k 0+0io 0pf+0w
If I do the same on the ubuntu machine it makes only a little difference
64.540u 0.880s 0:16.78 389.8% 0+0k 0+0io 0pf+0w
What do I need to look into to get the boinc processes here to give way more? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
pappy_mcfae Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/2063135933479eedb93987b.jpg)
Joined: 27 Dec 2007 Posts: 5999 Location: Pomona, California.
|
Posted: Fri Feb 13, 2009 10:00 pm Post subject: |
|
|
You can set how much memory and CPU time is given to boinc by starting the boinc manager, and changing the settings under Advanced -> Preferences... to whatever you wish.
Blessed be!
Pappy _________________ This space left intentionally blank, except for these ASCII symbols. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
DavePrince n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 20 Feb 2006 Posts: 40 Location: Cambridgeshire, UK
|
Posted: Sat Feb 14, 2009 9:59 am Post subject: |
|
|
pappy_mcfae wrote: | You can set how much memory and CPU time is given to boinc by starting the boinc manager, and changing the settings under Advanced -> Preferences... to whatever you wish. | Yeah, but that's not the effect I'm after. If I set it to use 2 CPUs in there it'll only ever use 2 CPUs, even when totally idle.
What I want is for it to use as much CPU as possible when idle, but as little as possible when other jobs are running.
I've been digging through the kernel config a bit and found a couple of options that are on at the moment: CONFIG_FAIR_GROUP_SCHED & CONFIG_USER_SCHED, which the help indicates will cause the kernel to share cpu time fairly / equally between users. Since boinc runs as the user boinc this could be why it's always getting 50% CPU? What I want for boinc (at least) is completely unfair schedulting. I'm going to try turning that off. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|