소프트웨어 정의 차량 (SDV) 클라우드 원격 분석 시뮬레이션 플랫폼은 Google Cloud에서 차량 원격 분석 시뮬레이션을 실행할 수 있는 확장 가능한 주문형 인프라를 제공합니다.
이 시스템을 사용하면 실제 하드웨어 없이 가상 Android Automotive 환경 (Cuttlefish)에서 텔레메트리 캠페인을 시뮬레이션할 수 있습니다. 요청을 수신하고, 임시 Compute Engine 가상 머신 (VM)을 만들고, Docker 컨테이너 내에서 시뮬레이션을 실행하고, 결과를 수집하여 Cloud Storage에 업로드하고, 리소스를 삭제하여 시뮬레이션 수명 주기를 조정합니다.
이 접근 방식은 시뮬레이션 실행 중에만 리소스가 사용되므로 원격 분석 파이프라인을 테스트하기 위한 비용 효율적이고 확장성이 뛰어난 플랫폼을 제공합니다.
목적 및 기능
시스템은 시뮬레이션 수명 주기를 조정하고 기본 인프라 관리를 추상화합니다.
- 주문형 확장성: 시스템은 시뮬레이션 기간 동안에만 리소스 (Compute Engine VM)를 만들어 사용량 기반 비용을 제공합니다.
- 동시 실행 관리: 시스템은 병렬 시뮬레이션에 구성 가능한 한도를 적용합니다 (예: 기본값 5). 초과 요청을 대기열에 추가하고 슬롯이 사용 가능해지면 자동으로 예약합니다.
- 이벤트 기반 아키텍처: 시스템은 요청 처리, 예약, 완료, 삭제를 포함하는 분리되고 복원력이 우수한 워크플로 조정을 위해 Cloud Functions 및 Pub/Sub를 사용합니다.
- 통합 상태 관리: 시스템은 Firestore 데이터베이스를 사용하여 모든 시뮬레이션의 실시간 상태와 구성을 추적합니다 (예:
Simulation request received,running,completed,failed,cancelled). - 아티팩트 관리: 시스템은 필요한 입력 파일의 다운로드와 모든 시뮬레이션 출력 (예: 보고서, 로그, 버그 신고, Logcat 파일)의 Cloud Storage 업로드를 자동으로 처리합니다.
- 리소스 정리: 자동화된 Cloud Scheduler 작업은 분리된 VM 또는 데이터베이스 항목을 정리하여 리소스 누출을 방지합니다.
아키텍처
이 시스템은 여러 Google Cloud 서비스와 함께 서버리스 이벤트 기반 아키텍처를 사용합니다. 웹 UI 또는 REST API를 사용하여 시스템과 상호작용할 수 있습니다.
- 사용자 상호작용: 제공된 웹 데모, 커스텀 애플리케이션을 사용하거나 API 엔드포인트와 직접 상호작용할 수 있습니다.
- 조정 레이어:
read-simulation: 이 함수를 사용하면 시뮬레이션, 실행 중인 VM 수, 동시에 실행 중인 VM의 최대 구성 수를 쿼리할 수 있습니다.receive-request: 시스템은 엄격한 이미지 디지털 지문 허용 목록을 기준으로 요청을 검증하고 Pub/Sub에 게시합니다.schedule-simulation: Eventarc는 Pub/Sub 메시지 또는 Firestore 변경사항을 기반으로 이 함수를 트리거합니다. 동시 실행 한도를 확인하고 VM을 프로비저닝합니다.finish-simulation: 에이전트는 실행이 끝날 때 이 함수를 호출하여 상태를 업데이트하고 정리를 트리거합니다.delete-simulation: 이 함수는 수동 취소 및 리소스 정리를 처리합니다.
- 상태 관리 (Firestore): Firestore 데이터베이스는 모든 시뮬레이션의 상태(예:
Simulation request received,running,completed,failed,cancelled)와 구성을 추적합니다. 이 데이터베이스는 모든 시뮬레이션 실행 데이터를 저장합니다. - 데이터 스토리지 (Cloud Storage): 시스템은 모든 시뮬레이션 관련 파일을 Cloud Storage 버킷에 저장합니다. 여기에는 입력 구성 파일, 출력 보고서, Cuttlefish 기기의 로그, 버그 신고, Logcat 파일이 포함됩니다.
- 실행 레이어 (Compute Engine):
schedule-simulation함수는 각 시뮬레이션에 대해 Compute Engine VM을 만듭니다. VM은simulation-agentDocker 컨테이너를 실행합니다.simulation-agent는 Cloud Storage에서 입력 파일을 가져오고 SDV 인스턴스를 시작하며 Cuttlefish 가상 기기와의 상호작용을 관리하여 원격 분석 시뮬레이터를 실행하고 결과 데이터를 가져옵니다.
- 유지보수 (Cloud Scheduler): 예약된 작업이 주기적으로 실행되어 분리된 리소스 (예: 실패한 VM 또는 오래된 데이터베이스 항목)를 정리하여 리소스 누출을 방지합니다.
다음 단계
Cloud Telemetry Simulation을 시작하려면 다음 가이드를 참고하세요.