[Zope] Zope Processor binding and Hyper Threading

Jaroslav Lukesh lukesh at seznam.cz
Fri Sep 5 10:12:15 EDT 2003


> Odesílatel: zhimin at iss.nus.edu.sg
> On a multi-processor machine running multiple Zope instances, it's known
> that each Zope/Python process should be bound to a single processor to
> increase performance. If you have a dual processor machine running two
> Zope, setting the affinity is easy - one processor per zope.
> 
> Now we have processor with Hyper Threading (HT) technology, how do you
set
> the processor affinity for maximum performance?

Hyperthreading is only virtual processor not physical. In Linux with smp
kernel that know HT features you get only 5-30% increase in computing power
depends on kind of computing. So you could be quiet with Zope, if Zope will
be boound in CPU0 then system consume power from CPU1.
 
> Say you have a dual-processor HT machine, running two Zope. You'll get 4
> virtual cpus: 0, 1, 2, 3. 0 and 2 are on one physical processor; 1 and 3
> are on the other physical processor. You can bind:
> 4)  Zope1 to cpu0  ;  Zope2 to cpu2

This assignment will be best.
 
> Another way is to run 4 Zope instances on the dual-processor HT machine,
> and bind one Zope to each virtual cpu. Will this configuration perform
> better?

I think that you will get most performacne with two Zope instances. HT
technology is only moneymakers marketing tool for thumbs. If you want best
available performacne for low price (ie., does not use processors targetted
for servers), use dual P-III Celeron CPU instead of dual P-4 with HT, you
will get much more performance with this oldies but goldies...

REgards, JL.



More information about the Zope mailing list