вторник, 1 февраля 2011 г.

Контроль за видео-памятью в RemoteFX

Недавно, на небольшом вводном докладе о технологии RemoteFX в сценариях VDI, мне задали вполне ожидаемый вопрос: "Что будет, если кончится видео-память, выделяемая под виртуальные машины?".

Реализованный механизм динамического управления оперативной памятью, реализованный в Service Pack 1, к сожалению никоим образом не затрагивает управление видео-памятью. Таким образом, необходимо взвешенно планировать выделение видео-памяти под каждую виртуальную машину, дабы максимально эффективно использовать имеющиеся ресурсы.
В TechNet-статье об аппаратных требованиях RemoteFX  представлена таблица, характеризующее модели выделения видео-памяти:


Максимальное разрешение экрана Максимальное количество мониторов на виртуальную машину
1 монитор 2 монитора 3 монитора 4 монитора
1024 x 768 75 MB 105 MB 135 MB 165 MB
1280 x 1024 125 MB 175 MB 225 MB 275 MB
1600 x 1200 184 MB 257 MB 330 MB N/A
1920 x 1200 220 MB 308 MB N/A
N/A



Таким образом, каждой виртуальной машине можно выделить от 75Мб до 330Мб видео-памяти. Сценарии, когда в терминальной сессии используется более чем два монитора достаточно редки, так что выделение памяти "впрок" под 3-4 монитора не всегда является разумным. Единственный сценарий, когда такой подход может принести плоды - использование ресурсоемких графических пакетов.


При выборе типа и количества мониторов в настройках адаптера RemoteFX виртуальной машины, стоит помнить, что система фиксирует эти настройки и не позволяет менять их в терминальной сессии. Таким образом, если в виртуальной машине выбран один монитор 1024х768, то при подключении с клиентского устройства с разрешением 1280х1024 будет использоваться минимальное, фиксированное в системе. Для удобства, можно выставить максимальное для клиентских устройств разрешение и масштабировать размер терминальной сессии на свое усмотрение.

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



Данная ошибка будет появляться до тех пор, пока в системе не освободится необходимое количество видео-памяти, или пока не будут изменены в меньшую сторону.

Оперативно получать информацию о доступном на серверах Hyper-V количестве видео-памяти будет можно с помощью SCVMM 2008 R2 с последним пакетом обновления(который выйдет в течение 90 дней после релиза SP1).


Также, информацию можно будет получить и через скрипт PowerShell:
PS C:\> $hosts = get-vmhost
PS C:\> foreach ($h in $hosts)
>> {$h.GPUs |ft $h.Name,Name,AvailableVideoMemoryMB}

В качестве результата выполнения скрипта, получится таблица вида
host2… Name                    AvailableVideoMemoryMB
------ ---- ----------------------
       NVIDIA Quadro FX 580    420

Host7… Name
                   AvailableVideoMemoryMB
------ ---- ----------------------
       NVIDIA GeForce 8800…    495

Host1… Name
                   AvailableVideoMemoryMB
------ ---- ----------------------
       NVIDIA GeForce GTX 295  877
       NVIDIA Quadro FX 580    420

В случаях, когда на рабочей станции используется несколько видеокарт, их ресурсы часто объединяют для совместного рендера картинки с помощью технологий SLI или CrossFire, в зависимости от производителя. В случае использования видеоадаптеров исключительно под нужды сценариев VDI с RemoteFX, они работают обособлено друг от друга, отвечая за выделенные им виртуальные машины. На данный момент технология поддерживает до 4 видеоадаптеров на сервер и тестировалась в типовых сценариях с нагрузкой до 12 пользователей на GPU.

Ну а так выглядит диспетчер устройств сервера, на котором установлено сразу несколько видеоадаптеров:



Будем надеяться, что в следующих версиях RemoteFX, будет реализован функционал динамического управления видео-памяти и все станет существенно проще. =)

1 комментарий:

  1. Андрей. Очень интересные темы объясняете доступным языком. Однако у меня все равно остались некоторые вопросы. Но я не могу справиться с еще более простой задачей - найти ваш какой-то прямой контакт - почту например. :)))
    Как можно с вами связаться?

    Когда заходит речь о RFX, еще и упоминают о пробросе USB устройств. Каким образом он соотноситься с RFX?
    Жалко, что в видеопрезентации (TechEd) не показаны тех. характеристики виртуальных машин. К примеру работаете в SolidWorks, понятно, что на видеокарте сервера, а вот процессор, ОЗУ, прочее...?
    Стас
    szubkovSOBAKtechexpert.ua

    Спасибо.

    ОтветитьУдалить