On Wed, Nov 17, 2010 at 7:41 PM, Tom Duerbusch <[email protected]> wrote: > If you have a single engine, I wonder if you are hitting the same class of > problem that Websphere has on a single engine?
I wouldn't know which class that is. Sure Java can absorb a lot of CPU, and the more power the better. But I encourage anyone to show me evidence that two half CPUs is better than one full CPU ;-) > That is, you have two active tasks in competition for CPU time. > i.e. two stacks, one engine. > stack A sends a packet > The cpu is taken from Stack A to service Stack B. > Stack B gets the cpu and sends back the ack. > The cpu is taken from Stack B to service Stack A. It's not that bad with QDIO because the hardware (or CP, in case of VSWITCH) can handle the buffers without dispatching the virtual machine. So it allows for some asynchronous work. If you do the math, you can see that the default amount of buffers is normally too small for large bandwith. Each time when the entire set of buffers is processed by the hardware, the virtual machine needs to be dispatched again to pull the packets out of the buffers. Depending on the number of virtual machines, that can take a while (and longer when people defined all virtual-MP guests). With virtualization, most of these things average out well. You can increase efficiency when you allow for some latency. But latency is the price you pay for sharing a resource. Just have to realize that you can't estimate the total bandwidth by measuring a single task. | Rob -- Rob van der Heij Velocity Software http://www.velocitysoftware.com/
