IBM has said many, many times to never, never use more than 3 CPU's with VSE, and even 3 is be bad with most work loads. This is due to the overhead of the Turbo-Dispatcher. With 4 you were spinning the dispatcher more than servicing the jobs.
Try your job with just 2 CPUs. Tony Thigpen -----Original Message ----- From: Tom Huegel Sent: 09/29/2010 02:54 PM > I know you are a smart guy Rob, but I beg to differ with you on this point. > At least where VSE is concerned. > I have done this and can reproduce results at will (that is if I stilled > worked there). > Environment: > 4 CPU z890. > 8 gig real memory. > z/VM 5.4 > 7 production VSE's > VSE 2.7 > z/VSE 3.1 > > With VSE's using only 1 CPU (non-dedicated) I carfully selected a one > hour job mix. > Giving VSE's 4 CPU's (non-dedicated) the same job mix ran close to 1hr > 20min... > This is wall clock time, which in final analysis is the only one that > counts. > > > > > On Wed, Sep 29, 2010 at 11:16 AM, Rob van der Heij > <rvdh...@velocitysoftware.com <mailto:rvdh...@velocitysoftware.com>> wrote: > > On Wed, Sep 29, 2010 at 7:30 PM, Frank M. Ramaekers > <framaek...@ailife.com <mailto:framaek...@ailife.com>> wrote: > > > > This was stated on the z/VSE LISTSERV, can someone confirm (or > deny) it? > > > Here is a quick tip. When running under VM with multiple VSE's it > is usually NOT a good idea to define multiple CPU's to VSE and > expect turbo dispacher to handle them. Why? Because z/VM will not > dispach a VSE unless it has ALL requested CPU available. Often VSE > could be running but is waiting for z/VM to find a secind free CPU. > > As stated here, we can simply conclude and demonstrate that this claim > is not true. The more interesting part is to understand which > statement *is* true and how that led to this rumor ;-) > > In general, it's a bad idea to have more virtual CPUs than you can get > from z/VM when you have workload to use them. The total number of > logical CPUs in z/VM is an upper bound for what you can get, but when > you run 100 Linux guests on 5 IFLs, it's unlikely you find a guest > have all its 5 virtual CPUs dispatched at the same time. > > One of the challenges with virtualized multi-processor guests is about > locking. When the virtual CPU holding the lock is not dispatched, the > other virtual CPU ends up spinning waiting for the other virtual CPU > to free the lock (which does not happen because you're burning a CPU > spinning). To avoid that, the guest OS uses a "voluntary time slice > end" DIAG44 to give up running and expect the other virtual CPU to get > time to free the lock. Linux is even using a later version of that to > tell z/VM which virtual CPU should be put in front of the queue (with > more than 2 virtual CPUs "other" is a bit vague). I don't know how > much locking is done in VSE. > > Another aspect is about SMP. Linux is "symmetrical" and does not care > which virtual CPU runs what. Some Operating Systems deal with > serialization by "master only" tasks. z/VM used to have a lot of that > in ancient past, and got rid of almost all now. When the guest OS > needs some work to run on one particular CPU (the master) but > dispatches work on both virtual CPUs, you can't pick which one is > dispatched first by z/VM. The question would be whether VSE has much > master only work. > > Rob > -- > Rob van der Heij > Velocity Software > http://www.velocitysoftware.com/ > >