-- snip --
My understanding of channel program execution is that there is one queue
per UCB, i.e per volume. In other words there isn't a huge amount to be
gained by executing lots of concurent channel programs to the same file
(you'd get some advantage, maybe, in that you'd be able to construct
your next EXCP invocation and have the EXCP do all the prep work for it
before actually checking that you previous one is done).
Parallel access volumes however mean that there are potentially multiple
UCBs per device and therefore multiple channel program queues. However
if I examine the list of UCB associated with the extents of my file they
are all the same. So is(are) parallel access volume technology something
I can exploit in my application? The best I could presumably do is to
allow multiple channel programs to be scheduled by my application
against different extents in the file, but since my UCB addresses are
all the same, that's not going to work. Is this an MVS configuration
issue? i.e is there something that would need to be set up on the
machine to allow this? Or is this more a case of different jobs will get
different UCB addresses for the same volume, so they can be
parallelized, but you can't exploit that within a single app?
Searching on the web, Syncsort reckons it exploits PAV to get 30 percent
improvement in elapsed time or something. I want a piece of that if I
can get it.
-- snip --

Well, let me give you my take on what it looks like at a higher level than
your EXCP programming. I'm sure someone will jump in and correct me if I'm
wrong.

The UCB is the z/OS view of the device for the application program. It
stays that way even when PAVs are implemented. In the hardware definition,
this UCB would correspond to a base address. The PAV addresses are defined
in the hardware as aliases. PAVs can currently be implemented in 3 ways.
Static, WLM managed and HyperPAV. A static definition (ALIAS to BASE
mapping) is defined in the hardware. WLM managed PAVs get moved around
according to I/O load (the ALIAS to BASE mapping changes). HyperPAVs get
assigned to every new I/O and are managed by the hardware.

The DS QD,x,y,UCB command shows me the UCB for a device. This only shows me
a UCB for the BASE address (It doesn't work for an ALIAS address). The
UCBFL indicates whether the UCB is a BASE, ALIAS or HyperPAV, so maybe the
DS command is restricted to only base UCBs. The DS QP,x,y shows me
information for the base or the alias address.


John

----------------------------------------------------------------------
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