ITopologyNode Structure
An interface to a topology node as defined by the Resource Manager. A node contains one or more execution resources.
Syntax
struct ITopologyNode;
Members
Public Methods
Name | Description |
---|---|
ITopologyNode::GetExecutionResourceCount | Returns the number of execution resources grouped together under this node. |
ITopologyNode::GetFirstExecutionResource | Returns the first execution resource grouped under this node in enumeration order. |
ITopologyNode::GetId | Returns the Resource Manager's unique identifier for this node. |
ITopologyNode::GetNext | Returns an interface to the next topology node in enumeration order. |
ITopologyNode::GetNumaNode | Returns the Windows assigned NUMA node number to which this Resource Maanger node belongs. |
Remarks
This interface is typically utilized to walk the topology of the system as observed by the Resource Manager.
Inheritance Hierarchy
ITopologyNode
Requirements
Header: concrtrm.h
Namespace: concurrency
ITopologyNode::GetExecutionResourceCount Method
Returns the number of execution resources grouped together under this node.
virtual unsigned int GetExecutionResourceCount() const = 0;
Return Value
The number of execution resources grouped together under this node.
ITopologyNode::GetFirstExecutionResource Method
Returns the first execution resource grouped under this node in enumeration order.
virtual ITopologyExecutionResource *GetFirstExecutionResource() const = 0;
Return Value
The first execution resource grouped under this node in enumeration order.
ITopologyNode::GetId Method
Returns the Resource Manager's unique identifier for this node.
virtual unsigned int GetId() const = 0;
Return Value
The Resource Manager's unique identifier for this node.
Remarks
The Concurrency Runtime represents hardware threads on the system in groups of processor nodes. Nodes are usually derived from the hardware topology of the system. For example, all processors on a specific socket or a specific NUMA node may belong to the same processor node. The Resource Manager assigns unique identifiers to these nodes starting with 0
up to and including nodeCount - 1
, where nodeCount
represents the total number of processor nodes on the system.
The count of nodes can be obtained from the function GetProcessorNodeCount.
ITopologyNode::GetNext Method
Returns an interface to the next topology node in enumeration order.
virtual ITopologyNode *GetNext() const = 0;
Return Value
An interface to the next node in enumeration order. If there are no more nodes in enumeration order of the system topology, this method will return the value NULL
.
ITopologyNode::GetNumaNode Method
Returns the Windows assigned NUMA node number to which this Resource Maanger node belongs.
virtual unsigned long GetNumaNode() const = 0;
Return Value
The Windows assigned NUMA node number to which this Resource Manager node belongs.
Remarks
A thread proxy running on a virtual processor root belonging to this node will have affinity to at least the NUMA node level for the NUMA node returned by this method.