31
Still Manually Managing Batch Workloads to Completion? A Risk Too Far? Kelly Vogt Compuware a BMC Company [email protected] 5 November 2020 Session 3AO

Still Manually Managing Batch Workloads to Completion? A

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Still Manually Managing Batch Workloads to Completion? A

Still Manually Managing Batch Workloads to Completion? A Risk Too Far?Kelly Vogt

Compuware a BMC Company

[email protected]

5 November 2020

Session 3AO

Page 2: Still Manually Managing Batch Workloads to Completion? A

Dedicated to the Real Batch Heroes…Hint: It’s Not the Bleedin’ Officers!

Page 3: Still Manually Managing Batch Workloads to Completion? A

Agenda

Your Batch StrategyHave you ever thought of it like this?

Manual OperationIt’s not difficult until it is…

Proper InitiationWalking the tightrope

How to Continuously Achieve Maximum ThroughputSettling for “good enough” is not good enough

Page 4: Still Manually Managing Batch Workloads to Completion? A

Your Batch StrategyHave you ever thought of it like this?

Page 5: Still Manually Managing Batch Workloads to Completion? A

Every Shop Has a Batch Strategy

• What is a Batch Strategy?

• Processes and procedures

• Roles and responsibilities

• Technical and domain knowledge

• Standards and conventions

• Job schedulers, system exits and tools

• And all the products that make up your batch environment

• Should be responsive to your changing needs

• Does it optimize your batch processing?

• Does it optimize your operational costs?

• Is it retirement proof?

How Agile Is It???

Page 6: Still Manually Managing Batch Workloads to Completion? A

Every Shop Has a Batch Strategy

• Some are “hard coded”… Set it up and let what happens, happen…

• Some are heavily scriptedSee This… do That… What if we don’t have a script for This?!

• Most are hugely dependent upon long-experienced, skilled and knowledgeable individuals

Page 7: Still Manually Managing Batch Workloads to Completion? A

Manual OperationIt’s not difficult until it is…

Page 8: Still Manually Managing Batch Workloads to Completion? A

JES2 Is a Manually Operated Environment• After 50+ years, batch is still manually

operated

• Operation of JES2 is not for faint-hearted

• Much technical knowledge

• Juggling and plate-spinning skills

• Domain knowledge

• Constant attention to details

• Problem resolution requires experience to keep batch moving timely

• It’s a craft and your operators are masters of their craft

Page 9: Still Manually Managing Batch Workloads to Completion? A

And Then You Get to This Level of Complexity!

43 Batch Job Classes!… and you can have a lot more…

Page 10: Still Manually Managing Batch Workloads to Completion? A

Common Job-Related Commands$A A Release all jobs

$A J Release held jobs

$ADD JOBCLASS Add new job class

$ADD SRVCLASS Add new perm Service class element

$C J Cancel a job

$D A Display active jobs

$D INITDEF Display logical initiator currently defined

$D INTRDR Display current INTRDR initialization statement

$D I Display Initiators

$D JOBCLASS Display job class characteristics

$D JOBDEF Display characteristics assigned to jobs

$D JOBPRTY Display current job priority characteristics

$D J Display information about specific jobs

$D M J Send a message (to a job)

$D N Display job queue information

$D Q Display the number of jobs queued

$D RDI Display the status of JES2

$DEL JOBCLASS Delete a job class

$E J Restart a job

$G A Release a job at another node

$G C Cancel a job on another node

$G D Display a job on another node

$G H Hold a job on another node

$H A Hold all jobs

$H J Hold specific job

$P I Stop an Initiator

$P J Purge a job

$P XEQ Prevent JES2 & WLM initiators from selecting work

$S I Start an Initiator

$S J Initiate a batch job into execution

$S SRVCLASS Start JES2 processing for a given Service Class

$S XEQ Allow JES2 and WLM initiators to select work

$T INTRDR Control internal readers

