Friday, April 26, 2013

AIXTHREAD_AFFINITY

Just when I thought I understood IBM Power AIX memory affinity, I stumbled across this documentation on thread behavior environment variables:
http://pic.dhe.ibm.com/infocenter/aix/v7r1/index.jsp?topic=%2Fcom.ibm.aix.prftungd%2Fdoc%2Fprftungd%2Fthread_env_vars.htm

****

AIXTHREAD_AFFINITY={default|strict|first-touch} (AIX 6.1.5 and later)

The AIXTHREAD_AFFINITY controls the placement of pthread structures, stacks, and thread-local storage on an enhanced affinity enabled system.
  • The default option will not attempt any special placement of this data, balancing it over the memory regions used by the process as determined by the system settings
  • The strict option will always place this data in memory local to the pthread; this may incur some performance penalty during the creation of the pthread as the existing data is migrated from one memory region to another, however, may improve run-time performance.
  • The first touch option is similar in placement of memory local to the pthread, however, it will not attempt to migrate any data within the memory. The in-memory pages are needed by the thread for this data (including paging in memory from paging space), and will be placed local. This option allows a balance between startup time and runtime performance.


****

All I wanted to do was find more recent information about AIXTHREAD_SCOPE=S.  There's some of that in there, too.  But I've had enough for now.

3 comments:

  1. 7100-00 AIXTHREAD_AFFINITY ENV VAR CAUSES MEMORY LEAK
    http://www-01.ibm.com/support/docview.wss?uid=isg1IV14879

    ReplyDelete
  2. 7100-01 AIXTHREAD_AFFINITY ENV VAR CAUSES MEMORY LEAK APPLIES
    http://www-01.ibm.com/support/docview.wss?uid=isg1IV12879

    ReplyDelete
  3. In all, that fix is relevant to 3 TLs of AIX 7.1 and 4 TLs of AIX 6.1
    http://www-01.ibm.com/support/docview.wss?uid=isg1fixinfo136008

    ReplyDelete