Troubleshooting
Problem
This document will briefly explain the function of the main load and dump tasks used when the system processes a SAVE command.
Resolving The Problem
The flow control of system jobs during a SAVE scenario follows:
Save Job
o Gather information about objects requested to be saved
o Get necessary locks on the objects
o Define the object networks
o Pass REQIO MI instructions to LDMAIN (REQIO indicates objects to be saved and consists of one or more networks, but never a partial network)
o Receive REQIO feedback information
LDMAIN
o Interfaces with the SAVE job
o Creates, oversees, and destroys the other LD tasks
o Breaks up the REQIO by network and sends network messages to LDDNPR
o Responds to user job with feedback when all network messages for a particular REQIO are complete
o The number of LDMAIN tasks equal the number of S/R processes that are active
LDDNPR
o Receives network messages (related objects like physical/logical files)
o Seize objects within the network
o Pre-bring objects to try and avoid faulting by other LD tasks
o Break network messages into object messages (1 per object)
o Send object messages to LDDOPR
LDDOPR
o Receives object messages
o Get object segment information via object specific routines (LDSUBxx)
o Append segment information to object information
o Send object messages to LDDOIM
LDSUBxx
o Object specific routines to gather segment information
o Sends segment information back to LDDOPR
LDDOIM
o Receives object messages
o Manages finite amount of main storage buffer used for I/O
o Issues reads from DASD (SMDSTASKxx) using the segment information bringing the data into main storage (read responses are returned from SMDSTASK to LDDSCH)
o Receives device responses from the device I/O manager
o Sends object messages to LDDPST once an object's device requests are all complete
o The number of LDDOIM tasks would indicate the number of save processes that are active. (LDLOIM tasks represent the number of restore processes active.)
LDDSCH
o Receives DASD responses
o Compresses data, if compression chosen for the optical device
o Packages data into device messages
o Sends device messages to the device chosen as the target of the save operation
LDDPST
o Receives completed object message
o Releases the seize of the object
o Returns object message to LDDNPR for reuse
o Sends network message to LDMAIN when all objects in the network are complete
LDCKMN
o For SWA, receives the REQIO messages from LDMAIN
o Manages the subtasks
o Sends the REQIOs back to LDMAIN once the overall checkpoint is reached
o The number of LDCKMN tasks indicate the Current number of saves that are using save while active.
LDCSxx
o Does much of the normal function of LDDNPR and LDDOPR for a SWA session
o Breaks REQIO into networks
o Seizes groups of objects
o Gets object segment information using object specific routines (LDCPxx)
o Appends segment information to object information
o Establishes checkpoint for a group of objects
o Releases seizes
LDCPxx
o Does the function of the LDSUBxx tasks for a SWA session
o Object specific routines to gather segment information
o Adds segments to side file
o Sends segment information back to LDCSxx
LDSEGDESTRYTSK00
o Used to asynchronously destroy segments when a save file is cleared or deleted so that control can be returned to the user while the segments are destroyed in the background.
o Used when an error occurs during a restore operation (segments created while restoring an object may need to be destroyed).
o Only invoked if there are at least 10 segments to destroy (approximately 160MB SAVF, for example). Once the task is created, it waits until there has been no work for it to perform for 20 minutes before terminating.
o If saving to save files and these savfs are being cleared or deleted on a regular basis, the LDSEGDESTRYTSK00 will be seen in the machine pool.
LDSEIZEHOLDTASK
o Holds seizes for a parallel save operation
o Receives seizes from the LDDNPR task selected for pre processing
o Transfers seizes to the LDDPST task selected for post processing
Notes:
1. As a general rule, there are 14 LDCPxxx, LDCSxxx and LDSUBxxx tasks created per session. Therefore, if you have seven save sessions active with five of the seven save jobs running SWA, there would be 70 SWA LDCPxxx and LDCSxxx tasks and 98 LDSUBxx tasks.
2. There are a number of other tasks started directly or indirectly by LoadDump during a save that are not LoadDump tasks. These other tasks include (SMDSTASKnn) and during SaveWhileActive (COLDQT, JO-QUIET, SMSWAINSnn)
Historical Number
479714519
Was this topic helpful?
Document Information
Modified date:
11 November 2019
UID
nas8N1013825