By Tom Rankin
You may have heard the quip, “The gene pool could use a little chlorine!”. The Pool I talk about today doesn’t have any nasty viruses growing in it; however, it can help you get work done more efficiently. z/OS currently has controls over what a single job can do, such as the MEMLIMIT keyword in JCL. There are also controls over what the system can do, such as the CONFIG operator command.
z/OS introduces a new intermediate concept that allows for managing a set of related jobs as a unit. The collection of jobs is called a Memory Pool, which refers to the amount of real storage that can be used.
Based on a WLM Policy, an administrator can specify that one or more jobs be classified as belonging to a Memory Pool. The size of the Memory Pool is controlled by the Policy, which gives the admin the ability to create a Resource Group that not only controls CPU usage, but also controls real storage usage.
As an example, the admin can create a WLM Resource Group that has a Memory Limit of 10 Gigabytes of real storage and then specify that jobs starting with ‘MYJOB*’ share the Pool. If the jobs collectively approach the Pool limit, the system starts paging data out to auxiliary storage to keep the Pool below the limit. It may also slow the Pool members down in other ways if they get close to or over the limit. (System related requests, such as LSQA, Dumps, and other high priority requests, are always allowed). If the job(s) stays over the limit, the job step can be automatically terminated, or the admin can make the Pool bigger on the fly.
Memory Pools can be used to control work, such as analytic workloads running on IBM z/OS Platform for Apache Spark that can use large amounts of storage and potentially impact other work on the system. You can further restrict Spark applications to zIIPs by specifying WLM’s ‘Honor Priority in the Service Class’ setting.
In WLM terms, a Memory Pool is the set of active jobs that are associated with a WLM Resource Group. For more information on Apache Spark, WLM and Memory Pools, visit this knowledge center page.
Anyone can take advantage of this feature that is now available in z/OS 2.1 and up (with PTFs for OA50845), and in the base for z/OS 2.3. So, don’t be afraid to get your feet wet and jump in the Pool!
Last, Memory Pools will be getting filled up with new features as time goes on, so make sure to keep your towel handy!
Tom Rankin is a tester in the z/OS Memory Management area. He has worked in z/OS since 1980 in a wide variety of development and test assignments. He likes to break the system in devious ways, so customers won’t have to experience those outages. He has several patents in the areas of software test and operating system efficiency.
See also a related article by Jessie Yu, titled “Metering & Capping with z/OS Workload Management.”