$T I Control Initiators

$T JOBCLASS Set job class characteristics

$T..Qaff Which member a particular job class is active on

$T..XEQCount Max number of jobs executed in the MAS by job class

$T..XEQMEMBER Max number of jobs that can execute concurrently

$T JOBDEF Set job processing characteristics

$T JOBPRTY Set job scheduling characteristics

$T SRVCLASS Modify JES2 information for specified service class

$T J Change job class, scheduling priority or affinity

$TJ..SRVCLASS Change WLM Service Class for the Job specified

$TJ..Class Assign a new Class for the Job(s) specified

$TJ..Priority Assign a new Priority for the Job(s) specified

$TJ..Sysaff Change System affinity for the Job(s) specified

$Z I Halt initiator activity

MVS RESET Change Service Class, Quiesce or Job Reclassify

RESET...SRVCLASS Assign new Service Class to Job(s)/Address Spaces

RESET...QUIESCE Quiesce target Job or Address Space

RESET...RESUME Reclassify a Job or Address Space

Page 11: Still Manually Managing Batch Workloads to Completion? A

People Do Make Mistakes…

Page 12: Still Manually Managing Batch Workloads to Completion? A

Proper InitiationWalking the tightrope

Page 13: Still Manually Managing Batch Workloads to Completion? A

Job Classes

• Job classes are used to segregate jobs… to classify work into lists

• Historically 36 single character job classes A-Z, 0-9

• Now 8-character classes available… up to 512 in total!

• For every job class there is at least one ,often more initiators assigned

Production

sales

night

sludge

dev2

dba

lab

Turn center

Page 14: Still Manually Managing Batch Workloads to Completion? A

What Classes Don’t Do…

They don’t work together• Each job queue is independent from

other job queues

• Jobs in queues may be prioritized, but irrespective of jobs in other queues

• Job queues effectively race against each other to get initiated

Page 15: Still Manually Managing Batch Workloads to Completion? A

Initiators

“JOHN”

AAAA

BB

B

BB

C

BB

BB

Z

BB

D,E,FI

BB

F,E,D

“BOB”

“TOM”

MB

B

E,F,D

BB

BB

BB

BB

P,KJ

L

N Q

NR

BB

BB

S,U

BB

BB

V,X,G

BB

H

O

T,U

• INITs pull jobs based on classes assigned to each initiator

• Single class

• Multi-class

• Round robin

• WLM-managed INITs

Page 16: Still Manually Managing Batch Workloads to Completion? A

What Initiators Do…

Selects and prepares jobs for execution• Converts and interprets JCL

readying it for execution

• Dataset allocation – or not!

• Load and transfer control to job step program (application)

• Inter-job step activity

• WLM manages performance

Page 17: Still Manually Managing Batch Workloads to Completion? A

Initiation Levels

• Over-Initiation – attempting to execute too much work concurrently – batch drags

• System efficiency is impacted• Programs wait for CPU dispatch

• Processor cache misses

• More CPU time required to accomplish the same work

• Excess job classes and all that entails puts you here!

Page 18: Still Manually Managing Batch Workloads to Completion? A

Over-Initiation

Commands increasing initiation levels

• $A A• $SI• $SJ• $S SRVCLASS• $S XEQ• $T… Xaff• $T… XEQ Count• $T… XEQMEMBER• $TJ… SRVCLASS• RESET… SRVCLASS

• Broad brush strokes with operator commands can easily over-commit available capacity, especially in small environments

• Optimizing the CPU requires constant monitoring and intelligent adjustment

• Prioritizing job access to the CPU must be thoughtfully done

Page 19: Still Manually Managing Batch Workloads to Completion? A

Initiation Levels

• Under-Initiation – running too little work

• Executing tasks run fast, but you could have run more• Wasted opportunity

• Possibly risking SLAs

• Is your machine oversized?!

Page 20: Still Manually Managing Batch Workloads to Completion? A

