This parameter determines whether FMS flushes all writes, and waits on write operations during factoring. The following options are available:
- 0, Do not flush writes or wait on writes during factoring. Provides for the maximum asynchronous I/O.
- 1, Flush all writes to disk.
These flush operations are performed by the I/O threads and operate in parallel with processing.
They assure that data written to disk is actually placed on the disk,
rather than remaining in memory in the buffer cache.
If you have specified
for direct I/O (available on some machines), this happens automatically.
In addition, at the end of factoring each segment, FMS waits for any outstanding write operations and saves any additional information which may be required to restart at that point.
This option can be used when factoring a large matrix to save intermediate results should the factoring process stop prematurely. To enable a job to be restarted during factoring, should the job not complete, the following steps are required on the initial job:
- Set the FMS Parameter IFKEEP=1 to save the files.
- Set the FMS Parameter IREST=1 to keep the files current.
- Save the matrix file attributes lists to a file of your choice.
- Organize your application so partially factored results do not corrupt unfactored matrix data.
Some options are:
- Use separate files for the input and output matrices,
- Generate the matrix data during the factoring process (
- Read the matrix file attributes you saved.
- Set the FMS Parameter IEXIST=1 to direct FMS to open existing files.
- Reopen the matrix file(s), specifying the saved file attribute lists.
- Set the FMS Parameter LOWASM to the first unfactored equation. Review the output printed by FMS during the first run to determine the highest equation factored. The highest unfactored equation is one more than this value.
- Branch in your application to the factoring routine which was interrupted.
- If you want to delete the FMS files at the end of the job, set the FMS Parameter IFKEEP=0.