Моделирование облачной телеметрии

Платформа облачного моделирования телеметрии для программно-определяемых транспортных средств (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 для каждой симуляции. На этой виртуальной машине запускается контейнер Docker simulation-agent .
    • simulation-agent извлекает входные файлы из облачного хранилища, запускает экземпляр SDV и управляет взаимодействием с виртуальным устройством Cuttlefish для выполнения телеметрического симулятора и получения результирующих данных.
  • Техническое обслуживание (планировщик облачных задач): периодически запускается запланированное задание для очистки любых "осиротевших" ресурсов (например, вышедших из строя виртуальных машин или устаревших записей в базе данных) во избежание утечек ресурсов.

Следующие шаги

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