Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Shared file system

&pagelevel(4)&pagelevel

As described in the section above, file access across all of the processors always requires the opening of files to be synchronized (OPEN/CLOSE). Furthermore, for a shared update on all the processors, file accesses must be synchronized (for read and write to blocks and records).
While OPEN coordination relating to all the processors can be carried out within the shared pubset network, mechanisms for the synchronization of file accesses applicable to all the processors is only available in the XCS network. A simultaneous update on all the processors is also therefore only possible in this environment.

Synchronization of the opening of files

When a file is opened, the required parallelism, among other things, is defined during file processing. The following specifications are necessary:

  • OPEN mode:
    Definition of the file accesses that are permissible (e.g. "INPUT" for purely read accesses, "OUTPUT" for creating a new file and any kind of processing).

  • Shared update mode:
    Definition as to whether parallel processing is permissible (e.g. "SHARUPD=YES" for any parallel opening of files)

  • LOCK-ENVIRONMENT
    Definition as to whether an environment is created when a file is opened which permits the simultaneous updating of the file across all the processors.

    Example

    ADD-FILE-LINK command (or SET-FILE-LINK),
    LOCK-ENVIRONMENT=*HOST-SYSTEM: operand
    Under OPEN, the environment is created for processor-local processing.

    ADD-FILE-LINK command (or SET-FILE-LINK),
    LOCK-ENVIRONMENT=*XCS: operand
    Under OPEN, the environment is created for processing on all the processors.

Processing on all the processors, as explained above, is controlled by the specification in the LOCK-ENVIRONMENT operand. It should be noted, however, that a file can only be modified from several processors in parallel if the processors belong to the same XCS network.

On processors that do not belong to an XCS network, the specification
LOCK-ENVIRONMENT=*XCS is treated as if *HOST-SYSTEM were defined for that operand.
Files can only be updated on all of the processors using the access methods UPAM, FASTPAM and DIV.

Synchronization for file access

During simultaneous updating of the elements of a file (in UPAM and FASTPAM this would be logical blocks while in DIV this would be file sections), a synchronization mechanism must be available which coordinates the competing accesses. For file updating on all of the processors in the XCS network, this is the distributed lock manager. It can (or must) either be used explicitly at user program level for the implementation of block locks or for locking file sections, or at operating system level for access coordination (in the case of UPAM access methods and also to a certain extent DIV). Below we explain what kind of programming effort is required from the user for the individual access methods for a global file update (i.e. adjustment in user program) and what services the operating system provides. For more information on the access methods, see the manuals "DMS Introduction" [4 (Related publications )] and "DMS Macros" [3 (Related publications )].

UPAM

In addition to synchronous and asynchronous read and write accesses, the UPAM interface also offers a "Set/reset of exclusive block locks" function. When a file is opened for an XCS-wide file update, the locks implemented by UPAM are effective throughout the network.
An application program which coordinates parallel accesses to PAM files with UPAM locks can also always be used throughout the XCS network without requiring reprogramming; only an extension to the JCL is necessary. For example, the LOCK-ENVIRONMENT operand would have to be added to the ADD-FILE-LINK command (the network-wide access can, of course, also be controlled via the program interface).

FASTPAM

Unlike UPAM, FASTPAM provides no lock function. Block accesses must be coordinated at user program level by means of a suitable lock mechanism; the DLM interface is available for this purpose in the XCS network (the DLM interface can also be used for the coordination of a purely processor-local, parallel file access).

DIV

Basically the same applies to DIV by analogy as applies to FASTPAM: the coordination of accesses to file sections (via windows in the virtual address space) is the responsibility of the application. The DLM is the suitable interface for this purpose in the XCS network. DIV offers the setting LOCVIEW=MAP as a special mode for mapping file sections in the address space window; here the window contents are guaranteed to be consistent with the data content at the time the window was set up. The coordination necessary for this between reading in the relevant contents and writing the file accesses is handled by the DIV access method throughout the XCS network.