Платформа облачного моделирования телеметрии для программно-определяемых транспортных средств (SDV) предоставляет масштабируемую инфраструктуру по запросу для запуска моделирования телеметрии транспортных средств в облаке Google.
Система позволяет моделировать телеметрические кампании в виртуальной среде Android Automotive ( Cuttlefish ) без физического оборудования. Она управляет жизненным циклом моделирования, принимая запросы, создавая временные виртуальные машины Compute Engine (VM), запуская моделирование внутри контейнеров Docker, собирая и загружая результаты в облачное хранилище и удаляя ресурсы.
Этот подход обеспечивает экономически эффективную и масштабируемую платформу для тестирования конвейеров телеметрии, поскольку ресурсы потребляются только во время выполнения моделирования.
Цель и возможности
Система координирует жизненный цикл моделирования и абстрагирует управление базовой инфраструктурой.
- Масштабируемость по требованию: система создает ресурсы ( виртуальные машины Compute Engine ) только на время моделирования, обеспечивая оплату в зависимости от использования.
- Управление параллельным выполнением: система устанавливает настраиваемое ограничение на количество параллельных симуляций (например, 5 по умолчанию). Она ставит в очередь избыточные запросы и автоматически планирует их выполнение, когда освобождаются слоты.
- Архитектура, управляемая событиями: система использует Cloud Functions и Pub/Sub для обеспечения децентрализованной и отказоустойчивой организации рабочих процессов, включая обработку запросов, планирование, завершение и очистку.
- Интегрированное управление состоянием: система использует базу данных Firestore для отслеживания текущего состояния и конфигурации каждой симуляции (например,
PENDING,RUNNING,COMPLETEDилиFAILED). - Управление артефактами: система автоматически обрабатывает загрузку необходимых входных файлов и выгрузку всех результатов моделирования (например, отчетов, журналов, отчетов об ошибках и файлов Logcat) в облачное хранилище .
- Очистка ресурсов: Автоматизированная задача Cloud Scheduler предотвращает утечки ресурсов, удаляя "осиротевшие" виртуальные машины или записи в базе данных.
Архитектура
Система использует бессерверную, событийно-ориентированную архитектуру с несколькими сервисами Google Cloud. Взаимодействовать с системой можно через веб-интерфейс или REST API.
- Взаимодействие с пользователем: Вы можете использовать предоставленную веб-демонстрацию, собственное приложение или взаимодействовать напрямую с конечными точками API.
- Уровень оркестровки:
-
read-simulation: Эта функция позволяет запрашивать данные о симуляциях, количестве запущенных виртуальных машин и максимальном настроенном количестве одновременно запущенных виртуальных машин. -
receive-request: Система проверяет запросы на соответствие строгому списку разрешенных отпечатков изображений и публикует их в Pub/Sub . -
schedule-simulation: Eventarc запускает эту функцию на основе сообщений Pub/Sub или изменений в Firestore . Она проверяет лимит параллельного выполнения и выделяет виртуальные машины. -
finish-simulation: Агент вызывает эту функцию в конце выполнения, чтобы обновить статус и запустить очистку. -
delete-simulation: Эта функция обрабатывает ручную отмену и очистку ресурсов.
-
- Управление состоянием (Firestore): база данных Firestore отслеживает состояние (например,
PENDING,RUNNING,COMPLETEDилиFAILED) и конфигурацию каждой симуляции. В этой базе данных хранятся все данные о выполнении симуляций. - Хранение данных (облачное хранилище): Система хранит все файлы, связанные с моделированием, в облачном хранилище . Это включает в себя файлы конфигурации входных данных, отчеты о результатах, журналы с устройства Cuttlefish , отчеты об ошибках и файлы Logcat.
- Исполнительный уровень (вычислительный механизм):
- Функция
schedule-simulationсоздает виртуальную машину Compute Engine для каждой симуляции. На этой виртуальной машине запускается контейнер Dockersimulation-agent. -
simulation-agentизвлекает входные файлы из облачного хранилища, запускает экземпляр SDV и управляет взаимодействием с виртуальным устройством Cuttlefish для выполнения телеметрического симулятора и получения результирующих данных.
- Функция
- Техническое обслуживание (планировщик облачных задач): периодически запускается запланированное задание для очистки любых "осиротевших" ресурсов (например, вышедших из строя виртуальных машин или устаревших записей в базе данных) во избежание утечек ресурсов.
Следующие шаги
Для начала работы с симуляцией облачной телеметрии ознакомьтесь со следующими руководствами:
- Руководство по развертыванию : Узнайте, как настроить инфраструктуру и создать агент моделирования.
- Руководство пользователя : Узнайте, как запускать симуляции, используя веб-демонстрацию или REST API.