Monday, September 15, 2008

PAV vs. HyperPAV

I'm not taking any credit for this post, but if you want a simple and clear explanation of the differences between Static PAV, Dynamic PAV and HyperPAV, just head over to the IBM-Main Discussion list. Bill Fairchild of Rocket Software explains it all in a couple of sentences. I hope he doesn't mind quoting him and if you want some more detail, just get to the thread itself.
"First came static PAVs. You decide where the PAVs are inside each LCU (Logical Control Unit), a collection of up to 256 devices. If you want to change any of them, you have to redo your configuration. Lots of work. Error-prone PITA. Hard to change. You must know your hot devices in advance.

Next came dynamic PAV. The WLM decides within one LCU what should be PAVed for the next WLM interval in order to deliver your requested goals, WLM issues control I/O commands to the controller, PAV array is reset inside the controller, and the new PAV configuration is fixed in concrete (static) until the end of the next WLM interval, maybe 10 minutes later?

Next came HyperPAV. IOS decides on an I/O by I/O basis if a PAV is needed for the next I/O, finds one from a pool of available PAV UCBs, directs the new I/O to a PAVed UCB which the controller knows how to send to the proper device, then IOS returns the PAV UCB to the pool of available PAV UCBs when the I/O ends. You don't have to reconfig. You don't wait until the end of the WLM interval. IOS does no control I/O to tell the controller a new PAV configuration. Instantaneously dynamic as opposed to quasi-static as opposed to seriously static". (Bill Fairchild of Rocket Software)