HP-UX Reference (11i v2 04/09) - 5 Miscellaneous Topics (vol 9)
a
Aries(5) Aries(5)
(Itanium(R)-based System Only)
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
How Aries Sets PA-RISC Application Stack Size
At process startup time, Aries sets the size of the PA-RISC application stack based on following criteria:
1. Aries first checks if Aries option
-ssz is present in the Aries resource configuration file. If so, it sets
the value of the PA-RISC application stack with the value of
-ssz.
2. If the Aries option
-ssz
is not present, Aries checks if the stack size limits are specified by the
parent process. If specified, Aries sets the size of the PA-RISC application stack as specified by
parent process. The parent process can modify the stack size limits by the system call setrlimit
(RLIMIT_STACK, ...)
.
3. If the Aries option
-ssz
is not present and the parent process has not specified the stack size limits,
Aries sets the value of the PA-RISC application stack size to the value obtained by the system call
getrlimit (RLIMIT_STACK, ...)
. If the application was invoked from a shell, this value will
be same as the value set by the user in the shell as
ulimit -s.
For details on the maximum possible stack size that Aries can allocate, see the section Relation between
pa_maxssiz_32|64bit, and Aries Parameters.
NOTE: Stack sizes can be inherited among an Itanium-based system’s native processes (32-bit and 64-
bit) and emulated PA-RISC processes (32-bit and 64-bit). This is subject to the limitation on available
stack space. For example, a 64-bit process can set a stack size which is not possible to allocate in 32-bit
process’s address space. In that case the 32-bit process will use maximum stack space.
ARIES PERFORMANCE
Aries performance can be characterized by following points:
1. For PA-RISC applications that have an average mix of system intensive, I/O intensive, and memory
intensive operations, Aries performance on an Itanium2-based machine running at 1500 MHz is of
the order of or better than a PA8700-based machine. For such PA-RISC applications, Aries perfor-
mance may be closer to an Itanium2-based machine’s native performance.
2. For PA-RISC applications that have integer intensive operations, Aries performance on an Itanium2-
based machine running at 1500 MHz is about 70-80% of a PA8700-based machine and is 10-15%
better than PA8600-based machine. For such PA-RISC applications, Aries performance is 35-40% of
Itanium2-based machine’s native performance.
3. For PA-RISC applications that have floating point intensive operations, Aries performance on an
Itanium2-based machine running at 1500 MHz is about 50% of a PA8700-based machine and about
70% of PA8600 based machine. For such PA-RISC applications, Aries performance is only 10-15% of
an Itanium2-based machine’s native performance.
4. For PA-RISC virtual machines like JVM (Java Virtual Machine), Aries performance is slower of the
order of 15-20 times compared to an Itanium2-based machine’s native performance. Such applica-
tions are not good candidates for execution in emulation mode under Aries.
5. Aries performance for multi-threaded PA-RISC applications is poorer than the non-threaded counter-
part of the same application. This is because Aries implements internal mutex locks to protect Aries
private data structures. Aries threads need to reach a safe point before they can be suspended. This
condition adds to the performance penalty as the calling thread will have to wait until the target
thread reaches the safe zone before it can be suspended. This is required, as before suspending a
thread, Aries has to make sure that PA-RISC application’s emulated register context is consistent in
registers and memory.
6. PA-RISC applications which make use of performance libraries like
HP mlib are not good candi-
dates to run under Aries. Performance library (for example, HP mlib) kernels are hand-coded in
assembly and are tuned to the cache behavior and instruction resources as to achieve closer to
theoretical machine peak rate. It is not possible for a software emulator like Aries to emulate this
detailed behavior of the application for maximum hardware resource utilization.
HP-UX 11i Version 2: September 2004 − 10 − Hewlett-Packard Company Section 5−−49