The XTAdmin Database segment Table

The XTAdmin database contains a segment table that supports the memory affinity optimization tools for applications and CPU affinity options for all Cray compute nodes. The CPU affinity options apply to all Cray multicore compute nodes.

The segment table is similar to the attributes table but differs in that a node may have multiple segments associated with it; the attributes table provides summary information for each node.

In order to address the application launch and placement requirements for compute nodes with two or more NUMA nodes, the Application Level Placement Scheduler (ALPS) requires additional information that characterizes the intranode topology of the system. This data is stored in the segment table of the XTAdmin database and acquired by apbridge when ALPS is started, in much the same way that node attribute data is acquired.

The segment table contains the following fields:

node_id
The node identifier that maps to the nodeid field of the attributes table and processor_id field of the processor table.
socket_id
Contains a unique ordinal for each processor socket.
die_id
Contains a unique ordinal for each processor die; with this release, die_id is 0 in the segment table and is otherwise unused (reserved for future use).
numcores
The number of integer cores per node; in systems with accelerators this only applies to the host processor (CPU).
coremask
The processor core mask. The coremask has a bit set for each core of a CPU. 24-core nodes will have a value of 16777215 (hex 0xFFFFFF).

coremask is deprecated and will be removed in a future release.

mempgs
Represents the amount of memory available, in Megabytes, to a single segment.

The /etc/sysconfig/xt file contains SDBSEG field, which specifies the location of the segment table file; by default, SDBSEG=/etc/opt/cray/sdb/segment.

To update the segment table, use the following service database commands:
  • xtdb2segment, which converts the data into an ASCII text file that can be edited
  • xtsegment2db, which writes the data back into the database file

For more information, see the xtdb2segment(8) and xtsegment2db(8) man pages.

After manually updating the segment table, log on to any login node or the SDB node as root and execute the apmgr resync command to request that ALPS reevaluate the configuration node segment information and update its information.

If ALPS or any portion of the feature fails in relation to segment scheduling, ALPS reverts to the standard scheduling procedure.