z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Considerations for Cast-out Using the Store-in Cache Method

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

In the store-in cache method, you must assign changed data items to cast-out classes. You must determine the criteria to use with these cast-out class assignments. You can group data items with similar “cast-out frequency” in the same cast-out class. For instance, you could assign data items that are to be cast out frequently to one cast-out class, and data items that could be cast-out infrequently to a different cast-out class. Whenever you are ready to cast out, you cast out all the data items belonging to a certain cast-out class at the same time.

Before you cast out data by cast-out class, you can use IXLCACHE REQUEST=READ_COSTATS to obtain information about data items in the castout class. When you have a sufficient number of data items to cast out, you can use IXLCACHE REQUEST=READ_COCLASS to determine the names of the data items. Then, when you are ready to write the data items to permanent storage, you issue IXLCACHE REQUEST=CASTOUT_DATA once for each data item or IXLCACHE REQUEST=CASTOUT_DATALIST for a list of data items.

If the cache structure is allocated with user data field (UDF) order queues (supported by CFLEVEL=5 or higher), the system maintains a queue for each cast-out class for which user-defined data was written to the directory entry. The queue is ordered in ascending order by the UDF field value. You can use the REQUEST=READ_COCLASS,COSTATSFMT=COSTATSLIST invocation to request that the system return for each cast-out class, the count of data elements and the user data on the queue with the smallest user data value. How you use this data is determined by your own protocol.

The cast-out service of IXLCACHE allows you to read the data item that you intend to write to permanent storage from the cache to your local cache buffer. The service also gives you the cast-out lock for the data item so you can serialize the update of the data item on permanent storage. While you hold the lock, the data item is said to be locked for cast-out, and other users cannot cast out the data item. However, any user can update the data item in the cache even if it is locked for cast-out. Resources for a data item that is locked for cast out cannot be reclaimed.

The CASTOUT_DATA and CASTOUT_DATALIST requests update the directory entry of each data item to indicate unchanged data. To write the data item to permanent storage, use the access method that you normally use to access permanent storage. After completing the write operation, use IXLCACHE REQUEST=UNLOCK_CASTOUT or REQUEST=UNLOCK_CO_NAME to release the cast-out lock. You can issue the UNLOCK_CASTOUT request once to free multiple locks that belong to data items within a certain cast-out class or you can issue the UNLOCK_CASTOUT request to free a single lock. The UNLOCK_CO_NAME request allows you to free only a single lock, and is a more efficient method than UNLOCK_CASTOUT for releasing a single lock.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014