Previous Topic: Order of Media AccessNext Topic: Optimizing Performance of the Expanded Access Server


Implementing the Expanded Access Server

The expanded access server is a started task. The following is a sample start procedure. JCL is added as member SAREAS to one of the procedure libraries that are defined to JES (for example, SYS1.PROCLIB).

//SAREAS   PROC
//SAREAS   EXEC PGM=SAREAS,TIME=1440,PARM=('parm1','parm2',...)
//STEPLIB  DD     DSN=CAI.CVDELOAD,DISP=SHR
//SYSUDUMP DD     SYSOUT=A

Initialization parameters specified in the PARM= field consist of a keyword and value with an equal sign separating them. Omitting the value specifies the default value. Keywords and selectable values can be shortened to any non-ambiguous form so that the parameters can fit within the 100-character length limit of the parameter field.

The parameter field contains the following initialization parameters, with commas separating them:

COMM=LSERV|XCF

The communication mechanism used by the primary and secondary servers.

LSERV specifies the CA Server Utility.

XCF specifies the MVS Cross-System Coupling Facility.

Note: The CA Server Utility has XCF communications capability within it. All servers must use the same communication mechanism. The parameter is meaningless for a TYPE=ONLY server. The default is LSERV.

DFQIDLE=n

The time in seconds to wait for requests for the same optical volume to accumulate before switching to a new optical volume (tape emulation optical only).

This parameter works with exit SAREASU1 to improve performance. Typical values are 1 to 5 seconds.

EASTNAME=xxxx

The subsystem name of the expanded access server for tape and robotics.

For primary and secondary servers, this is also the L‑SERV or XCF group name. The default is LEAS. The subsystem name of the expanded access server for tape and robotics.

LSERVNAME=xxxx

The subsystem name of the CA Server Utility.

The parameter only has meaning for a primary or secondary server using the CA Server Utility as its communication mechanism. The default is LSRV.

MAXIDLE=n

The maximum time in seconds that a tape (or platter in the case of tape emulation optical) can remain unaccessed before it is unallocated for the primary or TYPE=ONLY server.

The parameter is meaningless for a secondary server. The default is 10 minutes (600).

For the primary or for a TYPE=ONLY server, the maximum idle time is adjusted upwards to a minimum of MINIDLE.

MINIDLE=n

The minimum time in seconds that a tape (or platter in the case of tape emulation optical) must be mounted without being accessed. The tape processing thread can then be used to process another tape volume for the primary or TYPE=ONLY server.

The parameter is meaningless for a secondary server. The default is 15 seconds.

MOUNT=DEFER|REPLY

Specifies whether the tape mounts occur during OPEN, or during dynamic allocation.

MOUNT=REPLY gives operators a mount request they can reply to.

The default is DEFER, which gives operators no opportunity to reply to the mount request, though mounts can occur in parallel.

NBUF=n

The total number of buffers to allocate.

Each buffer requires 32 KB of virtual, 31-bit addressable storage. We recommend that you set NBUF as high as paging and real storage constraints allows. The default is 50.

For the primary or only server, the number of buffers is adjusted upwards to a minimum of (NTHREADS) * (NREAD).

NREAD=n

The number of 32 KB tape blocks to read in at a time, for the primary or only server, in anticipation of their subsequent use.

The parameter is meaningless for a secondary server. The default is 4; the maximum is 16.

NREQ=n

The number of process request entries to preallocate; one process request entry is needed for each tape request that is active within the server.

If more entries are needed at any given time than have been preallocated, additional entries are allocated and freed on demand. When the server is stopped, message SAREA04I displays the maximum number of process request entries in use. The default is 200.

TRACE=ON|OFF

Specifies whether SAREAS prints tracing messages.

Default: OFF

TYPE=PRIMARY| SECONDARY|ONLY

The type of server:

The default is ONLY.

NTHREADS=n

The number of tape processing threads for the primary or only server. This number can be lowered or raised dynamically, but it can never exceed the value that is specified on this parameter.

The parameter is meaningless for a secondary server. Each tape processing thread can allocate one tape drive; therefore, specify the maximum number of tape drives you like to be available to the server. The default is 4.

TYPE=PRIMARY|
SECONDARY|ONLY

The type of server

The default is ONLY.

Example

The following example start procedure JCL could be used to start the expanded access server for tape and robotics:

//SAREAS       PROC TYPE=ONLY
//SAREAS       EXEC PGM=SAREAS,TIME=1440,
// PARM=('T=&TYPE',   TYPE is ONLY by default, changeable at startup
// 'E=LEAS',          EASTNAME is LEAS
// 'C=XCF',           COMM is XCF
// 'MA=1800',         MAXIDLE is 30 minutes
// 'MI=10',           MINIDLE is 10 seconds
// 'NB=200',          NBUF is 200 buffers
// 'NREA=5',          NREAD is 5 reads at a time
// 'NREQ=300',        NREQ is 300 process request entries
// 'NT=12'),          NTHREADS is 12 tape threads (drives)
//STEPLIB       DD    DSN=CAI.CVDELOAD,DISP=SHR
//SYSUDUMP      DD    SYSOUT=A