On Fri, May 1, 2009 at 3:30 AM, Leland Lucius <[email protected]> wrote:

> But, if there's more VCPUs lying about, doesn't z/VM have to schedule
> them?  If they're "offline" in the guest, doesn't z/VM see that and
> ignore 'em when figuring out how to schedule stuff?  (I'm trying to talk
> WAY over my expertise here, so ignore me if you like.  ;-))

Can't ignore you when you ask interesting questions...
Not really. CP scheduler and dispatcher work a bit different than
Linux. The virtual CPU that does not require service is not involved
in scheduling. There's probably some minimal work involved with the
plain number of virtual CPUs in the system, so the base cost for 10
servers with 10 virtual CPUs each is more than for 10 virtual-UP
servers. But "unplugging" them would not reduce that (in fact, the act
of plugging and unplugging does create some work).

> Also, if load averages increase sufficiently, doesn't adding another
> VCPU help smooth out the load (mainly during spikes)?

If you can manage to distribute resources in an unfair manner so that
you get more than the rest, then you may be able to take advantage of
that. That's the kind of performance measurements that I don't care
for. In real life there is little value in tuning the system to make
one server run faster at the expense of others (unless that is
justified by the business, for example production and development
servers).

If we think that 2 virtual CPUs is better, then it is better for all
of them and all get 2 virtual CPUs. And in that case the contention
gets more and chances of getting both your virtual CPUs dispatched at
the same time are not better than when everyone was having just one
car in the race.

I know one case with Domino where we assume 2 virtual CPUs could be
better than one. Domino does its own dispatching of tasks, and the
idea was that by (bad) design it sometimes would only run the
background replication task and not service the end-users. By giving
it two half CPUs rather than one full CPU, it could not spend more
than half a CPU on the single threaded background process, and thus
was forced to also service the end-users.

So I stick to my motto: "When you don't know, one will do. When you
have measured, probably too."

Rob
-- 
Rob van der Heij
Velocity Software
http://www.velocitysoftware.com/

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to