Означает ли это количество виртуальных процессоров в физическом процессоре?
Если число братьев и сестер равно количеству ядер, то у вас есть процессоры, которые не поддерживают гиперпоточность, или если гиперпоточность отключена, если число братьев и сестер в два раза больше количества ядер, то у вас есть процессор с гиперпоточностью и включенной гиперпоточностью. Существует хорошая статья здесь .
Число братьев и сестер на процессоре - это общее количество исполнительных блоков в этом процессоре. Это будет включать как дополнительные ядра, так и гиперпоточность.
Например,
siblings : 2
. Двухъядерный, без гиперпоточности.siblings : 4
. Двухъядерный, с гиперпоточностью.siblings : 2
. Одноядерный, с гиперпоточностью.Прежде всего, поймите ниже условия и их использование.
Современные ПК обычно поставляются с многоядерными гиперпоточными процессорами. Например, Linux, работающий на ПК с четырехъядерным гиперпоточным процессором Intel, увидит 8 процессоров (4 ядра x 2 гиперпотока).
Современные серверы обычно представляют собой многоядерные и многопроцессорные системы. Типичный сервер будет иметь два сокета, каждый из которых имеет 24 многопоточных ядра. Таким образом, Linux, работающий в этой системе, увидит 96 процессоров (2 сокета, 24 ядра, 2 гиперпотока)
Возвращаясь к актуальному вопросу, процессоры, совместно использующие кеш, будут называться братьями и сестрами. Организация кэша будет похожа (хотя она будет варьироваться в зависимости от архитектуры),
Рассмотрим многоядерную многопроцессорную систему с 2 разъемами. Каждая розетка имеет 24 сердечника с гиперпоточностью. В этом случае Linux будет видеть 96 процессоров, пронумерованных от 0 до 95. Сокет 1 будет иметь процессоры 0-47, а сокет 2 будет 48-95 (в отличие от этого обычно числа будут чередоваться). Для этой системы с вышеупомянутой организацией кэша,
Ядро использует количество братьев и сестер для балансировки нагрузки, например;
Четыре задачи выполняются в системе, имеющей два физических пакета, каждое из которых имеет два ядра (совместно использующих кэш последнего уровня), а каждое ядро имеет два логических потока. Баланс нагрузки начинает работать в многоядерном домене для первого пакета, что приводит к равномерному распределению нагрузки между всеми ядрами.