Поделиться через


Структура ITopologyNode

Интерфейс к узлу топологии, определяемый менеджером ресурсов. Узел содержит один или несколько ресурсов выполнения.

Синтаксис

struct ITopologyNode;

Участники

Открытые методы

Имя Описание
ITopologyNode::GetExecutionResourceCount Возвращает количество ресурсов выполнения, сгруппированных в этом узле.
ITopologyNode::GetFirstExecutionResource Возвращает первый ресурс выполнения, сгруппированный в этом узле в порядке перечисления.
ITopologyNode::GetId Возвращает уникальный идентификатор Resource Manager для этого узла.
ITopologyNode::GetNext Возвращает интерфейс следующего узла топологии в порядке перечисления.
ITopologyNode::GetNumaNode Возвращает номер узла NUMA, назначенный Windows, которому принадлежит данный узел диспетчера ресурсов.

Замечания

Этот интерфейс обычно используется для пошаговой топологии системы, как показано в Resource Manager.

Иерархия наследования

ITopologyNode

Требования

Заголовок: concrtrm.h

Пространство имен: конкурентность

Метод ITopologyNode::GetExecutionResourceCount

Возвращает количество ресурсов выполнения, сгруппированных в этом узле.

virtual unsigned int GetExecutionResourceCount() const = 0;

Возвращаемое значение

Количество ресурсов выполнения, сгруппированных в этом узле.

Метод ITopologyNode::GetFirstExecutionResource

Возвращает первый ресурс выполнения, сгруппированный в этом узле в порядке перечисления.

virtual ITopologyExecutionResource *GetFirstExecutionResource() const = 0;

Возвращаемое значение

Первый ресурс выполнения, сгруппированный в этом узле согласно порядку перечисления.

Метод ITopologyNode::GetId

Возвращает уникальный идентификатор Resource Manager для этого узла.

virtual unsigned int GetId() const = 0;

Возвращаемое значение

Уникальный идентификатор диспетчера ресурсов для этого узла.

Замечания

Среда выполнения параллельных задач представляет аппаратные потоки в виде групп процессорных узлов на системе. Узлы обычно являются производными от аппаратной топологии системы. Например, все процессоры на определенном сокете или определенном узле NUMA могут принадлежать одному узлу процессора. Resource Manager назначает уникальные идентификаторы этим узлам, начиная с 0 и nodeCount - 1включая, где nodeCount представляет общее количество узлов процессора в системе.

Количество узлов можно получить из функции GetProcessorNodeCount.

Метод ITopologyNode::GetNext

Возвращает интерфейс к следующему узлу топологии в порядке перечисления.

virtual ITopologyNode *GetNext() const = 0;

Возвращаемое значение

Интерфейс к следующему узлу в порядке перечисления. Если в порядке перечисления топологии системы больше нет узлов, этот метод возвращает значение NULL.

Метод ITopologyNode::GetNumaNode

Возвращает номер узла NUMA, назначенного Windows, которому принадлежит этот узел диспетчера ресурсов.

virtual unsigned long GetNumaNode() const = 0;

Возвращаемое значение

Номер узла NUMA, назначенный Windows, к которому принадлежит этот узел диспетчера ресурсов.

Замечания

Потоковый прокси, работающий на корневом виртуальном процессоре, принадлежащем этому узлу, будет привязан как минимум к уровню узла NUMA для узла NUMA, который возвращается этим методом.

См. также

Пространство имен параллелизм