aries.5 (2010 09)

a
ARIES(5) ARIES(5)
(HP Integrity Systems Only)
7. Memory area used by ARIES dynamic translator as heap.
Memory allocation from AMA happens dynamically on demand. A PA-RISC process running under
ARIES will have larger memory footprint (resident memory) as compared to native PA-RISC system. The
increase in process resident memory size depends on actual memory allocated from AMA.
Relation Between pa_maxssiz_32|64bit and ARIES Parameters
If the value of kernel tunable parameter maxssiz is much higher than its default value, any additional
memory obtained by increasing the kernel tunable parameter pa_maxssiz_32/64bit will be used by ARIES
to increase the size of PA-RISC application stack and it may not be possible to increase the size of ARIES
parameter
-heap_ssz. To achieve optimal memory utilization in such cases, HP recommends that you
limit the size of PA-RISC application stack by setting ARIES option
-ssz value to a reasonable value e.g.
8192 kbytes and use ARIES option -heap_ssz
to increase the size of ARIES heap to be able to
create more number of threads than possible with default ARIES option values.
32-bit ARIES
At process startup time, ARIES reserves space for PA-RISC application stack with its maximum size com-
puted as:
max_pa_stack_size
= least of the following two factors:
1. Current value of kernel tunable parameter maxssiz.
2. Stack size value obtained from parent process.
Total size of all memory areas in AMA should be less than or equal to kernel tunable parameter
pa_maxssiz_32bit value. AMA is divided into different memory regions as:
pa_maxssiz_32bit = max_pa_stack_size +
ARIES heap size (heap_ssz) +
ARIES translation code buffer size (ccsz) +
ARIES AMAP size (amapsz) +
ARIES code cache descriptors size (descsz) +
ARIES translator heap (exc_dynt_heap_ssz) +
5 MB (ARIES data etc)
Examples
1. If a 32-bit PA-RISC application requires 128 MB stack, set the kernel tunable parameter
pa_maxssiz_32bit to:
128 MB (ssz) + 22 MB (heap_ssz) + 16 MB (ccsz) + 16 MB (amapsz) + 8 MB (descsz) + 5 MB
(exc_dynt_heap_ssz) + 5 MB = 200 MB
2. If a 32-bit PA-RISC application requires 128 MB of ARIES heap, set the kernel tunable parameter
pa_maxssiz_32bit to:
8 MB (ssz) + 128 MB (heap_ssz) + 16 MB (ccsz) + 16 MB (amapsz) + 8 MB (descsz) + 5 MB
(exc_dynt_heap_ssz) + 5 MB = 186 MB
64-bit ARIES
64-bit ARIES follows same conventions as 32-bit ARIES for managing AMA. The AMA size is determined
by kernel tunable parameter pa_maxssiz_64bit value. 64-bit ARIES has 24 MB of fixed memory area (for
ARIES data etc) compared to 5 MB for 32-bit ARIES.
EMULATION OF PA-RISC APPLICATION THREADS UNDER ARIES
Calculation of the Required Size for ARIES Heap
For emulation of PA-RISC application’s threads, ARIES creates its own native threads. For new threads,
ARIES allocates memory for thread specific data, thread stack, and thread backing store. The memory
requirement for each thread creation in ARIES is as follows:
215 KBytes: For 32-bit ARIES
280 KBytes: For 64-bit ARIES
ARIES divides the heap area into two parts. The first part is used for the ARIES private heap and the
second part is used for allocation of new threads. Thus:
Required ARIES Heap Size =
ap_heap_ssz (KB) + (number of PA-RISC application threads) *
(Memory required per ARIES thread, in KB)
HP-UX 11i Version 3: September 2010 11 Hewlett-Packard Company 11