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.
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.
NQS configuration consists of requests, queues, and devices. Batch and device requests are the basic units of NQS.
| Home |
|---|
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.
nice execution value
Alters the execution priority of each process in the batch request.
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 |
|---|
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 |
|---|
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.
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.
29 JOR file
30 STDOUT file
31 STDERR file
| Home |
|---|
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 |
|---|
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.
Batch queues are used solely for batch requests. A batch queue has the following attributes.
The largest value request in the queue is executed first. If the priority is the same between queues, NQS executes requests according to the order in which the request entered the queues.
Device queues are used for device requests. A device queue has the following attributes.
The largest value request in the queue is executed first. If the priority is the same between queues, NQS executes requests according to the order in which the request entered the queues.
| Home |
|---|
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.
The largest value request in the queue is executed first. If the priority is the same between queues, NQS executes requests according to the order in which the request entered the queues.
-- | The requests can be submitted to and executed on the destination queue. |
-- | The request resource limits are less than or equal to the resource limits of the destination queue. |
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 |
|---|
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.
-- |
CLOSED State Although requests are acceptable by the queue, the NQS daemon is not present (NQS is stopped) and the requests are not queued. |
-- |
ENABLED State The queue can accept requests and the NQS daemon is present (NQS is operating). This means that requests can be queued. |
-- |
DISABLED State The queue cannot accept requests. |
-- |
STOPPED State Queued requests not already running are blocked from running, and no requests are currently executing in the queue. |
-- |
STOPPING State Queued requests not already running are blocked from running, but at least one request is currently executing in the queue. |
-- |
RUNNING State Queued requests are ready to run and one or more requests are currently running in the queue. |
-- |
INACTIVE State Queued requests are ready to run but no requests are currently running in the queue. |
-- |
SHUTDOWN State The NQS daemon is not present (NQS is stopped) and requests are not executed. |
| Home |
|---|
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.
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.
-- |
ENABLED State The device can accept requests. |
-- |
DISABLED State The device is not accepting requests and is in an idle state. |
-- |
CLOSED State The device is not accepting requests and is not in an idle state. |
-- |
ACTIVE State The device is busy. |
-- |
INACTIVE State The device is in an idle state but it can be used. |
-- |
FAILED State The device is in an idle state and cannot be used. |
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
| Home |
|---|
| Contents | Previous Chapter | Next Chapter | Index |