Про 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.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 0

    Only users with full accounts can post comments. Log in, please.