Table of Contents (exploded view)
Abstract for z/OS MVS Programming: Workload Management Services
Summary of changes
Changes made in z/OS Version 2 Release 2 (V2R2) as updated March 2017
Changes made in z/OS Version 2 Release 2 (V2R2) as updated December 2015
Summary of changes for z/OS Version 2 Release 2 (V2R2)
Changes made in z/OS Version 2 Release 1 (V2R1) as updated December 2013
Changes made in z/OS Version 2 Release 1
Using the workload management services
Introduction to the workload management services
Services for subsystem work managers
Why use the work manager services
Why use the execution delay monitoring services
Why use the enclave services
Comparison to other services
Enterprise Workload Manager (EWLM)
Why use the queueing manager services
Why use the routing manager services
Why use the scheduling environment services
Why use the sysplex routing services
Why use the query system information service
Services for performance monitors
Why use the workload reporting services
Getting information from SMF type 99 records
Services for application programs
WLM services that support 64-bit addressing
Using the subsystem work manager services
Considerations for using the services
Suggested services for a single address space transaction manager
Using the execution delay monitoring services
Suggested services for a work manager that calls a data manager
Services for multiple address space work managers
Execution delay monitoring services for multiple address space work managers
Services for work managers that distribute work requests
Determining the subsystem name and type
Using IWMWMCON when distributing work in a sysplex
Creating and using enclaves
Why would you use an enclave?
SRBs in enclaves
Tasks in enclaves
Comparison of enclaves and execution delay services
Creating an enclave
Comparison between independent, dependent, and work-dependent enclaves
Registering an enclave
Multisystem enclaves
Scheduling an SRB in an independent enclave
Joining tasks to an independent enclave
Using dependent enclaves
Using a multisystem enclave
Performance management of address spaces with enclaves
Using ENQ/DEQ or latch manager services with enclaves
Enclave resource accounting
Managing the performance of work in enclaves
Using independent enclaves
Using dependent enclaves
Using work-dependent enclaves
Querying an enclave's classification information
Querying a dispatchable unit's enclave status
Deleting an enclave
Participating in Enterprise Workload Management
Enclave Services and EWLM
Modelling your business transactions
Connecting with WLM as an EWLM participant
Disconnecting from WLM
Creating an enclave
Deleting an enclave
Classifying work requests
Explicitly starting and stopping work requests
Continuing a work request at another application
Blocking and unblocking work requests
Enclave services and the ARM API
Instrumenting a C application for ARM
Using the ARM services for instrumenting applications and for managing ARM transactions on z/OS
Supporting transaction management
z/OS ARM sub-buffers to support WLM management
Sub-buffer arm_subbuffer_zos_connect
Sub-buffer arm_subbuffer_zos_classify
Compiling an ARM-instrumented application
Using the C/C++ compiler in batch
Using the C/C++ compiler under z/OS UNIX System Services
Binding an ARM-instrumented application
Using the binder in batch
Using the binder under z/OS UNIX System Services
Running an ARM-instrumented application
Using the queueing manager services
Example of using the queueing manager services
Managing the number of server instances per server address space
Directing work requests to a specific server region
Updating a service definition with application environment information
Using the queueing manager connect exit
Using the routing manager services
A routing manager model
Using the routing server connect exit
Using the scheduling environment services
Obtaining scheduling environment definitions
Manipulating resource state settings
A model work flow
Using the sysplex routing services
Why use the sysplex routing services?
When to use the sysplex routing services
Registering as an eligible server
Determining where to route work
Deregistering as an eligible server
Example of using the sysplex routing services
WLM sysplex workload distribution
Calculation of server weights
Using the workload reporting services
When to use the workload reporting services
Using ENF signals to guide data collection
ENF event code 41
Using the IWMRCOLL service
Using the information in IWMWRCAA
Using the subsystem work manager delay state information
Using the continued state information
Using delay states to report subsystem interactions
Using the response time information
Interpreting report class data
Using the IWMRQRY service
Using the administrative application services
Installing a service definition
Mapping a service definition
Adding program-specific extensions to a service definition
Example of service definition extensions
Maintaining the service definition
Checking a service definition using IWMDINST
Recommended validity checking
Preventing service definition overlays
Using the COND parameter on IWMDINST
Using the ENQ macro
Example of using IWMDINST to install a service definition
Extracting a service definition
Example of using IWMDEXTR to extract a service definition
Activating a service policy
Example of activating a policy using IWMPACT
Querying the active classification rules
Example of IWMCQRY
Using SMF record type 99
When to start SMF record type 99
Starting SMF record type 99
Identifying work in SMF type 99 records
Identifying server service classes
Identifying internal service classes
Interpreting trace table entries
Policy adjustment
Resource adjustment
Receivers and donors
Performance index
Receiver value
Net value
Small processor consumer
Storage housekeeping
Reverse housekeeping
Interpreting management policy data
Dispatching priority
MPL targets
Swap protect time
Storage target
Cap slices
I/O priority
Number of server address spaces
Buffer pool management data
Interpreting plots
System paging delay plot
Period MPL delay plot
Period ready user average plot
Period swap delay plot
Period paging rate plot
Period proportional aggregate speed plot
I/O delay plot
Queue delay plot
Address space paging plots
Central storage plot
Processor storage plot
I/O velocity plot
Buffer pool hit ratio plot
Interpreting priority table data
Interpreting lack of action
Examples of interpreting SMF record type 99
Action trace example
Interpreting the trace data
MPL policy example
Reference: Workload Management Services
Workload management services
IWMCNTN — WLM contention notification
IWMCQRY — Query classification attributes
IWMDEXTR — Extract WLM service definition
IWMDINST — Install a service definition
IWMEBLK — Work request blocked
IWMEDREG — Deregister a WLM enclave
IWMEGCOR — Retrieve a correlator
IWMEJOIN — Join WLM enclave
IWMELEAV — Leave WLM enclave
IWMEQTME — Query enclave CPU time
IWMEREG — Register a WLM enclave
IWMERES — Change an enclave
IWMESQRY — Query enclave state
IWMESTOP — Stop a work request
IWMESTRT — Start a work request
IWMEUBLK — Work request no longer blocked
IWMEXPT — Export a WLM enclave
IWMGCORF — Get correlator flags
IWMIMPT — Import an enclave
IWMMXDC — Exit for resource data collection
IWMMXRA — Exit for resource adjustment
IWMPACT — Activate service policy
IWMPQRY — Query active service policy
IWMQCXIT — Queue manager connect exit
IWMRCOLL — Collect workload activity data
IWMRESET — Change a job
IWMRQRY — Collect address space delay information
IWMSCORF — Set correlator flags
IWMSCXIT — Server manager connect exit
IWMSEDES — Scheduling environments determine execution service
IWMSEQRY — Scheduling environments query service
IWMSESET — Scheduling environments set resource service
IWMSEVAL — Scheduling environments validate service
IWMSINF — WLM server manager inform service
IWMSRDNS — Get sysplex routing location list
IWMSRDRS — Deregister a server for sysplex routing
IWMSRFSV — Sysplex routing find server routine
IWMSRSRG — Register a server for sysplex routing
IWMSRSRS — Sysplex routing information
IWMUEXPT — WLM undo export
IWMUIMPT — WLM undo import
IWMWMCON — WLM modify connect
IWMWQRY — Query service
IWMWQWRK — Query work service
IWMWSYSQ — Query system information
IWM4AEDF — WLM define dynamic application environments
IWM4CLSY — Classify work
IWM4CON — Connect to workload management
IWM4DIS — Disconnect from workload management
IWM4ECRE — Create an enclave
IWM4EDEL — Delete an enclave
IWM4EQRY — Query an enclave
IWM4HLTH — Setting server health indicator
IWM4MABN — Monitor environment abnormal event
IWM4MCHS — Change the state of a work request
IWM4MCRE — Create delay monitoring environment
IWM4MDEL — Delete delay monitoring environment
IWM4MDRG — Deregister a resource from monitoring
IWM4MGDD — Define descriptions for generic delay states
IWM4MINI — Monitoring environment initialization
IWM4MNTF — Notify of work execution completion
IWM4MREG — Register a resource for monitoring
IWM4MRLT — Relate monitoring environments (PBs)
IWM4MSTO — Stops a work unit
IWM4MSTR — Indicate the start of a work unit
IWM4MSWC — Monitoring environment switch
IWM4MUPD — Update data for a work unit
IWM4MXFR — Monitoring environment transfer
IWM4MXTR — Monitoring environment extract service
IWM4OPTQ — Query IEAOPTxx parameters
IWM4QDE — Delete a request from the queue for an execution address space
IWM4QHLT — Query server health indicators
IWM4QIN — Insert a request onto the queue for an execution address space
IWM4RPT — Report response time
IWM4SLI — Application environment limit service
IWM4SRSC — Obtain server-specific routing information
IWM4SSL — Select a request from a caller's work manager queue
IWM4SSM — WLM server select secondary service
IWM4STBG — WLM begin server transaction service
IWM4STEN — End a request from a caller's work manager queue
IWM4TAF — WLM temporal affinity service
SMF type 99 action codes
Application validation reason codes
Structure of the XML service definition (DTD)
C language interfaces for workload management services
Interfaces for sysplex routing services
Interface for querying a virtual server
WLM services supporting 31-bit addressing only
IWMAEDEF — Defining Dynamic Application Environments to Workload Management
IWMCLSFY — Classify work request
IWMCONN — Connect to workload management
IWMDISC — Disconnect from workload management
IWMECQRY — Query enclave classification attributes
IWMECREA — Create an enclave
IWMEDELE — Delete an enclave
IWMEQRY — Enclave query
IWMMABNL — Record abnormal event
IWMMCHST — Monitor change state of work unit
IWMMCREA — Create delay monitoring environment
IWMMDELE — Delete the monitoring environment
IWMMEXTR — Monitoring environment extract
IWMMINIT — Initialize monitoring environment
IWMMNTFY — Notify of work execution completion
IWMMRELA — Relate monitoring environment service
IWMMSTOP — Stop a work unit
IWMMSTRT — Indicate the start of a work unit
IWMMSWCH — Switch monitoring environment
IWMMUPD — Update data for a work unit
IWMMXFER — Transfer monitoring environment
IWMQDEL — Delete a request from the queue for an execution address space
IWMQINS — Insert a request onto the queue for an execution address space
IWMRPT — Report on work request completion
IWMSLIM — Application environment limit service
IWMSSEL — Select a request from a caller's work manager queue
IWMSSEM — WLM server select secondary service
IWMSTBGN — Begin a request from a caller's work manager queue
IWMSTEND — End a request from a caller's work manager queue
IWMTAFF — WLM temporal affinity service