HP-UX Reference (11i v3 07/02) - 5 Miscellaneous Topics (vol 9)
a
Aries(5)
Itanium(R)-based Systems Only
Aries(5)
• For 32-bit Aries: 215 KBytes
• For 64-bit Aries: 280 KBytes
Apart from the memory required to allocate new threads, Aries needs some memory for its internal
dynamic data structures allocation. The size of the Aries private heap is determined by the Aries parame-
ter -heap_ssz. 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 the required amount of space for the
Aries heap is calculated as follows:
Required Aries Heap Size =
-ap_heap_ssz KB + (Number of PA-RISC application threads) *
(Memory required to allocate one Aries thread, in KB)
Maximum Number of Threads that Aries Can Create
A PA-RISC application can create a maximum of 86 threads under 32-bit Aries with the default value of the
kernel tunable parameter pa_maxssiz_32bit
and default values of the 32-bit Aries parameters. The
same application can create a maximum of 439 threads under 64-bit Aries with the default value of the ker-
nel tunable parameter
pa_maxssiz_64bit
and default values of 64-bit Aries parameters.
Check to see that the value of your kernel tunable parameter
max_thread_proc
is not less than the
required number of threads that your PA-RISC application needs to create.
If your PA-RISC application needs to create a larger number of threads than the maximum number of
threads that can be created with default values of Aries parameters and the kernel tunable parameter
pa_maxssiz_32|64bit
, then increase the Aries heap size by specifying the -heap_ssz option in the
Aries resource configuration file.
Note: The amount of free memory available in AMA on account of reducing a PA-RISC application’s stack
size (Aries option
-ssz) cannot be automatically used by Aries to allocate more space to the Aries heap.
To change the Aries heap size, you must set the Aries option -heap_ssz in the Aries resource
configuration file.
Emulating MxN Threads
Aries supports PA-RISC applications which are linked with the MxN pthreads library. With this release of
HP-UX, the PA-RISC MxN pthreads library is delivered on Itanium-based system.
A future release of Aries may have support for true emulation of MxN pthreads. Until that time, Aries
supports emulation of PA-RISC HP-UX applications linked with MxN pthreads library in traditional 1x1
mode. Aries achieves this by internally setting the environment variable
PTHREAD_COMPAT_MODE
to 1.
EMULATING PA-RISC APPLICATION STACK UNDER ARIES
The stack allocated by the Itanium-based HP-UX kernel is used by Aries as its own native stack. Aries allo-
cates the stack for PA-RISC applications from AMA. Most PA-RISC applications run as expected with
default stack size set by Aries. However, if your PA-RISC application fails with core dump, with the fol-
lowing error message, then you should increase the PA-RISC application stack size by using Aries option
-ssz in the Aries resource configuration file.
ARIES32|64 Limitation/Error
PID xxxxx received SIGSEGV for stack growth failure
Possible causes - insufficient memory or swap space,
or stack size exceeded pa_maxssiz_32|64bit
Aries does not support applications which are nearly or completely
maxed out on their data segment address space usage.
This is because
Aries consumes small amount of virtual memory address space of
application
Terminating emulation
HP-UX 11i Version 3: February 2007 − 10 − Hewlett-Packard Company 73










