It sounds as if the relative CPU speed and/or hypervisor dispatching of LPARs 
may be involved in any given LPAR's getting the resource.  If after GRS sends a 
signal to all enqueing systems that the resource is available it then waits for 
a response from said systems, it may be that GRS will give the resource to 
whichever system responded first and is ignoring the order in which the 
processors did the original ENQs.  Perhaps a timestamp needs to be associated 
with each ENQ request and the global resource allocator made sensitive to the 
timestamp.   Or maybe the documentation needs to be updated to reflect the 
different way that SCOPE=SYSTEMS ENQ works in GRS from SCOPE=SYSTEM with no GRS 
involved.

The relative processor speed certainly has been known to affect which of 
several sharing processors will next get access to a shared DASD volume using 
the RESERVE/RELEASE hardware function.

Bill Fairchild
Programmer
Rocket Software
408 Chamberlain Park Lane • Franklin, TN 37069-2526 • USA
t: +1.617.614.4503 •  e: bfairch...@rocketsoftware.com • w: 
www.rocketsoftware.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Peter Hunkeler
Sent: Thursday, January 17, 2013 2:46 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Tasks ENQ'ing exclusive on resource not getting control in FIFO order

It was my understanding that tasks enqueueing on a resource are getting control 
in FIFO order, if contention existed. Today, we had a situation where this was 
not true.

Environment is as follows:

- 4 system parallel sysplex, z/OS V1.13, GRS STAR mode.
- a dozen or so jobs running the same program are active across all 4 systems 
at a time. More job being submitted as jobs end (more or less).
- the programs are serializing using EXCLUSIVE ENQ on a resource, scope systems

As expected, one job is running, all others are waiting to get the resource 
assigned.
But suddenly, we the recognized that jobs on two systems never got running. 
They have been waiting for the resource for hours, while newer jobs got control 
one after the other. So resource assignment is clearly not FIFO. We then saw 
(in EJES) that once a job ended, all waiting jobs are active for a very short 
time, then one job continues to run while all other are waiting again.

I have RTFM, and still think ENQ is FIFO. I have not found anything related to 
GRS STAR mode that contradicts.

I have not followed GRS new lately. What am I missing?

--
Peter Hunkeler

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to