Under-Initiation

Commands decreasing initiation levels

• $C J

• $HA

• $HJ

• $PI

• $PJ

• $P XEQ

• $T… Xaff

• $T… XEQ Count

• $T… XEQMEMBER

• $TJ… SRVCLASS

• RESET… QUIESCE

• Broad brush strokes with operator commands easily starve your batch operation for work, wasting CPU time

• Optimizing the CPU requires constant monitoring and adjusting

• You are actually only one job step change away from upsetting the balance

Page 21: Still Manually Managing Batch Workloads to Completion? A

Proper Initiation

• Proper Initiation – where all work runs at machine speed

• Batch rips through the system

• Maximum throughput achieved

• You’re in the “sweet spot”

• Processor efficiency is optimized so jobs use less CPU than when over-initiated

Page 22: Still Manually Managing Batch Workloads to Completion? A

How to Consistently Achieve Maximum ThroughputSettling for “good enough” is not good enough

Page 23: Still Manually Managing Batch Workloads to Completion? A

How Well Are You Doing Today?

Are you over/under-initiating?

Is someone watching:

• Batch service class performance?

• System utilization?

• WLM metrics?

Are you starting/stopping initiators?

• Changing initiator classes?

• Manual or automation?

Page 24: Still Manually Managing Batch Workloads to Completion? A
Page 25: Still Manually Managing Batch Workloads to Completion? A

Do Your Job Priorities Align with Their Importance to the Business?How do you ensure the most urgent job is the next to initiate?

How often do you use $SJ commands?

• Do you change job queue priority?

How often do you change job WLM service class?

Do people call to ask: “When will my job start?”

Business Value1) Critical2) High3) Medium4) Low5) Discretionary

Page 26: Still Manually Managing Batch Workloads to Completion? A

How to Consistently Achieve Maximum Throughput

Continuously observe and adjust…

• z/OS monitor system utilization

• WLM performance

• Decide whether to increase/decrease/maintain INITs

~ When He’s Not Doing That ~

Continuously scan the job queues

• Reorder each queue by job’s business importance

Repeat constantly… all day… all night… & all weekend…

Page 27: Still Manually Managing Batch Workloads to Completion? A

How to Consistently Achieve Maximum Throughput

Decades of technical and domain knowledge, deep experience and well-practiced expertise

What will you do when they retire?

AUTOMATE!

But you each have our own superheroes

Their best effort keeps it going

Page 28: Still Manually Managing Batch Workloads to Completion? A

Mainframe Batch Maturity Model

1 Reactive

Jobs are submitted via scheduler and managed by operations

2 Proactive

JCL standards are enforced, jobs prioritized via job classes and executed by initiators; service-level objectives prevalent

3 Automated

Service-level management is automated across complete batch process

4 Optimized

Batch demand is managed to reduce cost while maintaining service levels

5 Modernized

Consolidated real-time control and visualization of your complete end-to-end batch process

Console Operations has been automatedStorage Management has been automatedNetwork Operation has been automated

WHY NOT BATCH?

Batch Maturity Modelcompuware.com/batch-maturity-wp

[email protected]

Page 29: Still Manually Managing Batch Workloads to Completion? A

Q

U

E

S

T

I

O

N

S

Page 30: Still Manually Managing Batch Workloads to Completion? A

Please submit your session feedback!

• Do it online at http://conferences.gse.org.uk/2020/feedback/3AO

• This session is 3AO

Page 31: Still Manually Managing Batch Workloads to Completion? A

GSE UK Conference 2020 Charity

• The GSE UK Region team hope that you find this presentation and others that follow useful and help to expand your knowledge of z Systems.

• Please consider showing your appreciation by kindly donating a small sum to our charity this year, NHS Charities Together. Follow the link below or scan the QR Code:

http://uk.virginmoneygiving.com/GuideShareEuropeUKRegion