Что означают братья и сестры в / proc / cpuinfo?

11

Означает ли это количество виртуальных процессоров в физическом процессоре?

Лед Зеппелин
источник

Ответы:

9

Если число братьев и сестер равно количеству ядер, то у вас есть процессоры, которые не поддерживают гиперпоточность, или если гиперпоточность отключена, если число братьев и сестер в два раза больше количества ядер, то у вас есть процессор с гиперпоточностью и включенной гиперпоточностью. Существует хорошая статья здесь .

user9517
источник
7

Число братьев и сестер на процессоре - это общее количество исполнительных блоков в этом процессоре. Это будет включать как дополнительные ядра, так и гиперпоточность.

Например,

  1. Core 2 Duo будет список siblings : 2. Двухъядерный, без гиперпоточности.
  2. А Xeon E5420 перечислю siblings : 4. Двухъядерный, с гиперпоточностью.
  3. Будет представлен список Pentium 4 с гиперпоточностью siblings : 2. Одноядерный, с гиперпоточностью.
Скотт Пак
источник
1

Прежде всего, поймите ниже условия и их использование.

  • ЦПУ
    • ЦП - это процессор.
    • Он будет иметь несколько компонентов для обработки инструкций.
    • Каждый компонент отвечает за различные операции, такие как выборка команд, декодирование, обработка, обновление и т. Д.
  • ядро
    • Один ЦП может иметь несколько наборов / единицу вышеупомянутых компонентов.
    • Если имеется два набора этих блоков, процессор может выполнять две инструкции параллельно.
    • Одна единица называется Core.
    • Duel-Core CPU будет иметь два идентичных набора компонентов. Четырехъядерный процессор будет иметь четыре идентичных набора этих компонентов / блоков
  • Мультипроцессор / гиперпоточность
    • Это немного сложно. Это действительно только программный контекст.
    • Всякий раз, когда инструкция ожидает завершения внешнего события, процессор будет простаивать. Чтобы лучше использовать процессор, некоторые поставщики поддерживают два аппаратных потока, и всякий раз, когда один поток блокируется, аппаратное обеспечение переключается на другой поток. Этот тип процессоров будет иметь возможность хранения и восстановления состояний процессора
    • Для программного обеспечения это будет выглядеть так, как будто два потока работают параллельно.
    • Linux считает это ядро ​​с гиперпоточностью множественным процессором. Потому что он может запускать два потока параллельно. Таким образом, он увидит два исполнительных блока (псевдопроцессоры).
    • Например, последние процессоры Intel являются многопоточными, способными запускать два потока одновременно.
  • Многоядерные
    • Современные процессоры имеют несколько наборов вышеупомянутых аппаратных единиц / ядер
    • В отличие от гиперпоточности, они могут фактически выполнять две инструкции параллельно
    • Каждое ядро ​​тоже может быть гиперпоточным
  • Поддержка нескольких процессоров
    • Высокопроизводительные системы, такие как Серверы, Суперкомпьютеры будут иметь несколько физических процессоров.
    • Вы можете увидеть несколько процессорных разъемов на материнских платах
    • У каждого может быть несколько ядер. Опять же каждое ядро ​​может быть многопоточным

Современные ПК обычно поставляются с многоядерными гиперпоточными процессорами. Например, Linux, работающий на ПК с четырехъядерным гиперпоточным процессором Intel, увидит 8 процессоров (4 ядра x 2 гиперпотока).

Современные серверы обычно представляют собой многоядерные и многопроцессорные системы. Типичный сервер будет иметь два сокета, каждый из которых имеет 24 многопоточных ядра. Таким образом, Linux, работающий в этой системе, увидит 96 процессоров (2 сокета, 24 ядра, 2 гиперпотока)

Братья и сестры

Возвращаясь к актуальному вопросу, процессоры, совместно использующие кеш, будут называться братьями и сестрами. Организация кэша будет похожа (хотя она будет варьироваться в зависимости от архитектуры),

  • Каждое ядро ​​будет иметь один кэш инструкций L1 и один кэш данных L1
  • Каждое ядро ​​будет иметь один кэш Unified L2
  • Все ядра в сокете будут иметь один кэш Unified L3
  • Нет двух сокетов, которые обычно разделяют кеш

Рассмотрим многоядерную многопроцессорную систему с 2 разъемами. Каждая розетка имеет 24 сердечника с гиперпоточностью. В этом случае Linux будет видеть 96 процессоров, пронумерованных от 0 до 95. Сокет 1 будет иметь процессоры 0-47, а сокет 2 будет 48-95 (в отличие от этого обычно числа будут чередоваться). Для этой системы с вышеупомянутой организацией кэша,

  • Процессоры 0-47 являются братьями и сестрами
  • Процессоры 48-95 являются братьями и сестрами
Theb
источник
0

Ядро использует количество братьев и сестер для балансировки нагрузки, например;

Четыре задачи выполняются в системе, имеющей два физических пакета, каждое из которых имеет два ядра (совместно использующих кэш последнего уровня), а каждое ядро ​​имеет два логических потока. Баланс нагрузки начинает работать в многоядерном домене для первого пакета, что приводит к равномерному распределению нагрузки между всеми ядрами.

Барт
источник
пакет - неправильная терминология.
Вим Керхофф