Как стать автором
Обновить

Комментарии 31

Скопирую сюда свой же комментарий в другом посте, на который я внятного ответа так и не получил.

— Я бы хотел узнать про такой вариант — реализуемо ли.

Мы с девушкой занимаемся 3д графикой как хобби, есть мощный рендер-нод (core i7-920, 24гб), есть два нетбука и два хороших монитора.
Сейчас запускаю весь тяжелый 3д софт на мощном компе и работаю с ним через радмин, используя нетбук как тонкий клиент. Полет нормальный.

Хотелось бы организовать то же самое, но для двух независимых пользователей на одной машине. Желательно без виртуализации. Вин сервер такое умеет?
Т.е. банально что-то типа rdp, но передающих и 3д графику как картинку (то, что отрисовано видеокартой на мощном компе) — слышал, что rdp если передает 3д, то оно отрисовывается видеокартой клиента, а это неприемлемо. Радмин справляется с этим отлично, но он только под одного клиента.

Как вы себе представляете решение? Можно ли это сделать БЕЗ виртуализации?
А чем вас виртуализация не устаивает? Оверхед, ведь, небольшой.
Не только оверхедом. Например, на ноде стоит 24гб оперативки и я не хочу делить на 2 по 12 (даже с возможностью динамического изменения). Мне бы хотелось, чтобы обоим клиентам было доступно 24, чтобы не было ситуации, когда один использует 2гб из 12, а второму нужно 18, а доступно только 12.

То же самое и с ядрами. Один может использовать шесть потоков, второй — два.
Вы не работали с Hyper-v.
Оверхед: 512мб RAM, минимум процессора (на i7 — менее процента).
Память: Hyper-V поддерживает динамическую память. Обе машины могут взять весь объем памяти, если он им понадобится (не одновременно, конечно).
Ядра. любое количество.
Загрузка ядер: есть резерв, гарантированный машине. Есть лимит, за который она никогда не вылезет.
А цитриксы и всякие ESXi? Разве не проще, динамичнее и т.д.?
К сожалению, без виртуализации, лучше вашего решения использования R-admin, VNC и т.д. не знаю.
Для разделения графического процессора (GPU) нескольким пользователям используют в виртуализацию, например: Microsoft Remote FX + Microsoft Hyper-V, Citrix XenServer 6, VMware ESXi и Parallels Workstation Extreme.
Все приведённые средства не виртуализируют GPU:
RemoteFX — перехват API. Так же это LAN решение.
XenServer + XenDesktop — проброс карты в виртуальную машину и использование её средств для сжатия потока.
VmWare vSphere — пока не поддерживает нормально ни одно из средств.
Parallels — разделение ресурсов, т.е. одна карта один контейнер.
Не буду говорить за остальные решения, т.к. топик про RemoteFX.
Но как тогда называть данную технологию, если не виртуализацией GPU? Когда отрисовка графики происходит по схеме — Приложение -> DirectX 11 APIs -> Driver vGPU WDDM -> VMBus -> RCC -> DirectX 11 APIs -> Драйвер GPU -> GPU
Я написал, что это не виртуализация GPU, а перехват API. Виртуализация подразумевает изолированные или гарантированные ресурсы. В данном случае нет ни того, ни другого. Все равно, что считать alias на сетевом интерфейсе виртуализацией. Например, у меня OGL приложение или OCL — при таком подходе работать это не будет, т.к. перехвата не будет и либо ошибка, либо программная реализация. Собственно Micrisoft говорит о RemoteFX, как о решении WPF (Windows Presentation Format). Такой подход хорош, когда надо пересадить менеджеров и секретарей и уплотнить их кол-во на сервере, т.к. отрисовка граф. элементов будет вестись GPU.
Microsoft, пардон, только увидел, что неправильно написано.
По поводу LAN решения. Из задачи moooV не понятно, нужны рабочие места рядом с «нодом» или же хочется перемещаемые места. Ели перемещаемые, то как раз LAN решение можно применить или использовать полюбившуюся мною технологию WiDi (+WiFi клавиатура, мышь).
В вашем случае RemoteFX не подойдет скорее всего. Там нет виртуализации графики, там только API Intercept (перехват API), скорее всего приложение не увидит граф. адаптера и выключит оптимизации, как результат будут артефакты и тормоза.
В вашем случае подойдет скорее всего только:
www.nvidia.com/object/sli_multi_os.html
А так же XenDesktop с поддержкой HDX 3Dpro, либо на худой конец VNC.
А чем плоха передача DirectX APIs? Конечно вы не получите такого же 3D ускорения, как на физической машине, но процентов 50-60 по моим скромным наблюдениям можно получить легко.
Как видно на последнем скрине, в виртуальной машине присутствует синтетическое виртуальное устройство — видеокарта и приложения её должны видеть.
Потому что pipeline. При интенсивной работе будет проседать. Я не говорю, что это плохо, я говорю, что это решение для других целей.
RDP позволяет сделать наоборот. То есть считать часть данных на графике клиента. То есть Win7 может по RDP отрисовывать Aero и мелкую графику (крупную просто не проверял) даже если на сервере (WinServ2008R2) нет видеокарты вообще. Наоборот к сожалению не умеет.
слышал, что rdp если передает 3д, то оно отрисовывается видеокартой клиента, а это неприемлемо.


