У меня есть сервер с двухъядерным четырехъядерным процессором с гиперпоточностью.
У нас есть виртуальная машина Windows 2003 с одним ядром.
при использовании Prime95 я замечаю, что максимальная частота составляет около 2,3 ГГц (каждое ядро на этом сервере составляет 3 ГГц).
В любом случае, может ли ESXi позволить одному виртуальному процессору использовать более одного физического ядра?
Я знаю, что это странно, но просто подыграй :)
Спасибо.
Насколько я понимаю, и да, и нет, но не да по причинам, которые вам нужны. То разрешение на 1 виртуальный процессор, которое вы предоставили своей виртуальной машине, не означает, что она всегда будет оставаться на ядре №2 процессора №1, но это означает, что она никогда не будет использовать> 1 ядро.
Поскольку у вас есть только одна виртуальная машина на вашем сервере, вы не видите рабочую нагрузку, распределенную по нескольким ядрам, потому что планировщик ЦП никогда не видит необходимости перемещать ее с этого одного ядра. Однако, если вы начнете размещать больше машин, которые видят разные рабочие нагрузки, и даже если бы всем им был назначен один виртуальный ЦП, то любая из этих машин не обязательно всегда работала на одном физическом ядре.
Работа может быть распределена по нескольким ядрам в зависимости от того, как планировщик ЦП ESXi считает нужным. При этом VMware по-прежнему не может разделить один виртуальный ЦП на два физических ядра одновременно. Все, что он может сделать, это перенести эти виртуальные ЦП на другое физическое ядро, если подсистема балансировки нагрузки считает это полезным, например, если одно ядро перегружено работой, а другое ядро простаивает, ESX перенесет виртуальный ЦП на это простаивающее ядро.
Я бы прочитал эту статью, начиная со страницы 6 и далее в разделе 3.3.1 на странице 10, если вы действительно хотите увидеть, как работает дизайн: http://www.vmware.com/files/pdf/techpaper/VMW_vSphere41_cpu_schedule_ESX.pdf
Это не предел VMware, это предел того, как работают процессоры и программное обеспечение в целом. Идея, которая у вас есть, - это своего рода святой Грааль вычислений с несколькими процессорами, когда рабочая нагрузка однопоточного приложения распределяется по нескольким ядрам для повышения производительности. Это почти полная противоположность гиперпоточности: вместо того, чтобы заставить одно ядро выполнять работу двух ядер для увеличения пропускной способности параллельного выполнения, вы получите два ядра, которые будут выполнять работу одного ядра в два раза быстрее. В любом случае, это, вероятно, более технично, чем вы хотели.
tl; dr: Нет, но если вы поймете, как вы, возможно, не захотите рассказывать всем в городе, как это сделать, если только они не предложат пару долларов :)
Нет, не может. Это не волшебная пуля, которая каким-то образом изменит архитектуру процессора.