Caché Installation Guide - InterSystems Documentation
Caché Installation Guide - InterSystems Documentation
Caché Installation Guide - InterSystems Documentation
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
How <strong>Caché</strong> Uses OpenVMS Memory<br />
A.4 How <strong>Caché</strong> Uses OpenVMS Memory<br />
<strong>Caché</strong> uses both shared memory and memory private to each process when running on OpenVMS. It<br />
uses the following techniques to increase performance:<br />
• Balancing Memory Locking and Paging<br />
• Using Process-Private Space to Reduce Paging<br />
• Using Resident Memory<br />
A.4.1 Balancing Memory Locking and Paging<br />
All <strong>Caché</strong> code is shared, and can be physically locked in memory. The same is true for the global and<br />
routine buffer pools.<br />
If a routine is larger than the locked portion of a routine buffer, only a portion of the routine in the<br />
routine buffer is locked in memory. The remainder of the routine is loaded into unlocked physical<br />
memory.<br />
Locking shared data and routines in memory allows better response time since memory access is<br />
quicker than disk access. As a result, the more globals and routines that are kept in memory, the better.<br />
Memory, however, is a finite resource. The more global and routine buffers that are allocated, the less<br />
memory is available for OpenVMS processes. When less memory is available, more OpenVMS paging<br />
occurs.<br />
The goal, therefore, is to choose a number of global and routine buffers that lets you keep enough<br />
globals and routines in memory without negatively affecting OpenVMS paging. This document provides<br />
guidelines for selecting these values.<br />
A.4.2 Using Process-Private Space to Reduce Paging<br />
Every <strong>Caché</strong> process maps to the shared memory sections, but it also has access to a private area of<br />
memory called process-private space. This private area includes variables, arrays, stacks, and other<br />
data structures that belong to a particular process.<br />
A portion of this private area of memory may be locked into the process working set to reduce paging.<br />
None of the private area, however, is physically locked in memory.<br />
A.4.3 Using Resident Memory<br />
The OpenVMS platform makes use of the Reserved Memory Registry, a mechanism for reserving<br />
memory within memory-resident sections. The two features that <strong>Caché</strong> supports, memory-resident<br />
global sections and shared page tables, are always used as a pair.<br />
<strong>Caché</strong> <strong>Installation</strong> <strong>Guide</strong> 73