Удалённые GPU‑станции для студий: Parsec/Sunshine
Задача страницы. Дать практический рецепт организации удалённых рабочих мест художников/монтажёров/техартов на облачных GPU: архитектуры Parsec/Sunshine (WebRTC/NVENC/AV1), профили GPU, настройки стриминга, наблюдаемость p50/p95 «input→pixel», экономика сессий, безопасность и типовые сбои.
TL;DR
- Интерактивные сессии = On‑Demand. Приоритет — низкая латентность и стабильный FPS. Целимся в p95 input→pixel ≤ 120 мс (60 FPS) или ниже по целям. См. https://cloudcompute.ru/solutions/throughput-vs-latency/
- Паркетинг железа. Один пользователь = один GPU‑инстанс. Масштабирование — пулом станций и брокером сессий.
- Кодеки. NVENC: H.264/HEVC/AV1. Для 4K/фотореализма — HEVC/AV1; для совместимости — H.264.
- Профили GPU. 24 ГБ (Compact) — предпросмотры/монтаж; 48 ГБ (Balanced) — основная работа DCC; 80 ГБ (HQ) — тяжелые сцены/4K Path Tracer.
- Хранилище. Проекты в «тёплом» бакете; локальный NVMe — «горячий» кэш DCC/Shader/DDC. См. https://cloudcompute.ru/solutions/storage-data/
- Наблюдаемость. input_to_pixel_latency_ms, frame_time_seconds (p50/p95), fps_actual, nvenc_utilization, gpu_memory_used_bytes, net_rtt_ms. См. https://cloudcompute.ru/solutions/monitoring-logging/
- Безопасность. SSO/2FA, запрет файлового копирования (по политике), водяные знаки, изоляция проектов, ограниченный egress. См. https://cloudcompute.ru/solutions/security/
- Экономика. Cost_per_hour = c_gpu / U_session. Плюс при необходимости — c_egress за трафик. См. https://cloudcompute.ru/solutions/cost-planner/
Сценарии: когда это нужно
- Look‑dev/lighting/материалы в DCC (Blender/Houdini/Unreal/Omniverse).
- Монтаж/превью/озвучка — низкая задержка аудио/видео, точный тайминг.
- Ревью/дэйлизы — общий доступ к сцене/таймлайну, live‑комментарии.
- Смешанные пайплайны — стриминг интерактива, а финальный рендер/денойз/транскод — оффлайн в очереди. См. https://cloudcompute.ru/solutions/rendering/ и https://cloudcompute.ru/solutions/rendering/video-transcode/
Архитектуры/пайплайны A. Windows + Parsec (простая одноузловая станция)
[Artist Input] -> [Parsec Host on GPU VM] --NVENC--> [Video Stream] -> [Viewer]
| |
[DCC/Engine] [Audio]
|
[NVMe Hot Cache]
- Виртуальная станция на GPU, включён NVENC/низкая латентность, кэш DDC/Shader на NVMe.
- Политики: запрет буфера обмена/файлового копирования при необходимости.
B. Linux + Sunshine (WebRTC), многостаночная ферма
[Users] -> [Broker/API] -> [Session Scheduler] -> [GPU Workstation Pool]
| | |
[SSO/2FA] [Sunshine] [NVMe]
| |
[Audit/Logs] [NVENC→WebRTC]
- Брокер сессий привязывает пользователя к свободной станции по профилю GPU.
- Внешний доступ — через шлюз/реле, ограниченный egress, аудит подключений.
C. Гибрид: интерактив + оффлайн‑очереди
[Interactive Session] --export shots--> [Render Farm Queue]
|
[Denoise] [Transcode]
Художник готовит сетапы; ферма считает оффлайн. См. https://cloudcompute.ru/solutions/rendering/blender/, https://cloudcompute.ru/solutions/rendering/unreal/
Профили GPU/VRAM/ориентиры
| **Профиль** | **VRAM** | **Типовые задачи** | **Режим** | **Отн. мощность (≈)** | **Примечания** |
| **24 ГБ (Compact)** | 24 ГБ | Монтаж/превью 1080p, лёгкие сцены DCC | On‑Demand | 1.0 | Для 1440p/4K возможны снижения качества/битрейта |
| **48 ГБ (Balanced)** | 48 ГБ | Основные DCC‑сцены, look‑dev, 1080p/1440p стрим | On‑Demand | 1.5–1.8 | «Рабочая лошадь» удалённых станций |
| **80 ГБ (HQ)** | 80 ГБ | 4K/плотные сцены, Path Tracer превью | On‑Demand | 2.2–2.6 | Возможна MIG‑сегментация под лёгкие сессии: https://cloudcompute.ru/solutions/mig/ |
Индексы относительны; итог зависит от сцены/эффектов/поста.
Конфиги и скелеты
1) Sunshine (Linux) как сервис + NVENC
systemd‑юнит:
# /etc/systemd/system/sunshine.service
[Unit]
Description=Sunshine host (WebRTC/NVENC)
After=network-online.target nvidia-persistenced.service
[Service]
User=sun
Group=sun
Environment=TMPDIR=/nvme/tmp
ExecStart=/usr/local/bin/sunshine --config /etc/sunshine/config.json
Restart=always
RestartSec=3
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
Фрагмент config.json:
{
"encoders": {
"video": {
"codec": "hevc", // h264|hevc|av1 (при наличии)
"bitrate": "18000k",
"max_bitrate": "24000k",
"bframes": 3,
"gop": 120,
"lookahead": 32,
"aq_spatial": true,
"aq_temporal": true,
"low_latency": true
},
"audio": { "codec": "opus", "bitrate": "160k" }
},
"capture": { "fps": 60, "cursor": true },
"network": { "webrtc": true, "min_port": 30000, "max_port": 30999 }
}
NVENC‑подготовка (опционально):
# Зафиксировать persistence и включить приложение на стабильных частотах (если поддерживается)
sudo nvidia-smi -pm 1
# nvidia-smi -ac <mem,graphics> # используйте, если разрешено политиками
2) Профиль Parsec (Windows) — параметры стрима (концепт)
; %ProgramData%Parsecconfig.txt (пример ключевых параметров)
renderer_backend=dxgi
encoder=h264 ; hevc/av1 при поддержке
bandwidth=20000 ; кбит/с
fps=60
v_sync=0
min_qp=18
max_qp=28
gop=120
low_latency=1
Для 4K/фотореализма поднимайте bandwidth и переходите на HEVC/AV1; для совместимости — H.264.
3) Пул станций и брокер сессий (Compose)
services:
session-broker:
image: registry.local/gpu-remote-broker:latest
environment:
- AUTH_MODE=sso
- POLICY_NO_FILETRANSFER=true
- POLICY_CLIPBOARD=read-only
ports: ["443:8443"]
networks: [studio-net]
ws-01:
image: registry.local/sunshine-host:latest
deploy: { resources: { reservations: { devices: [ { capabilities: ["gpu"] } ] } } }
environment:
- SUNSHINE_CONFIG=/etc/sunshine/config.json
volumes:
- /nvme/ws01:/nvme
- /etc/sunshine/ws01.json:/etc/sunshine/config.json
networks: [studio-net]
ws-02:
image: registry.local/sunshine-host:latest
deploy: { resources: { reservations: { devices: [ { capabilities: ["gpu"] } ] } } }
volumes:
- /nvme/ws02:/nvme
- /etc/sunshine/ws02.json:/etc/sunshine/config.json
networks: [studio-net]
networks:
studio-net: {}
4) Дашборд телеметрии (SSE для панели)
# SSE эндпоинт с ключевыми метриками стрима
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
import json, time
app = FastAPI()
def stream():
while True:
payload = {
"ts": time.time(),
"fps_actual": 60,
"input_to_pixel_ms": 85,
"nvenc_utilization": 0.55,
"gpu_memory_used_bytes": 18_000_000_000,
"net_rtt_ms": 18
}
yield f"data: {json.dumps(payload)}nn"
time.sleep(1)
@app.get("/events")
def events():
return StreamingResponse(stream(), media_type="text/event-stream")
См. стриминг/UI: https://cloudcompute.ru/solutions/gradio-fastapi/ Наблюдаемость/метрики/алерты
Опорные страницы: https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/
Интерактив:
- input_to_pixel_latency_ms (p50/p95) — ключевая целевая метрика.
- frame_time_seconds (p50/p95), fps_actual, frame_drop_total.
- nvenc_utilization, nvenc_sessions, gpu_utilization, gpu_memory_used_bytes.
- net_rtt_ms, jitter_ms, egress_mbps, ingress_mbps.
- ddc_hit_rate, shader_cache_hits_total — для DCC/UE. См. https://cloudcompute.ru/solutions/rendering/unreal/
Алерты:
- p95 input_to_pixel_latency_ms > SLA (например, > 120 мс для 60 FPS) N минут.
- nvenc_utilization ~ 100% или nvenc_sessions → лимит — рассредоточить нагрузки/добавить станции.
- gpu_memory_used_bytes → VRAM‑потолок — перейти на больший профиль/оптимизировать сцену.
- ddc_hit_rate низкий — прогрев кэша перед сессией на NVMe.
Экономика и формулы
См. https://cloudcompute.ru/solutions/cost-planner/ и https://cloudcompute.ru/solutions/throughput-vs-latency/
Стоимость сессии:
Cost_per_hour = c_gpu / U_session # учёт реальной занятости
Cost_per_day = 8 * Cost_per_hour # условный рабочий день
Пул станций (N активных одновременно):
Cost_pool_per_hour = Σ_i (c_gpu_i / U_session_i)
Трафик (при тарификации egress):
Cost_egress_per_hour ≈ egress_mbps * 3600 / 8 * c_per_GB
Выбор кодека:
- Если канал ограничен → HEVC/AV1 при сохранении качества.
- Если совместимость важнее → H.264, но выше egress_mbps.
Производительность: практики
- NVENC пресеты. Включайте low_latency, корректируйте lookahead, AQ (spatial/temporal), GOP согласуйте с целевым FPS.
- Разрешение/битрейт. Балансируйте с учётом сцены: фотореал/мелкие детали → повышайте битрейт/HEVC/AV1.
- DDC/Shader‑кэш на NVMe. Прогревайте при старте, не чистите между сессиями. См. https://cloudcompute.ru/solutions/storage-data/
- Сеть. По возможности приоритизируйте трафик стрима, минимизируйте джиттер; пиннгуйте регион ближе к команде.
- 1 процесс = 1 GPU. Для предсказуемой латентности не делите GPU между интенсивными задачами интерактива.
- План деградации. При росте input_to_pixel — автоматически снижать разрешение/битрейт/фильтры.
Безопасность/политики
См. https://cloudcompute.ru/solutions/security/
- Доступ. SSO/2FA; привязка пользователей к проектам, IP‑allowlist.
- Контент. Отключение файлообмена/буфера обмена по политикам; водяные знаки на видеопотоке.
- Ключи и лицензии. Хранение секретов отдельно; запрет логирования; ограниченный egress только на лицензирование.
- Аудит. Логирование входов/выходов, длительности, сетевых характеристик; ретеншн логов.
Траблшутинг (симптом → причина → решение)
| **Симптом** | **Причина** | **Решение** |
| Чёрный экран/нет видео | Нет NVENC/драйвер, конфликт захвата | Проверить драйвер/право на NVENC, сменить метод захвата |
| Высокий input→pixel | Джиттер/узкий канал/битрейт | Включить low‑latency, снизить разрешение/битрейт, сменить кодек на HEVC/AV1 |
| Рывки/дропы кадров | Перегруз NVENC/CPU/I/O | Уменьшить параллельные сессии, добавить станцию, проверить nvenc\_sessions |
| Размытость/бандинг | Слишком низкий битрейт/квантизация | Повысить битрейт, включить AQ, увеличить lookahead |
| Долго открывается проект | Холодный DDC/Shader‑кэш | Прогрев кэша на NVMe; не чистить между сессиями |
| OOM VRAM | Сцена больше профиля | Снизить качество/разрешение, закрыть лишние сцены, перейти на 48–80 ГБ |
| Нет звука/рассинхрон | Аудиоустройство/частота | Выбрать корректный output/частоту; перезапуск аудиосервиса |
| Нельзя скопировать файл | Политика disabled | Временное разрешение по тикету/проекту или SFTP‑канал по правилам |
Как запустить в cloudcompute.ru
- Выбрать шаблон: https://cloudcompute.ru/solutions/templates/
- «Remote GPU workstation (Parsec)» — Windows‑станция.
- «Remote GPU workstation (Sunshine)» — Linux/WebRTC.
- Параллельно — оффлайн‑очереди рендера/денойза: см. https://cloudcompute.ru/solutions/rendering/
- Профиль GPU: 24/48/80 ГБ по таблице выше; 4K‑сцены — 80 ГБ (HQ).
- Режим: On‑Demand для интерактива; фоновые задачи — в очереди с Interruptible (см. https://cloudcompute.ru/solutions/interruptible-patterns/).
- Хранилище/кэш: «тёплое» для проектов, NVMe — DDC/Shader/темп. См. https://cloudcompute.ru/solutions/storage-data/
- Наблюдаемость: дашборды p50/p95, GPU, NVENC, сеть. См. https://cloudcompute.ru/solutions/monitoring-logging/
- CI/CD: закрепить версии драйверов/клиентов/плагинов, smoke‑сценарии запуска DCC. См. https://cloudcompute.ru/solutions/containers-ci-cd/
- Безопасность: SSO/2FA, политики копирования, водяные знаки, аудит. См. https://cloudcompute.ru/solutions/security/
Чек‑лист перед продом
- Целевое p95 input_to_pixel_latency_ms определено (например, ≤ 120 мс для 60 FPS).
- NVENC/кодеки включены; пресеты low‑latency и AQ/Lookahead настроены.
- DDC/Shader‑кэш на NVMe прогревается; ddc_hit_rate высокий.
- Политики безопасности (клипборд/файлы/водяные знаки) задеплоены.
- Дашборды: latency/FPS/NVENC/GPU/RTT; алерты p95.
- Пул станций и брокер сессий обкатывают нагрузку (конкурентные сессии).
- Экономика (Cost_per_hour, Cost_pool_per_hour, Cost_egress_per_hour) посчитана.
- План деградации качества при сетевых проблемах согласован.
Навигация
- Хаб «Рендеринг»: https://cloudcompute.ru/solutions/rendering/
- Blender/Cycles: https://cloudcompute.ru/solutions/rendering/blender/
- Redshift/Octane/V‑Ray: https://cloudcompute.ru/solutions/rendering/redshift/
- Houdini Karma XPU: https://cloudcompute.ru/solutions/rendering/houdini-karma/
- Unreal Engine: https://cloudcompute.ru/solutions/rendering/unreal/
- Omniverse/Isaac: https://cloudcompute.ru/solutions/rendering/omniverse/
- Деноайзинг: https://cloudcompute.ru/solutions/rendering/de-noising/
- Транскодирование: https://cloudcompute.ru/solutions/rendering/video-transcode/
- Шаблоны запусков: https://cloudcompute.ru/solutions/templates/
- Оптимизация: https://cloudcompute.ru/solutions/performance-tuning/
- Multi‑GPU/MIG: https://cloudcompute.ru/solutions/multi-gpu/ • https://cloudcompute.ru/solutions/mig/
- Мониторинг и логи: https://cloudcompute.ru/solutions/monitoring-logging/
- Наблюдаемость сервисов: https://cloudcompute.ru/solutions/llm-inference/observability/
- Throughput vs Latency: https://cloudcompute.ru/solutions/throughput-vs-latency/
- Interruptible‑паттерны: https://cloudcompute.ru/solutions/interruptible-patterns/
- CI/CD: https://cloudcompute.ru/solutions/containers-ci-cd/
Готовы запустить?
Запустить GPU-сервер