NVIDIA Omniverse/Isaac: совместная работа в 3D

TL;DR

  • Omniverse Nucleus + RTX-рендер: совместная работа с USD-сценами, обмен ассетами, распределённый Path Tracing.
  • Isaac Sim: физически корректная симуляция, сенсоры (LiDAR/камеры), сценарии для ML/робототехники.
  • Профили GPU: — 24 ГБ (Compact) — предпросмотры, простые сцены. — 48 ГБ (Balanced) — стандартные проекты, multi-user коллаборация. — 80 ГБ (HQ) — тяжёлые симуляции, робо-сцены с множеством сенсоров, 4K/8K RTX-рендер.
  • Режимы: — On-Demand для интерактива (низкая латентность, Pixel Streaming/WebRTC). — Interruptible для пакетного рендера или генерации датасетов (чанк ≤ 120 с, ретраи).
  • Хранилище: USD/ассеты в «тёплом» бакете, NVMe как «горячий» кэш сцен/шейдеров. См. https://cloudcompute.ru/solutions/storage-data/
  • Наблюдаемость: frame_time_seconds, fps_actual, gpu_utilization, gpu_memory_used_bytes, io_read_mb_s, latency_ms. См. https://cloudcompute.ru/solutions/monitoring-logging/
  • Экономика: Cost_per_hour = (c_gpu * N) / U для коллаборации; для датасетов — Cost_per_1K_frames. См. https://cloudcompute.ru/solutions/cost-planner/
  • Безопасность: контроль доступа к сценам/ассетам, приватные токены Nucleus, ограниченный egress. См. https://cloudcompute.ru/solutions/security/

Сценарии: Omniverse и Isaac

Omniverse (коллаборативный 3D)

  • Совместное редактирование сцен в формате USD.
  • Удалённый RTX-рендер: Path Tracing/RTX Real-Time для предпросмотра или финальных кадров.
  • Интеграции: DCC-плагины (Maya, Blender, Houdini), пайплайны ассетов. См. https://cloudcompute.ru/solutions/rendering/asset-pipelines/
  • Коллаборация: несколько пользователей одновременно подключаются к Nucleus-серверу и работают с одними сценами.

Isaac Sim (робототехника и симуляция)

  • Физически корректные симуляции для ML-обучения и тестирования алгоритмов.
  • Сенсоры: RGB-камеры, LiDAR, IMU, с контролем частоты (FPS) и латентности.
  • Сценарии обучения: сбор датасетов для компьютерного зрения, RL-тесты траекторий.
  • Гибридные пайплайны: CV + LLM-ассистенты, RAG для навигации. См. https://cloudcompute.ru/solutions/hybrid-pipelines/

Архитектуры/пайплайны A. Коллаборативный Omniverse Nucleus + RTX-рендер

[Users/DCC Plugins] -> [Nucleus Server (USD/assets)] -> [GPU Workers RTX]
 |
 +-----------+-----------+
 | |
 [RTX Render Node #1] [RTX Render Node #N]
 | |
 [Frames/Previews] [Frames/Previews]
 /
 +-----> [Review/QA/Archive]

Ключи: единый Nucleus-сервер, NVMe-кэш для сцен/шейдеров, ретраи на batch-задачах.

B. Isaac Sim ферма (датасеты/симуляции)

[Scenario Configs] -> [Job Queue]
 |
 +----------+-----------+
 | |
 [GPU Worker #1] [GPU Worker #N]
 (Isaac Sim headless) (Isaac Sim headless)
 | |
 [Sensor Streams] [Sensor Streams]
 /
 +-----> [Dataset Sink / Cold Storage]

Ключи: headless-режим для генерации датасетов, чанк-лимит ≤ 120 с на пакет, ретраи, экспорт в NVMe → «холодное» хранилище.

C. Интерактив (Pixel Streaming/WebRTC)

[User Input] -> [Remote Omniverse/Isaac Session] -> [NVENC/AV1] -> [Viewer]
 | |
 [GPU Worker] [Telemetry: frame_time, fps, rtt]

Цель: p95 input→pixel SLA (например, < 120 мс для 60 FPS).

Профили GPU/VRAM/ориентиры

**Профиль** **VRAM** **Типовые задачи** **Режим** **Отн. throughput (≈)** **Примечания**
**24 ГБ (Compact)** 24 ГБ Превью/простые сцены Omniverse, малые Isaac сценарии On-Demand / Interruptible 1.0 Для ML-датасетов лучше тайлинг/чанкование
**48 ГБ (Balanced)** 48 ГБ Средние сцены, несколько сенсоров, коллаборативные проекты On-Demand / Interruptible 1.5–1.8 Основной рабочий профиль
**80 ГБ (HQ)** 80 ГБ Крупные проекты, Path Tracer 4K/8K, тяжёлая робототехника On-Demand / Interruptible 2.2–2.6 Поддержка MIG для шардинга под датасеты

Конфиги и скелеты

1) Запуск Omniverse Nucleus + RTX-рендера (Docker Compose)

services:
 nucleus:
 image: registry.local/omniverse-nucleus:latest
 volumes:
 - /mnt/warm/assets:/assets
 environment:
 - NUCLEUS_AUTH_MODE=tokens
 - NUCLEUS_STORAGE=/assets
 networks: [omniverse-net]
 rtx-worker:
 image: registry.local/omniverse-rtx:latest
 command: ["bash","-lc","/opt/run-rtx.sh"]
 deploy:
 resources:
 reservations:
 devices:
 - capabilities: ["gpu"]
 environment:
 - NUCLEUS_URL=http://nucleus:3009
 - NVME_CACHE=/nvme
 volumes:
 - /nvme:/nvme
 - /mnt/cold/out:/out
 networks: [omniverse-net]
networks:
 omniverse-net: {}

2) Isaac Sim headless (batch датасеты)

