[comp.os.vms] 8800 as a BATCH-machine ?

knehans@nvpna1.UUCP (Frits Knehans 43250) (08/24/87)

Having never set up a VAX as a BATCH-machine we would like to 
get some comments, suggestions on how you did it.
Or some comments on how *not* to do it.

The machine is a 128Mb 8800 VAX/VMS, which is a cluster-member.
The environment is a research-environment, using a lot of different 
applications, each of them with their own specific resource-needs.

*********

Here is the rough idea of how we want to set it up.
(NOTE: not all figures are correct, so don't *flame*)

	The queue set up as defined below gives a maximum of 36 concurrent 
jobs at various priorities and memory allocations. If all the queues were used 
to their maximum extent 24 hours per day, this would represent some 200K pages 
of memory being constantly in use (please check the figure...!). Thus some of 
the restrictions etc may be unnecessary (comments please). However this figure 
does not take into account the system queues (archiver, hyper, backup) or the 
plotter batch queues.


	Names of batch queues have not been decided, and all are represented 
by a number (eg 6$batch). Some of the well established queues are still 
available - eg FAST, SYS$BAT30, but their characteristics have been modified.

1 Description of Available Batch Queues
   General Batch queues

	Except for specialised job processing, the general batch queue 
environment is the place to start for most users. This section deals with 
these queues and points out some performance issues and also gives some 
general hints on queue usage. The queues are restricted in terms of CPU time 
restrictions, memory allocation, concurrent job processing and priority.
Users are encouraged to develop their skills within the environment, and there 
are some 'test' queues available. Some hints on how to analyze individual job 
parameters is also given. The ultimate aim is to establish a suite of batch 
queues which provide the most efficient use of the available resources.


1.0 Batch Queue Name:   1$batch

Queue Characteristics 
			BASE_PRORITY=5
			JOB_LIMIT=8
			CPUDEFAULT=00:10
			CPUMAXIMUM=00:10
			WSDEFAULT=500
			WSEXTENT=5000
Suggested Queue Usage

	The limiting factor on this queue is its CPUMAXIMUM rating of 10
minutes. This queue is therefore suited to test runs on compiles, DCL command
procedures, local area network copying and any small routines. The job limit
is eight concurrent jobs. The memory allocation is generous, the base priority
higher than interactive and other batch job processing. 


2.0 Batch Queue Name:   2$batch
Queue Characteristics
			BASE_PRORITY=4
			JOB_LIMIT=6
			CPUDEFAULT=00:30
			CPUMAXIMUM=00:30
			WSEXTENT=5000
Suggested Queue Usage

	Effectively the next stage in the general purpose batch processing 
environment, this queue offers a CPUMAXIMUM of 30 minutes, with an interactive 
base priority. Used for longer command procedures, medium sized routines etc.
Memory usage is restricted to 5000 pages maximum in the working set.


3.0 Batch Queue Name:   3$batch

Queue Characteristics
			BASE_PRORITY=4
			JOB_LIMIT=6
			CPUDEFAULT=01:00
			CPUMAXIMUM=01:00
			WSDEFAULT=500
			WSEXTENT=2000
Suggested Queue Usage

	A generalised all purpose batch queue. Notice that the CPUMAXIMUM is 
set for one hour. There is a relatively restricted access to memory 
(WSEXTENT=2000) but base priority is equivalent to interactive processing. 
This queue should be used as the next step up from the 'FAST' and 
'INTERMEDIATE' queues, for longer processing, for example several compiles in
a command procedure, with various resulting reports and or printouts/plots 
etc.

4.0 Batch Queue Name:   4$batch
Queue Characteristics
			BASE_PRORITY=4
			JOB_LIMIT=4
			CPUDEFAULT=08:00
			CPUMAXIMUM=08:00
			WSDEFAULT=500
			WSEXTENT=2000
Suggested Queue Usage

This queue is appropriate for background batch processing, on a (2)daily
basis. 
This queue represents the upper limit of the general batch processing 
environment. For jobs which require more CPU time, the specialised queues 
should be used.

SPECIALISED BATCH QUEUES

	The memory limitations set in the generalised queues are substantially 
changed in the specialised queues, as are the restrictions on CPU time. In 
these cases however, base priority drops as results will not generally be 
achieved within an eight hour working day. Therefore these queues are 
specifically aimed at long term batch processing for a finished 'product', 
whereas the general batch queues are designed for intermediate stages within 
the 'product' development. Remember that jobs which run on all the general 
queues will run equally as well on the specialised queues, but users who 
regularly abuse the specialised queues (as they have restricted job number 
limits) may well incur the wrath of their colleagues if a 2 hour job is run on 
a 12 hour queue on a regular basis! As the names of the queues suggest, these 
are aimed at particular image runs, which are known to be large memory and CPU 
users.


5.0 Batch Queue Name:   5$batch
Queue Characteristics
			BASE_PRORITY=3
			JOB_LIMIT=2
			CPUDEFAULT=12:00
			CPUMAXIMUM=INFINITE
			WSDEFAULT=1000
			WSEXTENT=8000
Suggested Queue Usage

	This queue represents the testing queue for 'top of the range' jobs.
If a user is very unsure about the amount of CPU time a job is going to take
(for instance a new procedure, or a relatively inexperienced user) this is the 
queue to use! The only restriction is the number of concurrent jobs processed 
on this queue; there is no restriction on CPU time, and memory allowances are 
generous. However, it should be used to obtain the minimum and maximum system 
resources required by the job; subsequent job submitting should be made to a 
more appropriate queue.
	

6.0 Batch Queue Name:   6$batch
Queue Characteristics
			BASE_PRORITY=2
			JOB_LIMIT=4
			CPUDEFAULT=INFINITE
			CPUMAXIMUM=INFINITE
			WSDEFAULT=1000
			WSEXTENT=8000
Suggested Queue Usage

	As the name of the queue suggests this queue is designed for CMSK
procedures. Memory quotas are generous, and there are no restrictions on CPU.
Up to four concurrent jobs are allowed, and although the base priority level
of 2 will extend elapsed time, there are no CPU restrictions.

7.0 Batch Queue Name:   7$batch

Queue Characteristics
			BASE_PRORITY=1
			JOB_LIMIT=2
			CPUDEFAULT=INFINITE
			CPUMAXIMUM=INFINITE
			WSDEFAULT=2000
			WSEXTENT=16000
Suggested Queue Usage

	This queue should only be used for the CHAMELEON software suite - ie 
images like LUDIEC, which require large working set sizes. The introductory 
base priority level of 1 makes this a relatively slow queue, and two 
concurrent jobs will be processed on this queue.

8.0 Batch Queue name:   8$batch
Queue Characteristics
			BASE_PRORITY=4
			JOB_LIMIT=2
			CPUDEFAULT=INFINITE
			CPUMAXIMUM=INFINITE
			WSDEFAULT=4000
			WSEXTENT=16000
Suggested Queue Usage

	This queue represents the top of the range. A large amount of memory 
is dedicated to this queue, the only limit being the number of concurrent jobs 
available for processing. This queue is for final product processing, when an 
unrestricted environment is desired. 


2 Description of Batch Queue Characteristics

	When deciding on which batch queue to submit a job to, it is useful to
judge how much of the systems resources the job is going to use. This will be
established initially by trial and error, and checking the log files for the
amount of CPU time the job takes and the amount of memory it uses. This can be
matched to the available queue characteristics, and any similar jobs can be
placed in that queue. 


3 Example of Batch Log File 

Accounting information:
  Buffered I/O count:       620610      Peak working set size:  1000
  Direct I/O count:        1591257      Peak page file size:   23251
  Page faults:             1413310      Mounted volumes:           0
  Charged CPU time:     0 01:10:16.14   Elapsed time:     0 17:37:17.99


	The important pieces of information are the Page fault, Peak working
set size and Charged CPU time figures. These can be related to the queue
characteristics WSDEFAULT, WSEXTENT and CPUMAXIMUM. The way to relate the
logfile information to the queue characteristics is illustrated below. 


          Log file information                    Queue Characteristics


Charged CPU time:            0 01:10:16.14   ~     CPUMAXIMUM
Peak working set size:                1000   ~     WSDEFAULT/WSEXTENT

Page faults:                       1413310   ~     +- 300 second

	Select a queue with CPUMAXIMUM = INFINITE for this particular job. The
peak working set size is 1000 pages, so select a queue with WSDEFAULT
equivalent to 1000; if the job requires more memory it will be able to grow to
the WSEXTENT of that queue. The page fault rate gives an indication of the
efficiency of the memory resource usage. Jobs which pagefault at more than 300
per second should be placed on a queue with larger WS parameters so that
memory allocation is decided at the start of the job; this will help the CPU,
as heavy pagefaulting uses a large amount of kernel mode CPU, which
effectively means that the CPU is doing more work than necessary to run the
job. 



End of rough idea
***********

Again, comments, suggestions or if you set it up in an
entirely different way please let us know.


					THANKS IN ADVANCE.

forrest@blia.BLI.COM (Jon Forrest) (08/25/87)

This seems like a very well thought out scheme. What bothers me is
that it may be too well thought out. First of all, the question of
why the normally highly interactive VMS environment is being made
into a batch environment wasn't mentioned. This seems like a step
backwards. I'd like to hear more about this. It's been my experience
that queues are useful for things like long running programs that
don't require much input, handling special devices like plotters
or laser printers, or maybe, in restricted environments, handling
repeated tasks like compiling or linking. Since inadequate information
was given about what kind of use would be made of this Vax being
giving more specific recomendations is difficult. However, an 8800
with 128 Meg is a big machine. My feeling is that now that you've
done such a good job with your plan, set up a subset of your plan
and see how it works. No matter how well you do you planning the
actual use and behavior of you system will surprise you.

Jon Forrest

ucbvax!mtxinu!blia!forrest
{pyramid|voder}!blia!forrest

HIGHAMP@BYUVAX.BITNET (08/26/87)

Posting-Version: BYU News Program 0.8 (VAX VMS)
Subject: Re: 8800 as a BATCH-machine ?

I appreciate Jon Forrest's comments.  I've always thought of VAXen as primarily
interactive tools as well.

However, here at Signetics (a Philips subsidiary, as a matter of fact) we
run a very tight production schedule which requires that we experience NO
rude surprises from our interactive users.  We are about to start up a 785
batch machine (8800?  wouldn't it be nice...) so that we can tightly control
our manufacturing environment.  There is a big difference between research
and industrial facilities.

I'd love to hear anyones experiences (good or bad) running batch only systems.
We feel as if it is the best thing to do, but with no experience, it's a
scary plunge.

Dave Higham
System Programmer
Signetics Corp.
Orem, UT