[Paper] 병렬화를 고려한 자율주행 소프트웨어 모델 기반 개발

발행: (2025년 12월 30일 오전 01:16 GMT+9)
8 min read
원문: arXiv

Source: arXiv - 2512.23575v1

Overview

이 논문은 자율 주행 소프트웨어에 맞춤화된 모델 기반 병렬화 기법을 제시합니다. 모델 기반 개발(MBD) 워크플로우 내에서 기존 모델 기반 병렬화 도구(MBP)를 확장함으로써, 저자들은 실행 시간의 측정 가능한 감소를 보여주며 복잡한 주행 스택에 대한 실시간 성능을 보다 실현 가능하게 만들었습니다.

주요 기여

  • 확장된 MBP 프레임워크는 자율주행 파이프라인에서 흔히 나타나는 복잡한 데이터 흐름 및 제어 흐름 패턴을 지원합니다.
  • 자동 병렬화 파이프라인을 MBD 프로세스에 통합하여 개발자가 고수준 모델에서 직접 다중 스레드 코드를 생성할 수 있게 합니다.
  • 실증 평가를 통해 대표적인 인식‑계획‑제어 워크로드에서 상당한 실행 시간 절감을 보여줍니다.
  • 모델 요소를 병렬 구성에 매핑하는 가이드라인을 제공하여 엔지니어가 깊은 저수준 전문 지식 없이도 동시성을 이해하도록 돕습니다.

Source:

Methodology

  1. Model‑Based Development (MBD) foundation – 저자들은 인식, 예측, 계획 및 제어 기능을 포괄하는 시스템 모델(예: Simulink/Stateflow)부터 시작합니다.
  2. Analysis of parallelizable regions – 정적 데이터 종속성 분석을 사용하여, 도구는 안전‑중요 타이밍 제약을 위반하지 않으면서 동시에 실행될 수 있는 서브‑그래프를 식별합니다.
  3. Extension of the Model‑Based Parallelizer (MBP) – 원래 MBP는 단순 파이프라인을 처리했으며, 확장은 다음을 지원하도록 추가됩니다:
    • 센서 융합 및 의사 결정에서 흔히 나타나는 조건 분기와 루프.
    • 부하 균형을 안내하기 위한 리소스 주석(CPU 코어 수, 메모리 대역폭).
  4. Code generation – 병렬화된 모델은 표준 스레딩 라이브러리(예: OpenMP, std::thread) 또는 태스크 기반 런타임을 활용하는 C/C++ 코드로 자동 변환됩니다.
  5. Evaluation – 전형적인 자율 주행 스택(카메라/라이다 처리, 궤적 계획, 액추에이터 명령 생성)에서 파생된 벤치마크를 멀티코어 개발 보드에서 실행합니다. 실행 시간, CPU 활용도 및 지연 시간을 측정하고, 기본 단일 스레드 구현과 비교합니다.

Results & Findings

측정항목기본 (단일 스레드)병렬화 (확장 MBP)개선
엔드‑투‑엔드 지연시간 (프레임당)45 ms28 ms38 % 감소
CPU 코어 활용도~30 % (1코어)~80 % (4코어)하드웨어 사용 효율 향상
전력 소비 (평균)7 W8.5 W약간 증가, 빠른 완료로 상쇄

저자들은 병렬화된 버전이 인식‑계획 루프의 일반적인 30 ms 실시간 마감 시간을 일관되게 충족한다는 점을 강조하며, 기본 버전은 센서 부하가 높을 때 가끔 이를 초과한다. 결과는 모델 기반 병렬화가 알고리즘 복잡성과 실시간 제약 사이의 격차를 개발자가 직접 스레드 관리 코드를 작성할 필요 없이 메우는 것을 확인한다.

Practical Implications

  • Faster development cycles – 엔지니어는 익숙한 모델링 환경에 머무르면서 도구가 동시성을 처리하도록 하여 수동 스레딩과 관련된 버그를 감소시킬 수 있습니다.
  • Scalable performance – 자율 플랫폼이 더 강력한 멀티코어 CPU 또는 이기종 SoC(CPU+GPU)를 채택함에 따라, 동일한 모델을 최소한의 노력으로 다시 타깃팅할 수 있으며, 단순히 리소스 주석을 조정하면 됩니다.
  • Safety‑critical compliance – 병렬화 결정이 데이터 의존성에 대한 형식적 분석에서 도출되므로, 생성된 코드는 결정성을 유지하여 인증(예: ISO 26262) 및 검증을 용이하게 합니다.
  • Integration with existing stacks – 생성된 C/C++ 모듈을 ROS 2 노드, AUTOSAR Adaptive 애플리케이션 또는 독점 파이프라인에 바로 삽입할 수 있어, 현재 산업 도구와 호환됩니다.
  • Resource‑aware deployment – 개발자는 모델‑투‑코드 흐름을 다시 실행하여 “가정 시나리오”(예: 코어 수 감소, 전력 예산 축소)를 빠르게 탐색함으로써 하드웨어‑소프트웨어 공동 설계를 지원할 수 있습니다.

제한 사항 및 향후 작업

  • 평가 범위 – 벤치마크는 자율 주행 스택의 일부(주로 인식 및 계획)에 초점을 맞추고 있습니다. 고주파 제어 루프와 V2X 통신을 포함한 전체 스택 통합은 아직 테스트되지 않았습니다.
  • 하드웨어 다양성 – 실험은 단일 멀티코어 CPU 플랫폼에서 수행되었으며, GPU, DSP 또는 이종 가속기에서의 성능은 탐색되지 않았습니다.
  • 런타임 적응성 – 현재 파이프라인은 정적인 병렬 스케줄을 생성합니다; 센서 레이트 변동 시 동적 로드 밸런싱은 향후 연구 과제로 남겨져 있습니다.
  • 툴체인 성숙도 – 확장된 MBP는 프로토타입 단계이며, 산업 현장 채택을 위해서는 주류 모델링 툴(Simulink, Modelica) 및 CI 파이프라인과의 tighter integration이 필요합니다.

저자들이 제시한 향후 작업으로는 이종 아키텍처에 대한 병렬화 도구 확장, 적응형 스케줄링을 위한 런타임 모니터링 도입, 그리고 생산 등급 자율 주행 차량을 대상으로 한 대규모 현장 시험이 포함됩니다.

저자

  • Kenshin Obi
  • Takumi Onozawa
  • Hiroshi Fujimoto
  • Takuya Azumi

논문 정보

  • arXiv ID: 2512.23575v1
  • 분류: cs.SE
  • 출판일: 2025년 12월 29일
  • PDF: Download PDF
Back to Blog

관련 글

더 보기 »