Today, doing more with less is all about working smarter. And no doubt the market, your competition and our global economy demand that your organization run lean while also being highly productive.
With the IBM i you have a great foundation. But with today’s pressures you need to optimize performance so your system can flow more smoothly, orderly and make the best use of your limited resources.
Join IBM i work management expert Chuck Stupca and learn methods to leverage your system for greater efficiency and effectiveness. We’ll show you how to:
• Use system functions to best manage the workload
• Manage the various sources of work
• Direct jobs to their appropriate work areas
After viewing this presentation you’ll understand the components that make the IBM i such a tremendous workhorse for your organization especially when you optimize the resources you have!
5. Putting IBM i to work
• WORK MANAGEMENT DEFINED
• GETTING JOBS INTO THE SYSTEM
• SYSTEM MEMORY POOLS
• SUBSYSTEMS
• SYSTEM VALUES AND COMMANDS
• iASP
6. What is Work Management?
Hey! Read about
Work
Management!
Work management is defined as:
“Work entering the computer
system, where it enters, and
what resources it uses.”
7. Putting IBM i to Work
• Like all computer systems the IBM i is used to get your work done
• In order to do work, the IBM i needs to be told what to do
• The IBM i is assigned jobs to perform
• Getting these jobs to the IBM i and getting them started is
the function of the component called Work Management
8. Work Management Basics
• Work Management is used to locate sources of work, i.e. job
assignments
• Once a source of work is located, Work Management will control
its entry into the system
• Work Management will also assign the job a work area
10. System Startup
• When the IBM i is started, several initiation tasks are
performed
• The initiation tasks are designed to prepare the system for use
• Several jobs that are used to manage the system are started
and are running without any interaction from users
• In addition, while the system is starting, System Values are
processed
11. System Values
• Several of the system values that are processed are used to
establish the work management function:
– QMCHPOOL – establishes the size of the machine pool
– QBASPOOL – specifies the minimum size of the *BASE pool
– QCTLSBSD – identifies the controlling subsystem
• QBASE (the default value)
• QCTL (another IBM supplied controlling subsystem)
• While other system values are used to manage jobs in the system,
they are beyond the scope of this presentation
12. All About Memory Pools
• Logical area of main storage where jobs
process
• Maximum of 64 system pools
• Maximum of 10 defined per subsystem
description
• Memory can be changed dynamically
– By interactive commands
– By batch commands or APIs
– By dynamic tuning
13. Why Use Multiple Pools?
• Different types of jobs
– Batch
– Interactive
– Communication
– Printing
– System
• Batch vs. Interactive – think time
• Adjust sizes based on time of day
• Assign priorities
14. System Pools
Think of main storage pools as work areas:
Reception
Sales
Accounts
Receivable
Order Processing
Shipping
and
Receiving
IT Executive
15. System Pools
• An IBM i has a minimum of two pools:
– QMCHPOOL – this is the *MACHINE pool and is the work area for many
important system functions
– QBASPOOL – this pool is *BASE and is used for many of the jobs
entering the system
• As stated earlier, the size of the machine pool is set by the system
value QMCHPOOL
• All remaining main storage is placed in *BASE
• Additional pools may be created to separate different types of work
• Storage for additional pools is taken from *BASE
16. Change Pool Sizes
• System values
– QMCHPOOL (machine pool)
– QBASPOOL (*BASE pool)
– QPFRADJ (turns on dynamic tuning)
• Commands
– CRTSBSD/CHGSBSD
– WRKSYSSTS/DSPSYSSTS
• WRKSHRPOOL/CHGSHRPOOL
17. Subsystems
• Subsystems are used to manage the jobs entering the system
• Subsystems locate work requests and initiate jobs
– Sources for batch jobs are identified by a component of the
subsystem called a JOBQ entry
– Interactive work is located by work station entries
• As part of the job initiation process, the subsystem will assign
jobs to work areas
18.
19.
20.
21.
22. Overview of Work Management
Communication job
Printing jobs
Server jobs
Hardware microcode
Jobs
User keys input
Batch jobs
Subsystems
QCMN
QSYSWRK
QINTER
QBATCH
QSPL
Memory Pools
1 *MACHINE
2 *BASE
3 SERVER
4 *INTERACT
5 Batch
6 Spooling
24. Controlling Subsystem
• Will always be running
• Regardless of your choice of controlling subsystem
– All types of work can enter the system
– Four main storage pools will be defined
• *MACHINE
• *BASE
• *INTERACT
• *SPOOL
25. System with Two Pools
All Other Work
(*BASE Pool)
Executive
(Machine Pool)
26. Getting Work to the System
• All work (other than system jobs) enters the system via a subsystem
• Where do subsystems look for work?
• How do subsystems know where the job will run?
• How do run time attributes, such as the job’s priority, get assigned?
It’s time to learn Work Management!
28. Job Start and End
Type Start End*
Interactive Sign on Sign off
Batch Job Queue End of requested command
Spool Start writer or reader End writer or reader command
Communication Request from remote
system
End of program in start request
Autostart Start of subsystem End of program in routing entry
Prestart Start of subsystem or
prestart job
ENDPJ
Batch Immediate JAVA Program or
restart job
ENDPJ or end of program
*All will end with an ENDSBS command.
29. Starting an Interactive Job
• Since the Work Station Entry is the key to finding and starting an interactive
job, taking a closer look shows 2 parameters on the Work Station Entry
– JOBD(*USRPRF)
– AT(*SIGNON)
• Since the AT parameter is *SIGNON, the subsystem will send the sign
on screen to the device
• Once the sign on screen appears the user will enter their identification
and password
• Because the JOBD (job description) specified is *USRPRF, the user
profile will specify the job description to be used
• Now, we need to investigate the job description in order
to proceed
30. Starting an Interactive Job
• A job description provides a lot of the information necessary to
manage a job
• While that information is important, the parameter that is used in
starting a job is RTGDTA
• RTGDTA is used by the subsystem to:
– Determine which system pool the job will use
– Assign run time attributes to the job
• In order to understand this part of the process, another component
of the subsystem, routing entries, needs to be examined
31. Starting an Interactive Job
Routing entries are a table that the subsystem uses to lookup
the RTGDTA provided by the job description. For an interactive
job, the RTGDTA is QCMDI
QINTER
QINTER WSE User Profile
JOBD
JOBD Routing Entries
QCMDI QCMDI
*ALL
32. Starting a Batch Job
• The QBATCH subsystem is looking for work to arrive at the
QBATCH job queue
• Batch jobs are placed on the queue by the SBMJOB command
• The job can be placed on the queue by a job scheduler like
Robot/SCHEDULE Enterprise from Help/Systems
• Once a job arrives at the queue the initiation process begins
33. Starting a Batch Job
• As with interactive jobs, a batch job will run with a user profile and
a job description
• The job description can be specified on the SBMJOB command
or by the user profile used to run the job
• Since most user profiles and job descriptions are designed for
interactive work, another parameter on the SBMJOB command,
RTGDTA should be supplied
• The RTGDTA specified on the command will be used to look for
the appropriate routing entry in the subsystem
• Usually, the RTGDTA will be QCMDB
34. Starting a Batch Job
QBATCH
QBATCH JOBQE User Profile
JOBD
JOBD Routing Entries
QCMDB QCMDB
QBATCH
SAMPLE
QBATCH
35. Starting a Batch Job
• Notice that another object is shown in the initiation process, the job class
• Although not shown on the interactive job initiation it is there
• The job class is designated on the routing entry used to start the job
• The class provides run time attributes for the job
• The most important attribute is the job’s priority
• The priority of the job determines its importance and is used to manage
access to the CPU
• The default priority for batch jobs is 50, interactive jobs have a priority
of 20
36. Autostart Jobs
• An autostart jobs is a special type of job that will start whenever
the subsystem starts
• Some typical autostart jobs are system monitors, servers, system
setup, etc.
• In order to start one of these special jobs, the subsystem has
autostart job entries
• When the subsystem starts, it will initiate the autostart job entries
before any other jobs
• QCTL has an autostart job that will collect performance data
• Starting an autostart job follows the same procedure as any
other job
38. What is an iASP?
• iASP defined
– Is this new?
• Why do you need an iASP?
• How do you use an iASP?
39.
40. Building Blocks: IBM i iASPs
4
Why use iASPs?
– Clusters
• Building block for HA/DR storage
replication based clustering
– Consolidation
• Meet compliance needs for isolation
• Reduce software footprints
• Reduce number of OS upgrades
– Archive
• Storage performance &cost by iASP
– Uptime
• Off-line backups with replication
• Shorter IPL – leave non-critical iASPs
offline till after IPL
Things to do before the show. 1. Upload the presentation and lobby slides 20-30 minutes ahead of time.2. Change rights for attendees to only chat with panelist3. Change event options and get rid of Q&A4. Auto Advance the lobby Slides every 8 seconds.5. Do audio checks very so often, talk about new features, new products, weather, kid sporting events, the Twins, etc. Ice fishing.There will be a moment of silence while I start the recording.Timing:3 minutes intro40-45 min presentations10 minutes questions.
The Robot scheduling solution is one area that came to mind regarding assisting and aiding you in managing the “work” that’s entering the system. We’ve been assisting customers in this area for over 30 years now. Ever night Robot submits millions of jobs all over the world and totally automated.