- Object
- Interesting kind of part of the system, such as a Core, a Cache, a Memory node, etc. The different types detected by libtopology are detailed in the topo_obj_type_e enumeration.
They are topologically sorted by CPU set into a tree whose root is the System object which always exists.
- CPU set
- The set of logical processors logically included in an object, if any
- Father object
- The object logically containing the current object, for instance because its CPU set includes the CPU set of the current object.
- Children objects
- The object contained in the current object because their CPU set is included in the CPU set of the current object.
- Arity
- The number of children of an object
- Sibling objects
- Objects of the same type which have the same father
- Sibling rank
- Index to uniquely identify objecst of the same type which have the same father, numbered from 0 to the arity of the father minus one.
- Cousin objects
- Objects of the same type as the current object
- Level
- Set of objects of the same type
- OS index
- The index that the OS uses to identify the object. This may sometimes be completely arbitrary or depend on the BIOS configuration.
- Depth
- Nesting level in the object tree, starting from the System object.
- Logical index
- Index to uniquely identify objects of the same type. This index is always linear from 0 to the number of objects of the level for that type, to express proximity. It could also be called cousin rank.
The following diagram can help to understand the vocabulary of the relationships by showing the example of a machine with two dual core non-SMT sockets, thus a topology with 4 levels.
It can be noticed that for Processor objects, the logical index, computed linearly by libtopology, is not the same as the OS index.