vSphere - Выделить 100% ЦП для 1 ВМ / эффективность 88% [закрыто]

РЕДАКТИРОВАТЬ 2: Мое приложение использует гиперпоточность

A. Да, я знаю, что это за технология и для чего она нужна

B. Да, я знаю разницу между физическим ядром и логическим

C. Да, отключение HT привело к замедлению рендеринга, этого и следовало ожидать!

D.Нет, я не преувеличиваю, когда назначаю все логические (да, логические) ядра одной виртуальной машине, если вы прочитаете официальные документы от VMWare, вы узнаете, что планировщик генерирует карту топологии физического оборудования и использует эту карту при распределении ресурсов, назначение ВСЕХ логических ядер одной виртуальной машине создает 16 логических процессоров в Windows, как если бы я установил виртуальную машину на физическом оборудовании. И вот, после 5 тестов эта компоновка показала самое быстрое (и наиболее эффективное) время рендеринга.

F. Речь идет о приложении 3ds max 2014, использующем backburner и средство визуализации Mental Ray.


TL | DR: Я (иногда) хочу запустить одну виртуальную машину на vSphere с максимальной эффективностью процессора, как?

Я надеюсь использовать гипервизор ESXI / vSphere от VMWare в немного нестандартном способ.

Обычно люди используют гипервизор для одновременного запуска нескольких виртуальных машин в одной системе. Я хочу использовать гипервизор, чтобы позволить мне быстро переключаться между приложениями, но при этом действительно запускать только одну виртуальную машину / приложение за раз.

На самом деле это любимый проект, у меня есть 5 узлов рендеринга (например, узел 2x Intel Xeon E5540), который по большей части остается выключенным (когда я не рендеринг, мне не нужно запускать эти машины). Это кажется пустой тратой драгоценного времени вычислений, поэтому я надеялся использовать их для других целей, когда не рендеринг (своего рода вычислительный кластер общего назначения с 40 ядрами / 80 потоками).

Я надеялся, что vSphere позволит мне запускать виртуальные машины узла рендеринга во время рендеринга и другие вещи, когда это не так. Проблема в том, что мне действительно нужна высокая эффективность, когда дело касается ЦП, когда работает виртуальная машина рендеринга.

Я использую задание рендеринга в качестве эталона и получаю около 88% скорости на виртуальной машине по сравнению с установкой без виртуальной машины. Я надеялся, что приблизится к 95%, какие-нибудь идеи, как я могу туда добраться?

РЕДАКТИРОВАТЬ: Подробности:

Ресурсы, используемые виртуальной машиной рендеринга, я не совсем понимаю, почему эта полоса не заполнена:

enter image description here

Параметры ресурсов для этой виртуальной машины:

enter image description here

Даже если виртуальная машина не показывает, что она использует 100% ресурсов, хост делает:

enter image description here

Я не совсем понимаю процентные доли здесь, это когда все эти виртуальные машины находятся на? Также я не настраивал другие виртуальные машины на резервирование 10%:

enter image description here

Наконец, хост показывает, что он полностью загружен, хотя здесь не показано, использование МГц ниже (IE не на 100%):

enter image description here

Конфигурация виртуальной машины:

enter image description here

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

1
задан 18 February 2014 в 02:34
2 ответа

Я думаю, что вы достигли максимума из того, что вы можете получить с этими старыми Xeon, хотя, в отличие от ewwhite, я не верю, что гиперпоточность вызывает у вас какие-либо проблемы. Действительно, по крайней мере, начиная с ESXi 5.0 VMware рекомендовала использовать гиперпоточность для большинства рабочих нагрузок , и ваше собственное тестирование, похоже, подтверждает, что вы получаете выгоду от HT. Однако, как правильно отмечает ewwhite, использование HT приведет к тому, что некоторые метрики в vSphere будут выглядеть странно.

Я думаю, у вас есть одна очевидная проблема и, возможно, одна неочевидная проблема:

Во-первых, это очевидная проблема: сама виртуализация вызывает накладные расходы. что вы никогда не сможете полностью устранить. В случае с центральным процессором определенные инструкции должны быть виртуализированы, чтобы гипервизор мог правильно изолировать одну виртуальную машину от другой. Таким образом, вместо того, чтобы выполнять инструкцию напрямую, как в «голом железе», гипервизор перехватит вызов и выполнит вместо него несколько инструкций. Из предыдущего опыта мы видим, что 87-90% - это примерно то, что вы должны ожидать от ЦП . Чтобы избавиться от этого, потребуется значительный прогресс в оборудовании. Если вы сейчас видите 91% производительности собственного процессора, это, вероятно, настолько хорошо, насколько это возможно.

Во-вторых, это неочевидная проблема NUMA. Это проблема многопроцессорных систем, в которых часть памяти работает быстрее при доступе к ближайшему ЦП и медленнее при доступе к другим ЦП. В зависимости от того, как ваше задание рендеринга обрабатывает память, вы можете увидеть некоторые преимущества, запустив два параллельных рендерера на двух виртуальных машинах, каждый из которых привязан к определенному процессору и всегда обращается к немного более быстрой памяти. (Если вы запускаете две виртуальные машины на одном хосте, каждая из которых использует половину доступных виртуальных ЦП, ESXi должен решить эту проблему автоматически за вас.) Хотя, если вы не видите эту проблему на голом железе, вы, вероятно, заметите. мало пользы от этого.

3
ответ дан 3 December 2019 в 16:26

Вы неправильно сконфигурировали свои виртуальные машины и хост.

На что следует обратить внимание:

  • Если у вас тяжелый с точки зрения вычислений процесс, вы можете отключить HyperThreading.
  • HyperThreaded (логические) ядра не такие же, как физические ядра !!
  • Процессоры Intel E5540 появились в 2009 году. Это четырехъядерные процессоры. У вас будет 8 физических ядер и 8 логических ядер (всего 16).
  • Если вы настроили одиночную виртуальную машину с 16 виртуальными ЦП, уменьшите масштаб !!
  • ESXi также требует некоторых ресурсов.
  • Попробуйте изменить размер своей виртуальной машины (8 виртуальных ЦП), если вы не хотите отключать HyperThreading.

Другие дела (в общем) ...

5
ответ дан 3 December 2019 в 16:26

Теги

Похожие вопросы