

3. PERFORMANCE ANALYSIS TOOLS › 3.1 Batch Initiator Simulation › 3.1.6 Component Operation › 3.1.6.2 Extended Options Menu › 3.1.6.2.3 Specify Job Selection Exit
3.1.6.2.3 Specify Job Selection Exit
If you enter Y (Yes) in the job selection field on the
Extended Options Menu, the SAS Statements panel for
specifying a job selection exit, shown in Figure 3-17, is
displayed.
/------------------------------- SAS Statements ------------------------------\
|Command ===> Scroll ===> PAGE |
|Warning: Set SELECT=0; to skip an observation. |
|Inquiry Step: BAT - Batch Initiator Simulation |
| |
|Line Cmds: I Insert D Delete R Repeat M Move C Copy |
| |
|Cmd SAS Statements for: Specifying Job Selection exit |
| - ------------------------------------------------------------------------ |
| _ - %MACRO PERJSX; |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ - %MEND PERJSX; |
|****************************** BOTTOM OF DATA ********************************|
| |
\---------------------------------------------------------------------------------/
Figure 3-17. Specify Job Selection Exit Panel
At the start of each interval, the simulation attempts to
start a job for any initiators that are idle. The simulation
selects the highest priority job in the first class served by
the initiator with any jobs waiting.
Once this candidate job is selected, the job selection exit
is invoked. It allows you to accept or reject the selected
job based on criteria coded in the PERJSX MACRO. If the
PERJSX MACRO sets the SELECT variable to 1, the job is
accepted. If it sets the SELECT variable to 0, the job is
rejected. The default sets SELECT to 1.
If a job is rejected by setting SELECT to 0, no job is
selected from that queue in that interval of the simulation.
If your criteria for accepting or rejecting a job is based on
job priority, this will probably be of no concern, since all
other jobs in the queue are of equal or lower priority.
However, if you are testing some other condition, you must be
sure to consider the effect of attempting selection only once
for each queue served by the initiator.
Because job selection takes place before the variables of the
BATJOB File are available, only the following variables are
available to the PERJSX MACRO:
o J_CLS(JP) - job class
o J_PTY(JP) - job priority
o J_ARP(JP) - job arrival priority
o J_RDR(JP) - job reader time
o J_EXT(JP) - job execution time
o J_QUE(JP) - job queue time
The variables must be suffixed by (JP). This is the array
subscript and it is required.
For example, assume that your installation is considering
preventing the execution of jobs above priority 13 without
the approval of the data center manager.
/------------------------------- SAS Statements ------------------------------\
|Command ===> Scroll ===> PAGE |
|Warning: Set SELECT=0; to skip an observation. |
|Inquiry Step: BAT - Batch Initiator Simulation |
| |
|Line Cmds: I Insert D Delete R Repeat M Move C Copy |
| |
|Cmd SAS Statements for: Specifying Job Selection exit |
| - ------------------------------------------------------------------------ |
| _ - %MACRO PERJSX; |
| _ - IF J_PTY(JP)>=13 THEN SELECT=0; |
| _ - ELSE SELECT=1; |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ ________________________________________________________________________ |
| _ - %MEND PERJSX; |
|****************************** BOTTOM OF DATA ********************************|
| |
\---------------------------------------------------------------------------------/
Figure 3-18. SAS Statement for Specifying a Job Selection Exit
The PERJSX MACRO shown in Figure 3-18 accepts the job
selected if its priority is less than 13.
Using this MACRO in conjunction with the clock update exit
documented in Section 3.1.6.2.4 provides greater flexibility
in simulations (see Figure 3-21).
The job selection exit is located at a point in the code
where the system has selected a job for execution.
NOTE: You should not code subsetting IFs in this job
selection exit MACRO to perform data selection. You
should code them in the global data selection exit
described in Section 3.1.6.2.1.
Copyright © 2014 CA.
All rights reserved.
 
|
|