Program Cache Manager

The new PVX Plus Cache Manager (PXPCACHE) provides an external cache manager for PxPlus, which automatically tracks, and maintain copies of recently used programs in common memory making them available to all PxPlus processes running on your Windows PC.

Advantages:

PXPCACHE improves system performance in both WAN configurations as well as a Client Server system.

In a WAN configuration, once programs are brought down from the server, they will kept locally in windows swap space so that subsequent uses of the program will not have to re-read the program from the server. This reduces network traffic and increases theoverall speed of your application.

In a Client Server configuration, running PXPCACHE on the server can reduce both disc access by eliminating file system lookups for the programs. It also reduces system memory requirements since all processes share the same memory for common programs. Once the Program Cache Manager loads a program, it is available to all processes on the server.

How it works:

When running with the Program Cache Manager, whenever PxPlus needs to load a program it asks the Program Cache Manager if it has a copy of it present. If the Program Cache Manager does have it in memory, it returns a pointer to the program and marks it in use. When PxPlus is finished with the program, it advises the Program Cache Manager that its no longer using it making its memory available for others as needed.

Once the Program Cache Manager is launched, it places its ICON (a small grey plus sign) into the system tray. From there it configuration screen may be accessed by simply clicking on the ICON. From here you can configure the number of user tasks that the Program Cache Manager can handle at any one time and the amount of memory that you wish to use for the cache.

To shutdown the Program Cache Manager, press the Shutdown button in the configuration screen. Shutdown will be deferred until all PxPlus task currently using the Program Cache Manager have terminated. During the shutdown cycle, all new requests are denied. If during this shutdown cycle you wish to cancel the shutdown, simply reset the Disabled status in the configuration screen.

The Program Cache Manager can be configured to not only track programs by full pathname but also by their original file name as used in the original directive (RUN, CALL, …). This feature means that once the system has determined where a program is physically located on disk, the system can avoid the overhead of processing other directory locations based on PREFIX rules. Care should be used with this option if you have multiple programs of the same name and use changes in the working directory or prefix rules to determine which to load.

An additional option in the Program Cache Manager is to track missing files. This option, when enabled, tracks all known missing program files – that is programs that PxPlus attempted to load but did not exist. Again this option improves system performance when a PREFIX is used since it allows the system to remember that certain files did not exist thus eliminating the need to go out to the file system to check again.

While the Program Cache Manager is operation it will track all program file changes, creations, deletions and renames done on your system in order to keep its in memory tables intact. As long as all processes that change programs are using the same Program Cache Manager on the same machine, and only ProvideX is used to change program files, the contents of cache will remain in sync with the file system.

To help trap external modifications to program files or modifications done by other systems, a timeout period is included in the Program Cache Manager, which controls the period after which the contents of the cache may be considered stale. When a cached program has been in memory longer than this timeout period, the system will go out and check to see if it has been changed (or in the case of know missing files whether it now exists).

For most applications in the field, this timeout period can be set quite high; since, it is unlikely programs will change during normal operations.

There is also an exclude list available with the Program Cache Manager that allows you to exclude specific directories from being processed. Entries in this list can start or end with an asterisk indicating where the asterisk indicates any number of characters not checked. In addition, a question mark (?) may be used to indicate a position whose value can be any character. For Example:

?:\myapps\prog\security Ignores the directory myapps\prog\security on any drive
*\usrprog\* Ignores any file whose pathname has \usrprog\ in its name
*\security Ignores any program “security”
*\Custom??\* Ignores any program in a Custom?? directory

Controlling Cache:

If the external Program Cache Manager is active, immediately following system startup the '+C' system parameter will be set. Use of the Program Cache Manager can be temporarily disabled by resetting this system parameter. Re-enabling the parameter will re-activate the use of the Program Cache Manager assuming it is present.

Program Libraries:

Programs taken from program libraries are also cached. In this case, the Timeout period is not used to check the validity of the program nor is there any considerations given for the potential changing of the Prefix rules and working directories. These may affect the resolution of the name of the program library file. Here too, care should be taken not to have duplicate named program libraries or rely on Prefix or working directory changes to change libraries.

Tutorial:

The following is a short tutorial on the use of the Pvx Plus Cache Manager.

Future Enhancements:

Additional functionality under consideration for the Program Cache Manager includes the caching of Read only files such as screen libraries and message libraries. In addition, we are looking at the creation of a new type of common data element that can be shared between processes on the same system.

Product Pricing:

Due to the nature of the Cache Manager, it will be sold as an Add-On to PxPlus for an additional fee.