Skip title Accessibility statement: we seek to make the HPC web pages accessible to all users. If you encounter accessibility issues with HPC web pages please send a description of the problem by email to eric_sills@ncsu.edu - thank you. NC State
High Performance Computing
   
Skip menu side bar
Home
About
 
OpNews
 
Help/Accounts
 
Partners
 
User Projects
Services
 
Hardware
 
Software
 
Grid
 
Monitor
HowTo/FAQ
 
Docs & Pubs
 
Courses
 
Other Resources

AIX User Process Memory Models

AIX 5L provides support for both 32-bit and 64-bit user process memory models. The IBM p690 hardware supports 64-bit addresses and the version of AIX running on the p690 uses 64-bit addressing.

User processes can use either 32-bit or 64-bit addresses. 32-bit addresses provide some performance benefit due to the more compact resulting instructions. However, applications which need to access more than 2 GB of data must use 64-bit addresses.

32-bit Memory Models

AIX divides memory into 256 MB segments. 32-bit memory models can access 16 memory segments (4 GB). There are three 32-bit user process memory models provided by AIX: default memory model, large memory model, and very large memory model. Under AIX 5.1 the large memory model and very large memory model are both restricted to a maximum of 2 GB of data (8 segments).

Default 32-bit Memory Model

The default memory model allocates a segment for kernel text and data associated with the user process, a segment for user text, a segment for user stack and data, a segment for shared library text, a segment for library data, and the remaining segments are available to use as shared memory segments. Since user stack and data share a 256 MB segment in this model, user data is restricted to 128 MB to allow room for the stack within the segment.

Attempting to load an executable with more than 128 MB of statically allocated data will produce an error message that not enough memory is currently available (because the available data space is too small to hold the executable data).

32-bit Large Memory Model

The large memory model is selected by specifing -bmaxdata:0xN0000000, where N may be 1-8. This allocates N memory segments for user data and also allows the user stack to completely occupy a segment. The maximum number of segments that can be used for user data is 8.

Graphical representation of memory layout described in text
32-bit Very Large Memory Model
The very large memory model is selected by specifing -bmaxdata:0xN0000000/DSA, where N may be 1-8. This allocates upto 8 memory segments for user data, but the segments are allocated dynamically. In AIX 5.2 the maximum number of segments increases to 10 with the stack having its own segment, or 13 if the stack segment is shared with shared library text and data. Under AIX 5.1 (current version running on p690) the limit is the same as for large memory model, 8.

64-bit Memory Model

64-bit memory model can address up to 1 Exabyte of memory. 256 MB memory segments are still used, but ~4,300,000,000 segments are available instead of 16. Segments are dynamically allocated within specified ranges for various uses. User data can occupy up to 448 Petabytes of memory. The 64-bit memory model is selected by specifing -q64.
Last modified: August 20 2004 16:44:45.
Office of Information Technology | NC State University | Raleigh, NC 27695 | Accessibility Statement | Policy Disclaimer | Contact Us