docker run --rm --gpus all 
 -v /projects/scenarios:/scenarios 
 -v /projects/out:/out 
 -v /nvme:/nvme 
 registry.local/isaac-sim:latest 
 bash -lc './python.sh /scenarios/run_dataset.py --out /out --nvme /nvme --frames 1000'

3) Пример Python-сценария генерации датасета в Isaac Sim

# run_dataset.py
import omni.isaac.kit
import carb
kit = omni.isaac.kit.SimulationApp({"headless": True})
import omni.isaac.core as core
world = core.World()
# Создаём сцену: робот + камеры
robot = world.scene.add(core.robots.Franka())
camera = world.scene.add(core.sensors.Camera(width=640, height=480, freq=30))
lidar = world.scene.add(core.sensors.Lidar())
world.reset()
for i in range(1000):
 world.step(render=True)
 rgb = camera.get_rgba()
 depth = camera.get_depth()
 np.savez(f"/out/frame_{i:04d}.npz", rgb=rgb, depth=depth)
kit.close()
``` **Наблюдаемость/метрики/алерты**

См.[ https://cloudcompute.ru/solutions/monitoring-logging/](https://cloudcompute.ru/solutions/monitoring-logging/?utm_source=chatgpt.com) и[ https://cloudcompute.ru/solutions/llm-inference/observability/](https://cloudcompute.ru/solutions/llm-inference/observability/?utm_source=chatgpt.com)

**Omniverse/RTX:**

- frame\_time\_seconds (p50/p95), fps\_actual, input\_to\_pixel\_latency\_ms.
- gpu\_utilization, gpu\_memory\_used\_bytes, nvenc\_utilization.
- io\_read\_mb\_s, shader\_cache\_hits\_total.

**Isaac Sim:**

- sensor\_fps{type=rgb/lidar}, latency\_ms, frames\_generated\_total.
- gpu\_utilization, gpu\_memory\_used\_bytes, io\_\*.

**Алерты:**

- p95 frame\_time\_seconds &gt; SLA.
- gpu\_utilization &lt; 60% при глубокой очереди → узкое место I/O/CPU.
- gpu\_memory\_used\_bytes → близко к лимиту VRAM.
- frames\_generated\_total &lt; цели → пересмотрить пайплайн/чанкование.

## **Экономика и формулы**

См.[ https://cloudcompute.ru/solutions/cost-planner/](https://cloudcompute.ru/solutions/cost-planner/?utm_source=chatgpt.com) и <https://cloudcompute.ru/solutions/throughput-vs-latency/>

**Коллаборативная сессия:**

Cost\_per\_hour = (c\_gpu \* N) / U

где c\_gpu — цена/час GPU, N — количество пользователей/сессий, U — загрузка GPU.

**Генерация датасета (Isaac):**

Cost\_per\_1K\_frames = (c\_gpu \* t\_1K / 3600) / U \* r

где t\_1K — время генерации 1000 кадров, r — retry-factor.

**Path Tracer (batch):**

Cost\_per\_frame = (c\_gpu \* t\_frame / 3600) / U \* r

**Безопасность и политики**

См.[ https://cloudcompute.ru/solutions/security/](https://cloudcompute.ru/solutions/security/?utm_source=chatgpt.com)

- **Доступ к Nucleus**: аутентикация по токенам, временные ключи, разграничение пользователей/проектов.
- **Приватные ассеты**: хранение в «тёплом» хранилище с токенами, короткий TTL.
- **Сетевые политики**: ограниченный egress, whitelisting только для лицензирования и обновлений.
- **Ретеншн**: датасеты и рендеры — в «холодное» хранилище после завершения проекта.
- **Аудит**: логирование подключений к Nucleus и симуляциям.

**Траблшутинг (симптом → причина → решение)**

<table><tbody><tr><td>**Симптом**

</td><td>**Причина**

</td><td>**Решение**

</td></tr><tr><td>Высокий latency при коллаборации

</td><td>Сеть/регион далеко от команды

</td><td>Пиннинг региона, QoS для Pixel Streaming, CDN для ассетов

</td></tr><tr><td>OOM по VRAM в Isaac Sim

</td><td>Слишком много сенсоров/высокое разрешение

</td><td>Урезать разрешение/частоту сенсоров, выбрать 48–80 ГБ

</td></tr><tr><td>Медленный первый кадр Omniverse

</td><td>Холодный шейдер-кэш

</td><td>Warm-up на NVMe, не чистить кэш между сессиями

</td></tr><tr><td>Низкий fps в интерактиве

</td><td>NVENC перегружен, битрейт слишком высок

</td><td>Снизить битрейт/разрешение стрима, использовать AV1

</td></tr><tr><td>Frames drop в Isaac датасете

</td><td>IO не успевает записывать

</td><td>Запись на NVMe, параллельный writer, батч-сейв

</td></tr><tr><td>Разные версии сцен у пользователей

</td><td>Нет синка USD

</td><td>Использовать Nucleus-сервер, валидировать версии

</td></tr><tr><td>Очередь стоит при свободных GPU

</td><td>Не учтены лимиты по VRAM/сенсорам

</td><td>Включить GPU-aware скедулинг, распределять по профилям

</td></tr></tbody></table>

## **Как запустить в cloudcompute.ru**

1. **Шаблон**: выбрать на[ https://cloudcompute.ru/solutions/templates/](https://cloudcompute.ru/solutions/templates/?utm_source=chatgpt.com)
 - «Omniverse Nucleus + RTX» — для коллаборативного 3D.
 - «Isaac Sim headless (batch)» — для датасетов/симуляций.
 - «Remote GPU workstation» — для интерактива. См. <https://cloudcompute.ru/solutions/rendering/studio-remote/>
2. **Профиль GPU**: 24/48/80 ГБ в зависимости от сцены/нагрузки.
3. **Режим**:
 
 - Коллаборация — **On-Demand**.
 - Генерация датасетов — **Interruptible** (чанк ≤ 120 с).
4. **Хранилище**: ассеты/сцены — в «тёплом» хранилище, локальный NVMe для кэша. См.[ https://cloudcompute.ru/solutions/storage-data/](https://cloudcompute.ru/solutions/storage-data/?utm_source=chatgpt.com)
5. **Оркестрация**: очередь заданий для Isaac Sim/RTX batch; ретраи/backoff.
6. **CI/CD**: закрепить версии движков/плагинов; smoke-тест симуляции перед массовым запуском. См. https://cloudcompute.ru/solutions/containers-ci-cd/
7. **Наблюдаемость**: метрики GPU/сессий/симуляций; алерты p95. См.[ https://cloudcompute.ru/solutions/monitoring-logging/](https://cloudcompute.ru/solutions/monitoring-logging/?utm_source=chatgpt.com)

**Чек‑лист перед продом**

- Единый контейнер Omniverse/Isaac, версии зафиксированы; smoke-тест успешен.
- NVMe-кэш настроен; warm-up ассетов/шейдеров проходит перед стартом.
- Чанк-цели ≤ 120 с для Interruptible; ретраи работают.
- Метрики/алерты p50/p95 заведены; SLA input→pixel определён.
- Экономика (Cost\_per\_hour, Cost\_per\_frame, Cost\_per\_1K\_frames) посчитана.
- Политики доступа к Nucleus и приватным ассетам настроены.
- Архивирование датасетов и результатов в «холодное» хранилище запланировано.

**Навигация**

- Хаб «Рендеринг»: <https://cloudcompute.ru/solutions/rendering/>
- Шаблоны запусков:[ https://cloudcompute.ru/solutions/templates/](https://cloudcompute.ru/solutions/templates/?utm_source=chatgpt.com)
- Данные и хранение:[ https://cloudcompute.ru/solutions/storage-data/](https://cloudcompute.ru/solutions/storage-data/?utm_source=chatgpt.com)
- Multi-GPU/MIG:[ https://cloudcompute.ru/solutions/multi-gpu/](https://cloudcompute.ru/solutions/multi-gpu/?utm_source=chatgpt.com) • <https://cloudcompute.ru/solutions/mig/>
- Оптимизация производительности:[ https://cloudcompute.ru/solutions/performance-tuning/](https://cloudcompute.ru/solutions/performance-tuning/?utm_source=chatgpt.com)
- Мониторинг/логи:[ https://cloudcompute.ru/solutions/monitoring-logging/](https://cloudcompute.ru/solutions/monitoring-logging/?utm_source=chatgpt.com)
- Наблюдаемость сервисов:[ https://cloudcompute.ru/solutions/llm-inference/observability/](https://cloudcompute.ru/solutions/llm-inference/observability/?utm_source=chatgpt.com)
- Interruptible-паттерны: <https://cloudcompute.ru/solutions/interruptible-patterns/>
- Hybrid-пайплайны: <https://cloudcompute.ru/solutions/hybrid-pipelines/>
- Родственные рендеры:
 
 - Blender: <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/>
 - Деноайзинг: <https://cloudcompute.ru/solutions/rendering/de-noising/>
 - Транскодирование: <https://cloudcompute.ru/solutions/rendering/video-transcode/>

Готовы запустить?

Запустить GPU-сервер