소프트웨어 정의 차량 (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 또는 오래된 데이터베이스 항목)를 정리하기 위해 주기적으로 실행됩니다.
다음 단계
클라우드 원격 분석 시뮬레이션을 시작하려면 다음 가이드를 참고하세요.