Shared Pools vs. Nonshared Pools
From: David Baxter To: All
My operations manager loves shared pools. In my experience, shared pools did not work well with ad hoc or query type reports. Everything is going through pool 2 (*BASE) and the communications jobs have their own pool, also in *BASE.
1. If you wish your interactive users to have better response, shouldn't you keep the batch jobs in their own nonshared pool?
2. Should the devices on the communications line be given their own nonshared pool?
I came from a S/36 shop four years ago and do not believe that shared pools are the best thing since sliced bread (my own prejudice). I know what all the disk makers are saying-cache, cache, and more cache. Yet, it seems to me that since batch jobs (queries and the like) eat up all available processing power, you should keep them in their own nonshared pool and separate your communications and noncommunications interactive users in nonshared pools. Any thoughts?
From: Gregory Leister To: David Baxter
I'll address your first question. If your run priority for interactive jobs is at 20 and batch jobs are at 50, then the interactive jobs will process first. Then interactive jobs should take whatever CPU it needs and batch gets what's left. We have separated our batch jobs into their own nonshared pool and it works fine.
What you don't want to do is give a nonshared pool more memory than it needs because of course it would be wasted. There are exceptions to the priorities. Try setting your time slices for your interactive jobs around 250 or 300. If you find too many jobs timing out, you will need to increase the time slice.
From: Michael Catalani To: David Baxter
You can use shared pools, but use one shared pool for interactive, one for batch, one for communications and one for spool. The idea behind using shared pools is so that multiple subsystems can use the same pool of memory. You would want to do this, for example, if you have a tremendous number of interactive users attempting to sign on at one time.
The subsystem monitor only allows one sign-on at a time per subsystem. So you can create multiple interactive subsystems pointing to the same shared pool. This allows several concurrent sign-ons, but all interactive jobs run out of the same pool of memory. But you are correct in saying that you do not want your batch and interactive jobs running out of the same shared pool. This can cause you a lot of grief.
For your second question, it is usually a good idea to separate your communication jobs into their own pool and subsystem. I have three remote sites. They all have their own subsystem but point to the same shared pool. This way, I can keep one remote site down so that I can perform maintenance on it without affecting the other sites. This allows me to add job queue entries to my California subsystem without having to affect users across town on remote.