[ic] ic process 25% system load

Rick O'Neil ic at oneil.org
Fri Jun 11 11:56:29 EDT 2004

>> it's a real dual Xeon machine! Didn't know that...
>>>But ps ax |grep interchange shows me, that there's only 1 interchange 
>>>process running.
>>>Wouldn't it be best to set
>>>PreFork Yes
>>>StartServers 4
>>>in interchange.cfg to speeeed it up ?
>> No. Everything's fine the way it is. When you have 4 concurrent page views 
>> then they'll operate in parallel (assuming system resources permit). But 
>> Interchange isn't multithreaded, so a single page view can only use one 
>> processor at a time.
>>>From what I understand, using "25%" load on a hyperthreaded dual-proc 
>> machine is still able to use 50% of the actual horsepower.
>Ok, dual hyperthreaded doesn't really mean the power of 4. But if 
>Interchange is singlethreaded how can it handle 4 or more page requests 
>simultaneously with 1 running process?
>Does it really use the full power of these 2 greedy Xeon horses?
>For me "2 working processes on 2 CPUs" sounds better somehow :)

This is slightly divergent from the topic for CPU load, but it seems like a
good time to correct the misconception regarding hyperthreading.

Hyperthreading works at the BIOS level, that is to say the OS has no
knowledge of whether there are two logical CPUs on one physical CPU
(hyperthreaded) versus two logical CPUs on two physical CPUs (true dual
processor). Thus, when doing a "top" on a hyperthreaded single-processor
(assuming hyperthreading is turned on in the BIOS and an SMP kernel is
used) two CPUs are reported as is the case when looking as /proc/cpuinfo.
The nice thing about hyperthreading is that multithreaded code doesn't need
to be any different for a hyperthreaded system than for a "true"
multiprocessor system. Hyperthreading really works too - for multithreaded
code it provides roughly 30-40% of the speedup over a single processor
system that a true dual processor system provides.


More information about the interchange-users mailing list