Job Execution Control efficiently controls jobs from execution through to completion, and manages and outputs job execution history information.
This function also manages demand jobs.
This section explains the Job Execution Control function, and is organized as follows:
Controlling Job Execution Environments
Job Execution Environments [UNIX version]
Executing Network Jobs
Output of Job Execution History
The Job Execution Control function controls jobs using queues in order to manage job execution priorities, the number of jobs that can be executed concurrently, and the processing status of jobs.
When a job is submitted, it is placed in a queue and becomes subject to various execution controls. Job Execution Control processes jobs according to the following specifications.
The Define Operating Information window is used to make definitions about where (which of the servers where Systemwalker Operation Manager has been installed) queues should be created, and how these queues should be controlled. Although standard settings are already in place at installation time, these settings can be changed according to the operation mode. For more information about the Define Operating Information window, refer to the Systemwalker Operation Manager Installation Guide or the Systemwalker Operation Manager Online Help.
Multiple queues can be created. By creating queues according to specific attributes (such as departments, tasks, or execution time lengths), the efficiency of job throughput can be increased. For example, if separate queues are created for jobs with long execution times and for jobs with short execution times, then operating with rules about which queue jobs are allocated to can prevent situations where jobs with short execution times have to wait for hours for jobs with long execution times to finish.
The same definitions can also be made using an initialization file. For more information about initialization files, refer to the Systemwalker Operation Manager Installation Guide.
Various specifications can be made regarding the execution methods for each job. Job Execution Control controls job execution according to these specifications.
The main controls performed by Job Execution Control are as follows:
Job Multiplicity for Systems
Job Execution Control limits the number of jobs that can be executed simultaneously throughout servers on which Systemwalker Operation Manager has been installed. If the number of jobs being processed has reached this limit, no more jobs can be executed even if the limits for each queue (that is, the job multiplicity for queues) have not been reached.
For multi-subsystem operations, the number of jobs that can be executed concurrently can be limited for each separate subsystem.
Job multiplicity for queues
Job Execution Control limits the number of jobs that can be executed simultaneously for each individual queue. If the number of jobs being processed in each queue has reached this limit, no more jobs can be executed even if the limit for the entire server (that is, the job multiplicity for the system) has not been reached.
Maximum number of jobs that can be submitted to queues
Job Execution Control limits the maximum number of jobs that can be submitted to queues. This limit includes jobs currently being executed and jobs waiting for execution.
Job termination due to timeouts
Job Execution Control limits the time that jobs can be executed for each queue. Jobs cannot be executed for longer than this time. Jobs are forcibly terminated when they reach this limit.
Priority of jobs waiting to be executed
The priority of jobs waiting to be executed can be specified. Jobs with the highest priority are executed first.
Job execution priority
The priority of jobs that are being executed can be specified. Priorities are specified using a numerical value that indicates the priority for allocating CPU resources to the processes that run as jobs when jobs are executed.
If the connection destination server is running the Windows version, job execution priorities between 0 and 4 can be set. The higher the specified value, the higher the CPU allocation priority. The smaller the specified value, the lower the CPU allocation priority.
If the connection destination server is running the UNIX version, job execution priorities between -20 and 19 can be set. The specified value corresponds to the nice value used in UNIX systems. The smaller the specified value, the higher the CPU allocation priority. And the higher the specified value, the lower the CPU allocation priority.
If the connection destination server is running the UNIX version, values between 0 and 39 may be set depending on the screen where settings are entered. In this case, the higher the specified value, the higher the CPU allocation priority (and the smaller the specified value, the lower the CPU allocation priority).
For network jobs between different platforms (Windows and UNIX) the specified execution priority level will be converted, as shown below.
Execution priority levels used when network jobs are sent from UNIX to Windows
Source (UNIX) | Destination (Windows) | |
---|---|---|
Execution priority level | -20 to -13, or 39 to 32 | 4 |
-12 to -5, or 31 to 24 | 3 | |
-4 to 3, or 23 to 16 | 2 | |
4 to 11, or 15 to 8 | 1 | |
12 to 19, or 7 to 0 | 0 |
Execution priority levels used when network jobs are sent from Windows to UNIX
Source (Windows) | Destination (UNIX) | |
---|---|---|
Execution priority level | 4 | -20, or 39 |
3 | -10, or 29 | |
2 | 0, or 19 | |
1 | 10, or 9 | |
0 | 19, or 0 |
The values of the job execution priority level are specified based on the priority levels shown below.
Priority level | Method used to specify the execution priority level |
---|---|
1 | Execution priority level set using the source Jobscheduler, or qsub command -dp option |
2 | dfltdprty of queue that was set in the source operation information definition |
3 | dfltdprty of queue that was set in the destination operation information definition |
Note
If 'continue' has been set as the continuous execution mode, then network jobs will continue if the schedule server system crashes. As a result, the job priority level that was reset by the schedule server system crash will not be reflected in the jobs that are currently being executed on the execution server.
If 'cancel' has been set as the continuous execution mode, network jobs will be forcibly terminated when the schedule server system crashes. For this reason, the job execution priority level that was reset after the system crash will become effective when these jobs are re-executed on the execution server.
Exclusive resource control
Job Execution Control specifies exclusive attributes so that multiple jobs that use the same resources are not executed simultaneously.
Excluding identical job names
With Job Execution Control, exclusive attributes can be specified so that multiple jobs with the same name are not executed simultaneously.
Job Execution Control starts a shell for interpreting shell scripts for jobs. The type of shell started is the login shell of the user who submitted the job (that is, the login shell defined in the password file).
When jobs are executed, the shell interprets shell scripts by adjusting the login environment (i.e., executing the ".profile", ".login", ".cshrc" and other startup files).
Systemwalker Operation Manager can execute jobs on any server connected to the network where Systemwalker Operation Manager has been installed. Jobs that are executed on arbitrary servers connected via the network are called "network jobs." The execution results of such jobs can be viewed from the server where the job was submitted. The following servers are supported as execution servers for network jobs: Windows Server, UXP/DS, Solaris, AIX, HP-UX, and Linux.
The following figure shows a representation of network job execution. In this example, client A submits a job to Windows server A, and requests UNIX server B to execute the job.
Information
Code conversion
If network jobs are executed using servers with different character encodings, job file codes can be converted using the Code Conversion function. This function can convert codes (including linefeed codes) for job files, standard output files, and standard error output files.
To perform code conversion, make definitions in the Define Operating Information window of the server where the job is submitted.
For information about making definitions with the Define Operating Information window, refer to the Systemwalker Operation Manager Installation Guide.
The following files can be output to servers as job execution information.
This file contains the job execution history.
This file contains information about the operational results of jobs.
These files are created every day and saved for the specified number of days.