Shai has said that he understands what the Read Count, Search Key Equal, TIC 
*-16 loop is doing.  His problem is that when simulating how that sequence 
works, he cannot know, without also reading the tracks involved (which for 
performance reasons he doesn't want to do) which track, if any, has the key 
that will cause the loop to end, which will then presumably be the only track 
in the range of tracks being searched that will be accessed by a write command 
coming after the search/TIC pair.  Thus he cannot know which track to 
replicate.  One way to solve this problem is to replicate all the tracks within 
the range being searched, which will depend on whether the chain is operating 
in CKD or ECKD mode and also on the current file mask.

When in CKD mode, the maximum number of tracks that can be in a multi-track 
search operation is however many tracks constitute one full cylinder.  When in 
ECKD mode, the maximum number of tracks that can be accessed in any multi-track 
operation is always two, the track where the operation begins and one track 
beyond that.  In all these cases, if the search fails after accessing all 
possible tracks in the range allowed, the channel program will end with a 
Record Not Found error, which may then cause the operating system to redrive 
the channel program on a new cylinder or a new range of tracks.  Presumably his 
code would also intercept such a redrive operation with the new range of tracks 
visible.

The problem here is that a very large number of tracks may have to be searched 
before the search command is successful, and he doesn't want to have to 
replicate any more tracks than have really been changed by a write command 
coming immediately after the Search/TIC.  A real DASD will never have more than 
one track written to, but Shai's difficulty lies in knowing which one track to 
replicate.

Bill Fairchild
Rocket Software

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of 
Rick Fochtman
Sent: Tuesday, November 02, 2010 7:33 PM
To: [email protected]
Subject: Re: The replication feature.

On real hardware, the READ_COUNT will give you the address of the record 
whose key is being compared by the next CCW. It's a sequence that is 
heavily used in searches of non-indexed VTOCs.

Rick
------------------------------------------
shai hess wrote:

>Yes, I know it and I support it.
>But be aware that I can not see the result of the READ_COUNT because I take
>control before the IO is really done to the real device.
>
>Shai
>
>On Mon, Nov 1, 2010 at 12:27 PM, Rick Fochtman <[email protected]> wrote:
>
>  
>
>>---------------------------------------<snip>-----------------------------------
>>
>>
>>A few words on replication.
>>    
>>
>>>The standard replication is sending CCWS to all controller which
>>>have mirrors disks. Sometime controller send data to other controller to
>>>sync the data between all of them.
>>>In this process each controller emulates the CCWS and by that create the
>>>same data as the source disk. In this case the search key is very easy to
>>>implement.
>>>
>>>MFNetDisk because of the slow media of TCP do something else. It is
>>>analyze
>>>the CCW in memory without accessing the source disk data. That is why it
>>>is
>>>hard to process the search key without access the data in the disk. After
>>>process the CCW it is decide what tracks need to be ReSync in the mirrors
>>>of
>>>the source disks. This process is complicate process especially for search
>>>key CCW. Using this processing, MFNetDisk never block the real disk but
>>>the
>>>minus is that this is ASync processing meaning that if there is crash in
>>>MF,
>>>the mirror may be not fully Sync with the source disk. the MFNetDisk
>>>replication can be good if you want to create Sync point or backup of the
>>>real disk in specific time where you can validate that the process of
>>>ReSync
>>>is done completely without updating the source disks for short time until
>>>the ReSync is totally over. This is called Sync Point where the mirrors is
>>>fully Sync with the real disk.
>>>
>>>About the MFNetDisk emulation. Each CCW is sent to the PC which access the
>>>data in the emulate disks and easily can process any CCW include serach
>>>key
>>>and all other CCWS.
>>>
>>>
>>>      
>>>
>>-------------------------------------------<unsnip>-------------------------------------
>>Shai, it's entirely acceptyable to use a READ COUNT CCW before the SEARCH
>>KEY HIGH-OR-EQUAL CCW.
>>
>>READ COUNT
>>SEARCH KEY HIGH-OR-EQUAL
>>TIC *-16 (Back to the READ COUNT
>>READY DATA (or WRITE DATA, as needed)
>>
>>Rick
>>
>>
>>----------------------------------------------------------------------
>>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
>>
>>    
>>
>
>----------------------------------------------------------------------
>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
>.
>
>  
>


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

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