ITopologyNode Structure

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

An interface to a topology node as defined by the Resource Manager. A node contains one or more execution resources.

struct ITopologyNode;

Public Methods

NameDescription
ITopologyNode::GetExecutionResourceCount MethodReturns the number of execution resources grouped together under this node.
ITopologyNode::GetFirstExecutionResource MethodReturns the first execution resource grouped under this node in enumeration order.
ITopologyNode::GetId MethodReturns the Resource Manager's unique identifier for this node.
ITopologyNode::GetNext MethodReturns an interface to the next topology node in enumeration order.
ITopologyNode::GetNumaNode MethodReturns the Windows assigned NUMA node number to which this Resource Maanger node belongs.

This interface is typically utilized to walk the topology of the system as observed by the Resource Manager.

ITopologyNode

Header: concrtrm.h

Namespace: concurrency

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.

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.

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.

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.

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.

concurrency Namespace

Show: