TPF Coupling Facility Support CF Overview • Shared storage accessible to multiple connections • Supports cache and list data structures -Currently, TPF supports only the list model • Data is stored as logical entities - Accessed by key, name, etc., instead of by address • Supports allocation of multiple structures What's Inside a CF? Multiple structures, each containing: • An optional lock table • A set of lists or queues. Each list contains: -A set of entries containing data CF List Structure Connection 1 Connection 2 Connection 3 Lock List Entry Tab Header Data List 0 Header List 1 Header Controls Entry Controls Data Facilities Provided by the CF • List entry operations -Add entries to lists -Delete entries from lists -Read entries on lists -Conditionally update entries • Lock operations to serialize list access • Empty to non-empty list transition monitor TPF Support for the CF • Add multiple CFs to a complex • Allocate a structure in a specified CF • Connect to a structure • Monitor lists for empty to non-empty transitions • Issue commands to the CF, handle responses, and perform error recovery • Currently there is no API to place or access data in the CF (restricted interfaces). Possible Uses for CF List Structures Message passing and communication • Sender creates a list entry containing the message • Recipient monitors list waiting for entries • When entry is created, recipient reads and deletes entry and processes message Possible Uses for CF List Structures Shared queues for work distribution • Lists correspond to particular work states • Users queue list entries representing work units • Users read entries to process work • Users move entries from list to list • Users delete entries when work is complete Possible Uses for CF List Structures Locking • Users create list entries representing locks held • If entry already exists, lock is held - Users can join list of holders (if shared lock) or wait on lock • Users delete a list entry to unhold a lock -Lock can be granted to waiters -Waiters can be notified using list monitoring Summary • CF support establishes the framework for TPF to exploit the coupling facility • CF support provides a foundation for an API to allow applications to access and manipulate data