System administration
Virtualization
Server optimization
Server Administration
April 2015 13

Про Intel Hyper-Threading и производительность виртуальных машин

Всегда относился к Intel Hyper-Threading как к маркетинговому продукту. Но недавно я взглянул на эту технологию под другим углом.

Настал момент, когда лицензия vSphere Standart позволила создавать и запускать виртуальные машины с количеством виртуальных процессоров равных 8. О том, чем это грозит в случае установленного процессора с 4-мя физическими ядрами и поддержкой Hyper-Threading, читайте дальше.

Думаю, данный материал нужно рассматривать как продолжение моих попыток ускорить работу терминального сервера, про это я писал тут.

Про Hyper-Threading
Принцип действия Hyper-Threading основывается на том, что в каждый момент времени только часть ресурсов процессора используется при выполнении программного кода. Неиспользуемые ресурсы также можно загрузить работой — например, задействовать для параллельного выполнения еще одного приложения либо другого потока этого же приложения.


Следуя слогану Intel «Чем больше задач, тем выше эффективность работы», чтобы увидеть результат я буду запускать в разных сессиях на терминальном сервере просмотр фильмов. Чем больше я смогу запустить фильмов, тем лучше; снижение нагрузки на процессор также приветствуется.

На VM, подготовленную для тестирования, установлена ОС ws2008 R2 Standart. На момент тестирования были установлены все обновления. Для воспроизведения роликов установлен кодек и плеер DIVX.

Тестовый стенд собран из сервера HP ML350 G6 c процессором Intel Xeon E5620 1шт.

E5620 Specifications
Launch Date Q1'10
of Cores 4
of Threads 8
Base Frequency 2.4 GHz


Начну с результатов ESXi


На сервер установлена версия ESXi сервера 5.1-1483097.

Про логику работы ESXi + Hyperthreading на Хабре опубликован интересный материал «Оптимизация работы виртуальной инфраструктуры на базе VMWare vSphere», рекомендую к ознакомлению.

Несколько экспериментов с размерами vcpu, технология intel HT активна, воспроизводился тестовый ролик с качеством 480p.



Как видно из результатов, при использовании 8 потоков на терминальном сервере удалось запустить еще одну копию фильма и получить средний прирост в 20%. А вот разница между виртуальными процессорами и виртуальными ядрами в случае одного физического процессором незаметна.

Нагрузку я фиксировал с VM, если фиксировать с хоста — цифры будут другими, по какой-то причине хост сервер фиксирует отличный от VM результат. Вот как это выглядит при работе реальных пользователей:



В следующих тестах я буду выключать HT в биосе и воспроизводить ролики с качеством 480р, 720р и 1080р.



Результаты Hyper-V 2012


На сервер установлена ОС ws2012 R2 Standart и установлены все обновления на момент тестирования.
Тестовая VM портировалась с платформы VMware на платформу Microsoft.

Показания производительности снимались с хоста:



Результаты Hyper-V 2008


На сервер установлена ОС ws2008 R2 Standart и установлены все обновления на момент тестирования.

Показания производительности снимались с хоста, однако платформа Hyper-V 2008 с активным HT не позволила создать VM с 8 vcpu, в связи с чем получены странные результаты.



После того как, я не смог запустить VM в конфигурации 8 vcpu решил проверить работу Hyper-V 2008 в связке с VDI. Были созданы несколько VM с ОС Windows 7 x86, все обновления установлены.

Результаты для 4 vcpu per VM:



Результаты для 2 vcpu per VM:



Конфигурация с 2 vcpu per VM показала результат лучше, очень заметно для ролика 1080р.

Результаты физического сервера ws2008 R2


Эти данные будут использоваться как эталонные:



Сравнения всех платформ


Для сравнения буду использовать результаты, полученные для видео 480р:



Можно сделать следующие выводы:

Использование HT дает результат, который можно заметить в много поточных задачах. Пользу HT в задачах более «узких» нужно проверять.

В проведенных тестах явного лидера между платформами нет. А обладателям лицензий ws2008, которые используются для Hyper-V, стоит задуматься про апдейт, если есть необходимость использовать большие VM.

Получить результат максимально приближенный к ФС позволит инфраструктура VDI.
Думаю, данный результат обеспечил кодек RemoteFX 8.

-2
17.3k 39
Leave a comment