Chapter 1


Overview and Configuration

1.1 OVERVIEW

The Network Queuing System (NQS) performs batch processing on UNIX. Batch processing is a function that receives and queues requests and processes them sequentially.

NQS is derived from the system developed by the Sterling Software Corporation as part of the Numerical Aerodynamic Simulation (NAS) plan of the National Aeronautics and Space Administration (NASA).

NQS processes commands grouped as a batch job and also processes file output requests of the various exclusive peripheral units. You can submit, end, monitor, limit, and manage these jobs. NQS can also route requests to other computer systems connected to the network.

NQS can transfer or receive requests of all hosts on the network. A local host can end, monitor, limit and manage requests that are submitted to a remote host.

1.2 CONFIGURATION

NQS processes commands grouped in batch requests as well as device requests for printing. You can submit, end, monitor, limit, and manage these batch, network, or device requests. You can also route requests to other systems in a network.

The following list shows the sequence of NQS operations.

  1. Create a request.
    Create a shell script file for a batch request. Commands executed in a batch job are included in this request.

  2. Confirm valid resource limits.
    When necessary, confirm valid NQS resource limits for the system performing the batch request.

  3. Submit the request.
    Submit the batch request.

  4. Confirm the status of the request.
    Confirm the status of the submitted batch request as well as the status of the queue to which the request is submitted.

  5. Alter request attributes.
    When necessary, change the attributes of a submitted batch request.

  6. Transmit messages to a request.
    When necessary, send messages to the output file of the submitted batch request.

  7. Terminate a request.
    End the batch request at any time.

NQS configuration consists of requests, queues, and devices. Batch and device requests are the basic units of NQS.

Home


1.2.1 Batch Requests

A batch request processes several commands in batch mode. A batch request can be executed by submitting a UNIX shell script to NQS. Information on NQS operations can be embedded in the first comment block of this script, eliminating cumbersome option specifications. You can specify the request execution environment, although it can also be automatically assigned by NQS. A batch request can also be altered after NQS submission. The most significant request attributes are as follows.

1.2.1.1 BATCH REQUESTS AND JOB IDS

When NQS invokes a batch request, it assigns the same job ID to all processes comprising that request. NQS manages execution requests. When sending, deleting, or signaling a request, NQS sends a message to all processes that configured that request. The job ID can be accessed via request status display commands (qstat and qstatr). To check the status of the processes constituting the request, make the job ID the key in the ps(1) command.

Home


1.2.1.2 BATCH REQUEST RESOURCE LIMITS

As described earlier, one of the batch request attributes is its resource limits. These limits can be broken into two sets: on a per-request basis, as follows, or on a per-process basis. A request may consist of several processes. Per-request limits are as follows:

Per-process limits are as follows.

See the qsub(1) command in this guide for a full description of these attributes.

Unsupported resources are ignored. Therefore, resource limits in request attributes are useless if they go to a host that does not support those limits. Resource limits supported by various hosts can be displayed with the qlimit(1) command.

Home


1.2.2 Device Requests

A device request specifies a device such as a printer or plotter. This request can be executed by submitting data (the print image) for processing to the device instead of submitting a shell script, in the case of a batch request. A device request has the following attributes.

1.2.3 Network Requests

A network request initiates the staging out of NQS stdout/stderr/jor files to specified hosts. When a batch request terminates, NQS creates a network request automatically and submits it to the network queue. You cannot create a network queue by yourself or submit it directly. A network request has the following attributes.

Home


1.2.4 Request Status

A request assumes different statuses between its entry and its elimination. The types of request statuses are as follows.

PRE-RUNNING and POST-RUNNING states are available only on the cluster system using the NQS/MPI function. For more detailed information, see Section 2.24.

Home


1.2.5 Queues

A NQS queue is a collection of executable requests. A request cannot be submitted if its attributes are not the same as those defined for the queue, or if the queue is unavailable. NQS uses four types of queues: batch, device, pipe, and network.

1.2.5.1 BATCH QUEUES

Batch queues are used solely for batch requests. A batch queue has the following attributes.

1.2.5.2 DEVICE QUEUES

Device queues are used for device requests. A device queue has the following attributes.

Home


1.2.5.3 PIPE QUEUES

Pipe queues are used for routing requests. Requests submitted to this queue are routed to other queues. The routing destinations can be queues on the local host or those on remote hosts in a network. Requests submitted to a remote host must be done through a pipe queue. This queue has the following attributes.

1.2.5.4 NETWORK QUEUES

Network queues are used for staging out NQS stdout/stderr/jor files. The network queue is used only for NQS to stage out stdout/stderr/jor files to the request owner, so you cannot submit a request directly to the network queues. When the execution of batch requests terminates, NQS automatically creates network requests and submits them to the network queue for the target host. A network queue has the following attributes.

Home


1.2.5.5 QUEUE STATUS

Queue status controls whether a request can be queued or executed. The queue status is divided into two properties. The first property concerns the acceptance of requests by a queue. The second property determines whether a request can be executed.

Home


1.2.6 Devices

A NQS device processes the NQS device list. Unit and server programs configure the device list that carries out the actual processing. Further, devices may be grouped into forms. These forms restrict the device that can be used when submitting a device request.

1.2.6.1 DEVICE STATUS

The status of a device determines its availability. The device status is divided into two properties. The first property concerns the acceptance of requests by a device. The second property determines whether the device is busy.

1.2.6.2 DEVICE FORMS

Devices are grouped into forms. If you specify a form when submitting a device request, the devices used are those specified in that form. Figure 1-1 shows that if you want a request processed by NQS Device 3, the request should be submitted to Device Queue 1 using the Form 2 specification. See the qpr command in Chapter 3, User Commands, for more information.

Figure 1-1 Device Forms

Figure 1-1 Device Forms

Home

Contents Previous Chapter Next Chapter Index