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.

High Performance and Grid Computing
   
Skip menu side bar
Home
About

OpNews

Help/Accounts

Staff

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.
Copyright © 2003-2007 by NC State University and others, All Rights Reserved.
HPC & Grid (Version 1.4 / Site access count: 754032) - Site/Content Notice

Site contact: Eric Sills, E-mail: eric_sills at ncsu dot edu , Tel: 919-513-0324, Fax: 919-513-1893, HPC and Grid Operations, Information Technology Division, Box 7109, North Carolina State University, Raleigh, NC27695-7914, USA