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

