Previous Page | Next Page

Statements under z/OS

SASFILE Statement: z/OS



Reduces I/O processing by holding the entire data set in memory.
Valid: anywhere
z/OS specifics: performance considerations
See: SASFILE Statement in SAS Language Reference: Dictionary

Details
See Also

Details

The SASFILE statement can greatly reduce both the elapsed time required for a SAS job to run and the CPU time for the job. However, in an environment where the various z/OS processes (batch jobs, TSO users, and started tasks) are competing for real (central) storage, the SAS data set might require more virtual storage than is available. Unless steps are taken to manage memory usage, virtual storage paging delays could negate the benefits of using the SASFILE statement.

SAS allocates virtual storage above the 16M line for buffers and associated control blocks for a SAS data set. The SASFILE statement causes SAS to reserve enough buffers to hold the entire data set in memory while it is processed by multiple SAS DATA steps and procedures and then written to disk (if necessary) once. However, if the overall environment is constrained for storage, or a process like the SAS/SHARE server is processing a heavy workload, the page frames that are occupied by the SAS data set buffers can be stolen, and virtual storage paging delays can occur.

For batch jobs, this problem can be avoided by simply scheduling the job to run when the overall system is less busy. However, in general, it might be necessary to use storage isolation to enforce a minimum working set size for the job. IBM's z/OS: MVS Initialization and Tuning Guide provides an explanation of storage isolation in its discussion of SRM.

To estimate the minimum working set required for a SAS job, consider the following:

For installations running Workload Manager in goal mode, it is not possible to set the SRM options directly. Under Workload Manager, it might be appropriate to establish a velocity goal for the SAS jobs or servers that use the SASFILE statement to load large SAS data sets into memory.


See Also

Previous Page | Next Page | Top of Page