• Aucun résultat trouvé

C P-6 Batch Processing

Dans le document Concepts and Facilities CP·6 (Page 123-126)

ADD SPECIAL_CHARACTER '#' TEXT='TABS 10,20,30,40,50'

Section 13 C P-6 Batch Processing

The CP-6 system offers full-service, multiprogrammed batch facilities, ideal for the production data processing environment. Batch jobs can be conveniently submitted from local card readers, remote sites, time-sharing terminals or from running batch jobs. Since the execution control language is identical to that used in time-sharing, batch facilities are made available to a larger class of user. The CP-6 philosophy of commonality among the basic aspects of the system allows the user to construct interdependent program systems, in which several programs work together to accomplish a single task. In addition, a scanning feature is available to check execution control syntax prior to execution, thus significantly reducing total debug time.

Overview

In the CP-6 system, multiprogramming (the concurrent operation of several jobs) significantly extends the throughput of the computer system because the system is able to achieve several levels of overlap in the processing of jobs. I/O of one job is overlapped with computation of another, and I/O of several jobs is overlapped through the effective use of the hardware's multiple channels to I/0 devices. This overlap applies not only to jobs within the batch mode but also to all other jobs. Thus use of CP U, disks, tapes, and other system resources is maximized. As described in Section 14, Remote Processing, a CP-6 system may itself act as remote workstations. Jobs may also be received from any systems that support the HASP transmission protocol. Commands for jobs, regardless of source, are stored temporarily while awaiting execution in spooling files as described below.

Resource Control and Scheduling

Batch jobs are protected from execution-time resource conflicts or deadlock situations by the CP-6 job scheduling algorithms. Each batch job contains a command which specifies the required resources and the system ensures availability of all required resources before starting the job. In contrast, time-sharing jobs may request resources dynamically, but must be prepared to respond to a "not available" message.

The CP-6 system can concurrently run a ~arge number of batch jobs. Each job is run in a batch job class. (Batch job classes are described further in Section

17.)

The system manager can designate up to 16 batch job classes. In this way, up to 500 jobs can be run concurrently,

CE26-02_DRAFT Resource C~ntrol and Scheduling 13-1

CP-6 Batch Processing

providing full resource use and adaptability to such circumstances as evening, night, and weekend shifts.

Each of the batch job classes has a defined resource profile that the system manager can change dynamically. The profile describes the ranges of job resources which are allowed when running in each class, and the number of batch jobs that can run concurrently in each class. In order to qualify for a given class, the resource requirements of a job must match the class profile. A job may fit in many classes.

Whenever a job class is available and an event (such as job termination, resource released, or job submitted) occurs, the batch job scheduler selects the first (highest priority) job with requirements matching the class profile. Both the job and its required resources are assigned to the job class and the job begins execution.

CP-6 optional job scheduling controls allow the job submitter to dictate additional scheduling criteria to the system's batch job scheduler. Unlike global controls, which are established by the system manager via the CONTROL processor, these scheduling criteria are local to the submitter's authorized account. They are specified on the job's control commands via the DEFER, FOLLOW and ORDER options. The DEFER option defers scheduling of the job until a particular date and time. The FOLLOW option orders execution by job name; subsequent jobs submitted can run only after the completion of specific, named jobs. The

0

RD ER option indicates that execution of the job must follow completion of any previously submitted job.

Thus a series of jobs, each using results from the previous job, can be submitted at once, but are forced to execute serially.

Workstations

The CP-6 workstation concept organizes the devices connected to the system into manageable groups. Workstations may be remote or local to the central site, and usually include unit record peripherals and tape devices.

The CP-6 system manager defines workstations tailored to the installation's requirements. For example, one line printer in a university environment may be defined via a workstation restricted to administrative work, while a second line printer intended for student use can be located in a less secure work area. The CP-6 system then automatically routes the administrative or student output to the appropriate workstation. An operator's console may be placed at each workstation that is defined to send or receive only the messages that are pertinent to the individual workstation.

A workstation name can also be used to address any device attached to the CP-6 system.

For example, a line printer at a workstation named BOSTON is addressed as LP@BOSTON.

All CP-6 users, however, are assigned a workstation of origin and need only specify a device's generic name for the I/O to take place via the assigned workstation.

13-2

Workstations CE26-02_DRAFT

CP-O Batch Processing

Cataloged Procedures

The CP-6 system allows the programmer to create a file of execution control commands and call for its execution as a job or portion of a job. This facility is available to both batch and on-line CP-6 jobs. As the execution of a cataloged command file is requested, parameters may be substituted in previously defined fields of the file. A file may, within itself, call for execution of other files, and programs may create files which are inserted in the on-going command stream.

Spooling

A spooling facility is provided to help eliminate bottlenecks associated with slow speed peripheral devices. This spooling facility consists of monitor routines that transfer information between secondary (disk) storage and unit record peripheral devices concurrently with jobs being run. To transfer information between a user's program and this secondary storage, a

"cooperative" monitor routine is used.

The spooling system performs complete buffering between I/O devices and the user's program.

Also, the current job may be running while the output of a previous job and the job file for a subsequent job are being handled by spooling. The CP-6 spooling system is depicted in Figure 13-1.

CE26-02_DRAFT Spooling

13-3

Dans le document Concepts and Facilities CP·6 (Page 123-126)