Re: [Zope] Zope Processor binding and Hyper Threading
OdesÃlatel: zhimin@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.
participants (1)
-
Jaroslav Lukesh