소프트웨어 정의 차량 (SDV) 클라우드 원격 분석 시뮬레이션 플랫폼은 Google Cloud에서 차량 원격 분석 시뮬레이션을 실행할 수 있는 확장 가능한 주문형 인프라를 제공합니다.
이 시스템을 사용하면 실제 하드웨어 없이 가상 Android Automotive 환경 (Cuttlefish)에서 원격 분석 캠페인을 시뮬레이션할 수 있습니다. 요청을 수신하고, 임시 Compute Engine 가상 머신 (VM)을 만들고, Docker 컨테이너 내에서 시뮬레이션을 실행하고, 결과를 수집하여 Cloud Storage에 업로드하고, 리소스를 삭제하여 시뮬레이션 수명 주기를 오케스트레이션합니다.
이 접근 방식은 시뮬레이션 실행 중에만 리소스가 사용되므로 원격 분석 파이프라인을 테스트하기 위한 비용 효율적이고 확장성이 뛰어난 플랫폼을 제공합니다.
목적 및 기능
시스템은 시뮬레이션 수명 주기를 오케스트레이션하고 기본 인프라 관리를 추상화합니다.
- 주문형 확장성: 시스템은 사용량 기반 비용을 제공하기 위해 시뮬레이션 기간에만 리소스 (Compute Engine VM)를 만듭니다.
- 동시성 관리: 시스템은 병렬 시뮬레이션에 구성 가능한 제한을 적용합니다 (예: 기본적으로 5). 초과 요청을 대기열에 추가하고 슬롯이 사용 가능해지면 자동으로 예약합니다.
- 이벤트 기반 아키텍처: 시스템은 Cloud Functions 및 Pub/Sub를 사용하여 요청 처리, 예약, 완료, 정리 등 분리되고 복원력 있는 워크플로 조정을 수행합니다.
- 통합 상태 관리: 시스템은 Firestore 데이터베이스를 사용하여 모든 시뮬레이션 (예:
PENDING,RUNNING,COMPLETED,FAILED)의 실시간 상태와 구성을 추적합니다. - 아티팩트 관리: 시스템은 필요한 입력 파일의 다운로드와 모든 시뮬레이션 출력 (예: 보고서, 로그, 버그 신고, 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 데이터베이스는 모든 시뮬레이션의 상태(예:
PENDING,RUNNING,COMPLETED또는FAILED)와 구성을 추적합니다. 이 데이터베이스는 모든 시뮬레이션 실행 데이터를 저장합니다. - 데이터 스토리지 (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 또는 오래된 데이터베이스 항목)를 정리합니다.
다음 단계
클라우드 원격 분석 시뮬레이션을 시작하려면 다음 가이드를 참고하세요.