| Jean-David Beyer 2004-10-01, 5:45 pm |
| m.marien wrote:
> "Jean-David Beyer" <jdbeyer@exit109.com> wrote in message
> news:10lpibs8bp5sc9f@corp.supernews.com...
>
>
> Makes sense I guess. As you mentioned before, the low priority stuff still
> clobbers the cache once so it slows the priority stuff down. I guess anytime
> it gets processor time it reloads into cache.
>
> A question. SETI is a single thread process so when I run it on my quad it
> only takes 25% of the processor. Same on my dual, one SETI only takes 50% of
> the processing time. So how much processing time does a *single* SETI take
> on your dual hyperthreading system - 25% or 50%?
I have my _top_ set the other way, so the total for my machine is 400%.
10:50:36 up 8 days, 21:54, 3 users, load average: 4.17, 4.21, 4.18
160 processes: 155 sleeping, 5 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 29.6% 361.6% 7.6% 0.4% 0.0% 0.0% 0.0%
cpu00 9.1% 87.8% 2.2% 0.5% 0.0% 0.0% 0.1%
cpu01 5.8% 92.5% 1.6% 0.0% 0.0% 0.0% 0.0%
cpu02 2.9% 95.6% 1.3% 0.0% 0.0% 0.0% 0.0%
cpu03 11.7% 85.5% 2.4% 0.0% 0.0% 0.0% 0.1%
Mem: 4100868k av, 4067544k used, 33324k free, 0k shrd, 70432k buff
3168284k actv, 597020k in_d, 74444k in_c
Swap: 8193076k av, 114616k used, 8078460k free 3636144k
cached
PID PPID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM CTIME COMMAND
1716 9896 boinc 39 19 46136 38M 3180 R N 94.5 0.9 5407m
hadsm3um_4.04_i686-pc-lin
19016 9895 boinc 39 19 15900 15M 916 R N 91.5 0.3 206:28
setiathome_4.02_i686-pc-l
4023 9912 boinc 39 19 46104 39M 3180 R N 90.2 0.9 3039m
hadsm3um_4.04_i686-pc-lin
20248 9895 boinc 39 19 15896 15M 904 R N 86.6 0.3 171:00
setiathome_4.02_i686-pc-l
So they are running around 90% each. You could divide all these by four if
you wish to normalize to 100%. They normally run higher, around 98%, but
some other stuff is going on now that makes them lower.
When the machine is not running much else, a single setiathome takes 100%
of one processor, or very near. And two take very nearly 100% of each of
two processors, three take very nearly 100% of three processors, but with
four, one of them gets only about 95% of a processor as the higher
priority jobs take the rest.
But remember, there are really only two clever processors in there. So
even if they are all running 100%, the work done is not 4x the work of
one. Running two insteances of setiathome, each one can do a work unit in
a little less than 4 hours wall clock time. Running three does more
overall work than two, but not 50% more, and running four definately does
not do as much as 4x the amount of one.
Now when running 4 setiathomes, they tend to take about 4.5 hours each.
When running two setiathomes and 2 climatepredictors
(hadsm3um_4.04_i686-pc-linux), the two setiathomes take a bit over 5 hours
to do a work unit. I blame it on cache contention. These processors have
three or four caches, depending how you count them. There is an L1
instruction cache and an L1 data cache. These are around 16KBytes, IIRC.
Each processor also has a 512KByte L2 cache and a 1024KByte L3 cache. But
setiathome is a program that requires around 15Meg of memory (each) and
hadsm3um_4.04_i686-pc-linux requires around 38 Meg of memory each. The
working sets of each may be somewhat less, but they will never ever fit
into the 1024KByte L3 caches.
--
.~. Jean-David Beyer Registered Linux User 85642.
/V\ Registered Machine 241939.
/( )\ Shrewsbury, New Jersey http://counter.li.org
^^-^^ 10:45:00 up 8 days, 21:49, 4 users, load average: 4.30, 4.27, 4.21
|