Содержание:
В чем проблема, док?
Недостатки коммерческих решений
Бесплатная альтернатива
Особенности установки Moonlight
Проверили на практике: примеры работы Moonlight
Массовый (и часто вынужденный) перевод проектов на «удаленку», организация распределенных команд и продуктивной работы из любой точки мира — болезненная задача для всех использующих производительное оборудование и ресурсоемкий софт. Домой их по ряду причин не перенесешь, а вот организовать качественный удаленный доступ из любого места без лишних затрат все-таки можно. Рассказываем о первом проверенном нами способе комфортной «удаленки» практически с любого устройства.
В чем проблема, док?
Рядовому сотруднику достаточно подключения к удаленному рабочему столу по протоколу RDP или доступа к корпоративным ресурсам с собственного ноутбука, и здесь у айтишников возникают только сложности с обеспечением безопасности. Если специалисту нужны использующие 3D-ускорение ресурсоемкие приложения, это проблема совершенно другого уровня.
Информационное моделирование зданий (BIM), разные виды проектирования (CAD, CAM и т. д.), геологическое моделирование, связанные с рендерингом задачи, работа с нейросетями и даже создание приложений — серьезные расчеты невозможны без графических процессоров, а для доступа к производительной рабочей станции или серверу обычного Remote Desktop зачастую не хватает. Установить оборудование на дому, как правило, невозможно: слишком много препятствий, вроде отсутствия в помещении необходимой инженерной инфраструктуры или недостаточно высокой пропускной способности каналов передачи данных (информация для обработки обычно хранится внутри корпоративной инфраструктуры).
При этом в офисах под такие задачи часто используют рабочие станции с игровыми картами NVIDIA, что не позволяет задействовать для «удаленки» популярные корпоративные решения.
Недостатки коммерческих решений
Задача обеспечить работу из дома на производительной станции обычно решается с помощью специальных продуктов (Citrix, Horizon) и аппаратных средств, вроде карт и ПО Teradici.
-
Такие варианты подходят далеко не всем по причине:
-
существенной стоимости подписки/лицензий;
-
высокой сложности ПО, которое не сможет установить необученный администратор;
-
серьезных требований к клиентскому устройству;
-
ограничений в использовании, т. е. упомянутые решения не работают с игровыми картами: там совместимость начинается от линейки NVIDIA Quadro, которая стоит далеко не у всех пользователей в офисных рабочих станциях.
Как мы уже говорили, в офисах более популярны машины с игровыми картами NVIDIA. Ориентируясь на них, мы проверили более удобный и доступный вариант. О нем и расскажем.
Бесплатная альтернатива
Связанные с удаленным использованием графического процессора задачи решает Moonlight. Этот бесплатный программный продукт с открытым исходным кодом использует протокол NVIDIA GameStream. Он связывает сервер и клиентское устройство и обеспечивает мгновенное удаленное взаимодействие сотрудников с офисными настольными компьютерами и рабочими станциями из любого места.
-
Попробовать Moonlight для удаленной работы стоит, если вы заняты:
-
BIM, CAD, CAM и другими видами проектирования;
-
проектированием и обучением нейросетей, включая data science;
-
фармакологическими и медицинскими исследованиями;
-
рендерингом;
-
разработкой ПО.
-
Два основных достоинства Moonlight:
-
кросс-платформенность. Клиентские приложения работают на Windows, MacOS, Linux и Android;
-
независимость от технологий вендора — в отличие от NVIDIA Shield, Moonlight связывает не только «кошерные» устройства. Совместимый видеоадаптер и софт панели управления NVIDIA должны быть установлены на сервере, а для клиента годится видеокарта любого производителя.
-
Другие преимущества Moonlight:
-
низкая задержка подключения и возможность получить на устройстве-клиенте до 60 кадров в секунду;
-
возможность передачи изображения с разрешением до 4К;
-
простота использования.
Особенности установки Moonlight
Подробно процесс инсталляции описан в репозитории разработчика на GitHub, а мы остановимся на его ключевых и неочевидных моментах. Чтобы развернуть ПО, нужно пройти несколько больших этапов на клиенте (локальном устройстве пользователя) и сервере или рабочей станции (хосте).
Для начала стоит разобраться с архитектурой Moonlight:
Теперь обратим внимание на важные моменты
Первый: на хосте обязательно должны быть установлены видеокарта NVIDIA с поддержкой панели управления NVIDIA (начиная с GeForce GTX 650 и старше), Moonlight Internet Hosting Tool и приложение панели управления NVIDIA. На клиентском устройстве нужно только приложение Moonlight.
Второй момент: в панели следует настроить работу NVIDIA Shield. Для этого достаточно перейти в параметры приложения, выставить переключатель в положение «включено» (зеленый) и добавить путь к утилите mstsc.exe: «C:\windows\system32\mstsc.exe».
Эта настройка предоставляет удаленный доступ к рабочему столу через Moonlight. При первом подключении к серверу необходимо ввести пароль для панели управления NVIDIA (он высветится в клиенте Moonlight).
-
Пароль будет запомнен для IP-адреса сервера. Moonlight слушает следующие порты:
-
TCP 47984, 47989, 48010;
-
UDP 47998, 47999, 48000, 48002, 48010.
-
Третий момент: для удаленного управления сервером не следует использовать протокол RDP, так как он не позволяет настраивать NVIDIA Shield. Для доступа к рабочему столу вам потребуется клиент VNC:
-
UltraVNC
-
Anydesk
-
TeamViewer
Стабильность и комфорт работы с Moonlight зависит от качества интернет-соединения. Разработчики рекомендуют использовать программу при скорости исходящего потока от клиентского устройства пользователя к серверу не менее 5 Мбит/с. Обычно для этого клиенту требуется кабельное подключение к Интернету.
При этом на рекомендуемой скорости, как показали тесты, стабильное изображение можно получить только в разрешении 800 х 600. А на модеме с DOCSIS/DSL 6M удалось увидеть нормальную картинку в 3Д с разрешением 1024 х 768. На практике выяснилось, что для HD и 4К нужны оптоволоконный Интернет скоростью не ниже 100 Мбит/с и аналогичное подключение со стороны сервера / рабочей станции.
Moonlight позволяет проводить гибкую настройку качества передачи изображения с хоста на локальное устройство пользователя:
Четвертый важный момент: по умолчанию битрейт устанавливается в зависимости от скорости интернет-соединения. Чем оно лучше, тем выше качество изображения и меньше время задержки. Для выбора необходимого битрейта можно использовать следующую таблицу:
Разрешение | Кадры/с (FPS) | Битрейт Мбит/с |
---|---|---|
720p, 1280 x 720 | 30 | 5–10 |
1080p, 1920 x 1080 | 60 | 20 |
1440p, 2560 x 1440 | 60 | 40 |
4K/2160p, 3840 x 2160 | 60 | 80 |
Разрешение 720p, 1280 x 720 | |
Кадры/с (FPS) | 30 |
Битрейт Мбит/с | 5 - 10 |
Разрешение 1080p, 1920 x 1080 | |
Кадры/с (FPS) | 60 |
Битрейт Мбит/с | 20 |
Разрешение 1440p, 2560 x 1440 | |
Кадры/с (FPS) | 60 |
Битрейт Мбит/с | 40 |
Разрешение 4K/2160p, 3840 x 2160 | |
Кадры/с (FPS) | 60 |
Битрейт Мбит/с | 80 |
И пятый: на качество работы с Moonlight также влияет задержка при интернет-соединении (Latency). Она может определяться расстоянием между сервером и клиентом, топологией сети, загрузкой каналов, сбоями в работе оборудования и иными причинами. В процессе нашего тестирования задержка не превышала 80 мс, что соответствует необходимому для комфортного гейминга и работы с ресурсоемким ПО показателю.
Для корректной работы Moonlight на сервере в GPU должен быть подключен монитор или вставлена HDMI/DisplayPort-заглушка, иначе разрешение не поднимется выше базовых 800 х 600.
Изучите подробную инструкцию по использованию Moonlight на серверах HOSTKEY
Проверили на практике: примеры работы Moonlight
-
Для иллюстрации работы программного обеспечения мы провели несколько тестов:
-
просмотр видео Big Buck Bunny 60fps 4K;
-
сцены The Junk Shop в Blender;
-
геймплей Hellblade Senua's Sacrifice с максимальными настройками графики.
Мы решили воспроизвести рабочую ситуацию и в офисе HOSTKEY запустили тесты на машине со следующими характеристиками:
-
Операционная система: Microsoft Windows Server 2019 Standard
-
Процессор: Intel Xeon E-3-1230, v6, 3,5 ГГц
-
Графический процессор: NVIDIA GeForce GTX 1080 Ti (11 Гб)
-
Оперативная память: 16 Гб
При запуске Moonlight на клиенте была получена стабильная трансляция с разрешением 3840 x 2160 и 60 FPS при битрейте в 80 Мбит/с. Отклик приложений был плавным и практически не отличался от управления непосредственно на том устройстве, на котором установлено программное обеспечение.
-
Здесь можно посмотреть записи трансляций:
-
Видео Big Buck Bunny
-
Blender
-
Hellblade Senua's Sacrifice
Итак, проблема дистанционной работы с ресурсоемкими приложениями оказалась решаемой, причем Moonlight — далеко не единственный способ обеспечить себе комфортный рабочий процесс вдали от офиса.
В следующих постах мы расскажем о других вариантах полноценного удаленного доступа к ПО и оборудованию для рендеринга, проектирования и обучения нейросетей.