HP-UX 11i Version 2 Release Notes (October 2003)
Libraries and Programming
Adaptive Address Space (AAS)
Chapter 9
205
Adaptive Address Space (AAS)
Version 1.0 of Adaptive Address Space (AAS) allows you to create binaries that provide
you with a large address space and more control over it.
AAS is available only on HP-UX for Itanium-based servers.
Summary of Change
The AAS product is used to create a new type of binary, MPAS, by using the chatr
command.
For 32-bit applications, MPAS processes get the entire 4GB of virtual address space, all
of which can be used to map any combination of shared or private data. This is in
contrast to the default address space model for 32-bit applications on previous versions
of HP-UX, which provided applications with only 2GB of shared address space and at
most 2GB of private address space.
MPAS processes also get some additional features that other OSs (e.g., Solaris and
Linux) have had support for, but until now, HP-UX has not had. In particular, MPAS
processes are allowed to mmap using the MAP_SHARED|MAP_FILE flags, the very same
offset of the file multiple times. Each mapping is independent of the others (i.e.,
unmapping one will not make the others go away).
Impact
AAS version 1.0 benefits you in a number of ways:
• Some applications (e.g. java virtual machine) benefit in terms of performance from a
larger private address space.
• Many users would like more control over their address space. Previous HP-UX
address space models split up the 4GB address space into separate segments for
private and shared data (e.g., share magic applications had 1GB private space, 2GB
shared space, and so on). Now, the application has 4GB of space in which it can
dynamically allocate any type of object.
Compatibility
Existing applications suites will see no difference in behavior (i.e., ABI and API
compatibility will be maintained). However, applications that have MPAS processes or a
mixture of MPAS processes and old-style HP-UX processes will notice changes. (But
these aren't compatibility issues, per se).
Performance
MPAS processes will have lower performance. In fact, using MPAS processes will lower
performance for the entire system, including other, independent, non-MPAS processes.
Exact numbers will depend on the application itself.