HP-UX Reference (11i v3 07/02) - 5 Miscellaneous Topics (vol 9)
a
Aries(5)
Itanium(R)-based Systems Only
Aries(5)
varies quite a lot under Aries.
5. Aries performance for multithreaded PA-RISC applications is poorer than the nonthreaded counterpart
of the same application. Multithreaded applications cause threads synchronization overhead in Aries.
Aries can suspend a thread only when it reaches a suspension safe point in Aries so as to provide
correct emulated context to application.
6. PA-RISC applications which make use of performance libraries like
HP mlib are not good candidates
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.
7. PA-RISC applications that make extensive use of
OpenGL experience slow performance. This is
because the
ogld daemon process on an Itanium-based machine is a native process, and an emulated
application cannot send its graphics output to a native graphics card by directly communicating with
the ogld daemon process. Such PA-RISC applications send their graphics data to the Itanium-based
machine’s graphics card through a virtual memory driver (VMD) which is emulated under Aries. This
process of displaying the graphics data is slow. Instead, such applications should make use of
OpenGL
display lists
by using GLX protocol mode. This process of displaying graphics data with
OpenGL can be significantly faster than the virtual memory driver route.
ARIES SUPPORTED APPLICATIONS
Aries supports emulation of all PA-RISC HP-UX applications. This means all the HP-UX Inter-Process
Communication mechanisms such as semaphores, shared memory, sockets, and so forth, are supported. All
inter-process communications between an emulated PA-RISC application and a native-running Itanium-
based application is supported. The signal/exception behavior of a PA-RISC HP-UX application is supported
under Aries. There is only a very small subset of the PA-RISC application domain that is not supported
under Aries. To ascertain whether a given application will run correctly under Aries or not, determine if
the application falls into one of the Aries limitations described in the section ARIES LIMITATIONS.
ARIES LIMITATIONS
Aries supports emulation of all PA-RISC HP-UX applications, with the following limitations/exceptions:
1. Aries does not support PA-RISC applications that load Itanium-based shared libraries. In other words,
mixing PA-RISC binaries with Itanium-based shared libraries is not supported. Aries is meant only for
pure PA-RISC applications, such as binaries that are either statically or dynamically linked with PA-
RISC libraries only. However, any sort of inter-process communication between a native Itanium-
based application and an emulated PA-RISC application is supported.
2. The version of Aries at this release supports PA-RISC HP-UX applications that run on HP-UX 11i Ver-
sion 3 and below. Aries does not support applications compiled on HP-UX version 8.x or earlier. How-
ever such applications run as expected if they run on a contemporary version of HP-UX (for example,
HP-UX 11i Version 3 and earlier).
3. Aries does not support privileged PA-RISC instructions. Hence, device drivers and loadable kernel
modules are not supported.
4. Aries does not guarantee correct emulation of PA-RISC applications which make assumptions about
"time taken to execute certain pieces of application code and/or system calls". Such applications are
theoretically un-synchronized applications, and hence, need to be corrected with proper synchroniza-
tion techniques using mutex locks, semaphores, and so forth. Such un-synchronized applications are
found to be very rare in practice.
5. Aries does not support applications that use the
ptrace() or profil() system calls. However,
Aries supports debugging of emulated application using PA-RISC gdb. See section PA-RISC HP-UX
GDB DEBUGGING SUPPORT for additional information. This limitation might affect debugger appli-
cations, which are normally not portable anyway.
6. Aries consumes a small amount of an application’s virtual memory address space. Therefore Aries does
not support applications that are nearly or completely maxed out on their virtual address space usage.
Such applications, in practice, have been found to be extremely rare.
7. Aries supports both fork() and vfork() system calls. However, Aries does not support applica-
tions that rely on differences between fork() and vfork(). However, most applications that use
the vfork() system call do use it with a purpose which is well known to the programmer. It is an
extremely rare condition that a standard application would have any such reliance on the differences
HP-UX 11i Version 3: February 2007 − 12 − Hewlett-Packard Company 75