25.01.2015 Views

Caché Installation Guide - InterSystems Documentation

Caché Installation Guide - InterSystems Documentation

Caché Installation Guide - InterSystems Documentation

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!