Чушь полнейшая. RDP передает изображение подаваемое на монитор. Пиксели отображаемые в данный момент времени на мониторе. Образует эти пиксели — видеокарта сервера.

Другой вопрос, что если изображение интенсивно меняется — скажем HD фильм — то поток этих пикселей будет равняться битрейту фильма. А этом можем быть приличный поток, который не должен быть захламлен «лагами» канала.
Какое железо на сервере? Сколько клиентов держит? Какие приложения используются на клиентах? Конфигурация клиентов?
Это тестовая среда, нужно же с начало все протестировать, прежде чем запускать в работу ;)
Для тестирования использовалось не серверное железо:
Процессор: AMD FX-8150, 3600 MHz
Материнская плата: Asus M5A99X Evo (1 PCI, 2 PCI-E x1, 3 PCI-E x16, 4 DDR3 DIMM, Audio, Gigabit LAN, IEEE-1394)
Оперативная память: Kingston Hyper-X 16 Gb PC3-12800 (DDR3 1600 МГц) (4 планки по 4Gb)
Видеоадаптер: XFX AMD Radeon HD 6970
Жесткий диск: Crucial m4 SSD 128 Gb SATA 6Gb

При тестировании использовал до 3х клиентов.

На клиентах тестировалось приложение SolidWorks и различные 3d игры.

Примерная конфигурация клиентов:
Процессор: Core 2 duo
Материнская плата: Asus
Оперативная память: 1Gb
Видеоадаптер: Встроенный в материнсую плату
Жесткий диск: WesternDigital 80 Gb
Понятно, спасибо.
И насколько возможно играть используя RemoteFX?
Всё руки не доходят собрать свой тестовый стенд, а нормальной информации толком не найти
К сожалению тестированием игр я мало занимался, но мне удалось поиграть в StarCraft 2 и Diablo 3.
Не так «гладко» как на физической машине, но сносно.

Пример Diablo 3 (видео не моё) — Ссылка на видео Youtube
Я играл на разрешении 1440x900, производительность была примерно такая же как в видео.
Интересно, а есть хорошие дискретные видеоадаптеры для rack-овых серверов. У нас например почти все — рековые HP по 2U. С памятью и процами проблем никаких, а вот видеокарту туда приличную фиг воткнешь, не влезет ведь.
Есть, например AMD FirePro S9000 и S7000, FirePro S9000 очень похож на Radeon HD 7950.
Спасибо за ссылку, интересное решение. Ссылка у меня верная, просто ваше решение более новое, интересное и думаю более дорогое (еще цен даже нету).
Нет не совсем так, я написал неверная ссылка как раз по причине того, что появились карты. Лонч уже состоялся, но тут другой момент, что данное решение не будет поставляться отдельно, а только вместе с серверами.
Забыл написать, что данные карточки под горизонтальное расположение. А большинство Rack серверов не поддерживают данное расположение.
НЛО прилетело и опубликовало эту надпись здесь
Трехмерный видеоадаптер RemoteFX без появления ошибки можно добавить через консоль управления Hyper-V из Windows 7 или Server 2008 R2.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории