PMDF System Manager's Guide


Previous Contents Index

31.4.2 Implementation on OpenVMS

For performance reasons, each node running PMDF keeps a cache of channel counters in memory using a permanent, global, writeable page-file section. As a process on a node enqueues and dequeues messages, it updates the counters in its own in-memory cache. The DCL command PMDF COUNTERS/SYNCHRONIZE or the PMDF QM command COUNTERS SYNCHRONIZE may be used to cause each node in the cluster to merge its node specific, in-memory cache with the cluster-wide, on-disk database of channel counters, PMDF_TABLE:counters.dat. The synchronization is accomplished through a combination of light-weight detached process running on each node and cluster-wide resource locks. The synchronization command signals each detached process on each node. Upon being signalled, each detached process adds the values of its in-memory counters to those in the cluster-wide, on-disk database and then zeroes its own in-memory counters if the update was successful. SYSLCK privilege is required to perform a synchronization.

The DCL command PMDF COUNTERS/SHOW or the PMDF QM command COUNTERS SHOW may be used to show the values of the cluster-wide counters as stored in the on-disk database. Note that these commands will automatically perform a synchronization of the node-specific caches with the cluster-wide database. The PMDF counters may also be viewed via a web interface; see Section 31.7.

The DCL command PMDF COUNTERS/CLEAR or the PMDF QM command COUNTERS CLEAR may be used to reset the counters to zero.

When the command procedure SYS$STARTUP:pmdf_startup.com is executed, it starts running the single detached process used to perform synchronizations for that node. The process, upon starting, will create the global section representing the in-memory cache and ensure that the cluster-wide database of channel counters exists.2 After performing these two steps it will trim its working set and hibernate, waiting for synchronization commands. SYSGBL and PRMGLB privileges are required to create the global section. To prevent the detached processes from being started, define the logical PMDF_NOCOUNTERS prior to executing pmdf_startup.com.

By default, the counters synchronization process automatically synchronizes the in-memory cache values to the on-disk database every thirty minutes. This time interval may be changed by defining a PMDF_COUNTER_INTERVAL logical. If defined, PMDF_COUNTER_INTERVAL should be a system-level logical definition, equating to an OpenVMS delta time, e.g.,


$ DEFINE/SYSTEM PMDF_COUNTER_INTERVAL "0 00:15:00"
Note that SYS$BINTIM requires an initial day value; be sure to specify the leading 0 for the day value.

The PMDF RESTART and SHUTDOWN commands may be used to restart or shutdown the detached process on all nodes. However, there should be no need to do this. Note that the processes are not affected by changes to the PMDF configuration.

Note

2 On OpenVMS systems a $MGBLSC call is used to create a system-wide, writeable global section. That section is then turned into a permanent, writeable, global page-file section via a call to $CRMPSC.


Previous Next Contents Index