Решаем проблему удалённой работы в ресурсоёмких приложениях с помощью Moonlight

 
Партнёрский материал

Массовый (и часто вынужденный) перевод проектов на «удалёнку», организация распределённых команд и продуктивной работы из любой точки мира — болезненная задача для всех использующих производительное оборудование и ресурсоёмкий софт. Домой их по ряду причин не перенесёшь, а вот организовать качественный удалённый доступ из любого места без лишних затрат всё-таки можно. Рассказываем о первом проверенном нами способе комфортной «удалёнки» практически с любого устройства.

 Изображения: Hostkey

Изображения: Hostkey

В чём проблема, док?

Рядовому сотруднику достаточно подключения к удалённому рабочему столу по протоколу 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:windowssystem32mstsc.exe».

Эта настройка предоставляет удалённый доступ к рабочему столу через Moonlight. При первом подключении к серверу необходимо ввести пароль для панели управления NVIDIA (он высветится в клиенте Moonlight).

Пароль будет запомнен для IP-адреса сервера. Moonlight использует следующие порты:

  • TCP 47984, 47989, 48010;
  • UDP 47998, 47999, 48000, 48002, 48010.

Третий момент: для удаленного управления сервером не следует использовать протокол RDP, так как он не позволяет настраивать NVIDIA Shield. Для доступа к рабочему столу вам потребуется другой клиент:

Стабильность и комфорт работы с Moonlight зависит от качества интернет-соединения. Разработчики рекомендуют использовать программу при скорости исходящего потока от клиентского устройства пользователя к серверу не менее 5 Мбит/с. Обычно для этого клиенту требуется кабельное подключение к Интернету.

При этом на рекомендуемой скорости, как показали тесты, стабильное изображение можно получить только в разрешении 800 × 600. А на модеме с DOCSIS/DSL 6M удалось увидеть нормальную картинку в 3D с разрешением 1024 × 768. На практике выяснилось, что для HD и 4К нужно Интернет-подключение со скоростью не ниже 100 Мбит/с и аналогичное же подключение со стороны сервера/рабочей станции.

Moonlight позволяет проводить гибкую настройку качества передачи изображения с хоста на локальное устройство пользователя:

Четвёртый важный момент: по умолчанию битрейт устанавливается в зависимости от скорости интернет-соединения. Чем оно лучше, тем выше качество изображения и меньше задержка.

Для выбора необходимого битрейта можно использовать следующую таблицу:

РазрешениеКадры/с (FPS)Битрейт Мбит/с
720p, 1280 × 720 30 5–10
1080p, 1920 × 1080 60 20
1440p, 2560 × 1440 60 40
4K/2160p, 3840 × 2160 60 80

И пятый: на качество работы с Moonlight также влияет задержка самого интернет-соединения. Она может определяться расстоянием между сервером и клиентом, топологией сети, уровнем загрузки каналов, сбоями в работе оборудования и иными причинами. В процессе нашего тестирования задержка не превышала 80 мс, что соответствует необходимому для комфортного гейминга и работы с ресурсоемким ПО показателю.

Для корректной работы Moonlight на сервере к GPU должен быть подключен монитор или вставлена HDMI/DisplayPort-заглушка, иначе разрешение не поднимется выше базовых 800 × 600.

Проверили на практике: примеры работы Moonlight

Для иллюстрации работы программного обеспечения мы провели несколько тестов:

  • просмотр видео Big Buck Bunny 4K@60;
  • просмотр и рендер сцены The Junk Shop в Blender;
  • игра в Hellblade Senua's Sacrifice с максимальными настройками графики.

Мы решили воспроизвести рабочую ситуацию и в офисе HOSTKEY запустили тесты на машине со следующими характеристиками:

  • ОС: Microsoft Windows Server 2019 Standard;
  • Процессор: Intel Xeon E3-1230 v6, 3,5 ГГц;
  • Видеокарта: NVIDIA GeForce GTX 1080 Ti (11 Гбайт);
  • Оперативная память: 16 Гбайт.

При запуске Moonlight на клиенте была получена стабильная трансляция с разрешением 3840 × 2160 и 60 FPS при битрейте в 80 Мбит/с. Отклик приложений был плавным и практически не отличался от управления непосредственно на том устройстве, на котором установлено программное обеспечение. Здесь можно посмотреть записи трансляций:

Итак, проблема дистанционной работы с ресурсоёмкими приложениями оказалась решаемой, причём Moonlight — это далеко не единственный способ обеспечить себе комфортный рабочий процесс вдали от офиса. В следующих постах мы расскажем о других вариантах полноценного удалённого доступа к ПО и оборудованию для рендеринга, проектирования и обучения нейросетей.

Изучите подробную инструкцию по использованию Moonlight на серверах HOSTKEY и арендуйте готовый GPU-сервер с моментальным развёртыванием или сервер индивидуальной конфигурации с профессиональными картами NVIDIA RTX 4000/5000/A6000. Эти решения идеальны для удалённого доступа к высоконагруженным приложениям из любой точки мира.

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER. | Можете написать лучше? Мы всегда рады новым авторам.

Источник:

Постоянный URL: https://servernews.ru/1056047
Система Orphus