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/

Reply via email to