> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
> Behalf Of Mike Kerford-Byrnes
> Sent: Friday, July 27, 2007 3:32 PM
> To: [email protected]
> Subject: Pause elements used across multiple address spaces
> 
> I am in the throes of designing an application that communicates between a
> long running (IPL to Z EOD) server Address Space and multiple user Address
> Spaces.  Given the requirements, the exploitation of PAUSE/RELEASE seems,
> as
> per the documentation, to be highly suitable.  The server Address Space is
> likely to deploy an array of Pause Elements from which the most suitable
> will be selected upon each user request (of which there may be a LOT).  So
> a
> given PE may be used VERY frequently by any and/or many User Address
> Spaces.
> There is a paragraph in the Auth Assembler Guide which gives me a slight
> concern. It states:
> 
> "When a PE is allocated with auth_level=IEA_AUTHORIZED, the PE can be used
> to pause and release any task or SRB in the system. The same PE can be
> used,
> for example, to pause a task in address space 10. After being released,
> the
> same PE can be used to pause an SRB in, say, address space 23. ++>>There
> is,
> however, a small performance penalty imposed when a PE is used to pause a
> task or SRB in one space and then reused to pause a task or SRB in another
> space++<<.  This cost is accrued upon each space transition."
> 
> I have a number of questions relating to this.   Does the accrual happen
> on
> each AS transition? For instance, if the usage happened to alternate
> between
> just two address spaces (say 10 & 23) would there be an accrual for EACH
> Transition, or just one per Address Space?

>From my interpretation of the same documentation that you quoted, the
accrual happens each time the PE is reused to point to a different
address space.

> Secondly, given the accrual rate, however derived, is there a predictable
> point where the performance overhead could become a liability - and how
> can
> I determine it?
> 
> Finally (at least for now), if the overhead has the potential of becoming
> a
> problem, would it be a wise move to maintain a usage count of each PE and
> to
> delete and reacquire once a particular limit has been reached - and if so,
> any suggestions as to the values that may be suitable?
> 
> Mike Kerford-Byrnes

I would suggest not using Pause/Resume, because I don't like the
way its interface was implemented. IMHO, I think it was silly to use an
SVC routine and to require the client to decide whether to use the
authorized or unauthorized interface. A simple stacking PC routine would
have been a clean interface for both task and SRB, and it is faster than
the SVC FLIH & SLIH processing.

I would suggest using GRS latch manager, which has the same interface
for TCB or SRB mode, and works in cross memory. You can allocate a latch
set in your server space. Use space-switch PC routines to jump into the
server space and enqueue on a selected latch. The GRS latch manager
can be used quite effectively in a WAIT/POST-like scenario that works
in cross memory mode and SRB mode. You'll need an FRR EUT=YES,MODE=FULLXM
to handle clean-up when either the home space or the server space goes
away unexpectedly.

Seems a bit easier than writing code to manage a set of Pause elements
with usage counts.

2 cents worth. your mileage may vary.

Jeffrey D. Smith
Principal Product Architect
Farsight Systems Corporation
700 KEN PRATT BLVD. #204-159
LONGMONT, CO 80501-6452
303-774-9381 direct
303-484-6170 FAX
http://www.farsight-systems.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to