Физические, логические и виртуальные ядра

Физические, логические и виртуальные ядра

У моего процессора 4 физических ядра. Максимум 8 виртуальных ядер на ядро. Применимо ли следующее:

  • если включена гиперпоточность, то 4x 2 = 8 логических ядер. Что означает 8 x 8 = 64 максимальных виртуальных ядра

  • если гиперпоточность не включена, то максимальное количество виртуальных ядер составляет 4 x 8 = 32. Или всегда 4x8=32 виртуальных ядра?

решение1

Привет, вот несколько основ, которые помогут тебе понять:
1. Чем больше у тебя физических ядер, тем выше будет производительность
. 2. Логические ядра в одном физическом процессоре помогают процессору выполнять многозадачность, но не лучше, чем наличие выделенного физического процессора
. 3. Гиперпоточность - это процесс достижения многоядерной производительности в одном физическом ядре.
4. Гиперпоточность не умножает логические ядра, их реализация уже зафиксирована производителем.
5. Гиперпоточность позволяет распределять нагрузку ЦП по ядрам, а если требуется большее распределение, то разделять нагрузку в пределах физического ядра с помощью различных технологий, таких как квантование времени, циклический перебор и т. д.

Таким образом, если ваш процессор имеет 4 физических ядра с максимум 8 логическими/виртуальными ядрами на ядро, то это всегда будет 4x8 = 32 ядра.
Надеюсь, это вам поможет. :-)

решение2

Нет. В этом контексте логические процессоры и «виртуальные ядра» — это одно и то же. Если включить гиперпоточность, то на одно физическое ядро ​​придется два логических процессора. Таким образом, в общей сложности у вас восемь логических процессоров или восемь виртуальных ядер, какой бы термин вы ни использовали.

Без гиперпоточности на каждое физическое ядро ​​приходится всего один логический процессор.

решение3

В контексте виртуальных машин/гипервизоров (имея в виду виртуальные машины Azure):

Гипервизор — это часть программного обеспечения, которая отвечает за распределение вычислений по виртуальным машинам. Допустим, у нас есть 2 типа хост-процессоров:

  1. Вычислительный процессор A: гиперпоточный процессор с 4 физическими ядрами
  2. Вычислительный процессор B: нет гиперпоточного процессора с 4 физическими ядрами

Допустим, мы создаем 2 виртуальные машины: одну, которой требуется меньше вычислительной мощности (ВМ X), и одну, которой требуется больше вычислительной мощности (ВМ Y).

Вычислить А:

  1. Гипервизор выделяет 1 физическое ядро ​​для VM X как 1 виртуальное ядро
  2. Затем VM X получает 2 логических ядра, то есть 2 vCPU.
  3. Итак, для VM X задействованы 2 vCPU, 2 логических ядра, 1 виртуальное ядро, 1 физическое ядро.
  4. Гипервизор выделяет 2 физических ядра виртуальной машине Y как 2 виртуальных ядра
  5. Тогда ВМ Y получает 4 логических ядра, то есть 4 виртуальных ЦП.
  6. Итак, для виртуальной машины Y задействовано 4 виртуальных ЦП, 4 логических ядра, 2 виртуальных ядра, 2 физических ядра.

Вычислить B:

  1. Гипервизор выделяет 1 физическое ядро ​​для VM X как 1 виртуальное ядро
  2. Затем VM X получает 1 логическое ядро, то есть 1 vCPU.
  3. Таким образом, для VM X задействованы 1 vCPU, 1 логическое ядро, 1 виртуальное ядро, 1 физическое ядро.
  4. Гипервизор выделяет 2 физических ядра виртуальной машине Y как 2 виртуальных ядра
  5. Затем ВМ Y получает 2 логических ядра, то есть 2 vCPU.
  6. Итак, для виртуальной машины Y задействованы 2 виртуальных ЦП, 2 логических ядра, 2 виртуальных ядра, 2 физических ядра.

Для виртуальной машины нет такого понятия, как физическое ядро, а есть виртуальное ядро ​​(которое создается так, чтобы оно выглядело как физическое ядро, точно так же, как сама виртуальная машина создается так, чтобы она выглядела как физическая машина). Обратите внимание, здесь мы предполагаем, что 1 физическое ядро ​​представлено как 1 виртуальное ядро ​​для виртуальной машины. Однако гипервизор может решить объединить 2 физических ядра иабстрактныйих как 1 виртуальное ядро ​​для виртуальной машины (или в общем случае M физических ядер можно абстрагировать в N виртуальных ядер). Логические ядра будут следовать затем на основе фактора гиперпоточности.

Количество виртуальных ЦП равно количеству логических ядер, поддерживаемых виртуальным ядром (следовательно, и количеству физических ядер). [Источники:Лазурный Алан,VMWare]

Исходный текст (на случай, если гиперссылки на источник не работают):

Лазурный Алан: Лазурный Алан

VMWare: VMWare

Связанный контент