자율주행차 개발을 위한 컨테이너 인프라 최적화 전략

본 논문은 자율주행차(AV) 개발에 컨테이너 기반 인프라를 적용하는 방안을 제시한다. Docker와 Kubernetes를 활용해 이미지·네트워크를 관리하고, 혼합 임계 시스템(MCS)에서 발생하는 자원·시간 오버헤드를 정량화한다. Gaussian Seidel 알고리즘을 이용한 실험에서는 네이티브 실행이 가장 빠르지만, 기존 컨테이너가 가장 낮은 표준편차로 결정성을 제공한다. 5단계 중첩 컨테이너는 실행 시간은 크게 늘어나지 않지만, 일정 수준의…

저자: Yujing Wang, Qinyang Bao

자율주행차 개발을 위한 컨테이너 인프라 최적화 전략
본 논문은 자율주행차(Autonomous Vehicle, AV) 개발 과정에서 소프트웨어의 지속적 통합·배포(CI/CD)와 빠른 프로토타이핑을 지원하기 위한 컨테이너 기반 인프라스트럭처 전략을 제시한다. 기존의 가상 머신 기반 접근법은 전체 OS를 복제해야 하는 비효율성을 가지고 있어, 제한된 차량 내부 공간과 실시간 요구사항을 만족시키기에 부적합하다. Docker와 Kubernetes를 핵심 도구로 삼아, 이미지 레이어화, 네임스페이스 격리, 선언형 클러스터 관리 등을 통해 “한 번 빌드, 어디서든 실행”이라는 목표를 구현한다. **1. 컨테이너 인프라의 설계와 적용 시나리오** - **다중 변형 관리**: 차량에 장착되는 다양한 센서(전방 카메라, 후방 카메라, 라이다 등)의 드라이버를 각각 Docker 이미지로 패키징하고, ‘sensor:variation’ 형태의 태그를 부여한다. Helm 템플릿과 key‑value 매핑 파일을 이용해 물리적 센서와 컨테이너를 연결함으로써, 버전 관리와 A/B 테스트가 용이해진다. - **단일 모듈의 다중 활용**: 인식, 시뮬레이션, 실험 등 여러 시나리오에서 동일한 perception 모듈을 재사용한다. 클라우드, 엣지, 차량 내 노드에 동일 이미지가 배포되며, Kubernetes가 대상 노드의 리소스 사양에 맞춰 적절한 태그를 선택한다. 이는 개발자가 코드 중복 없이 다양한 환경에 대응할 수 있게 한다. **2. 자원·시간 오버헤드 분석** AV는 실시간 제어와 고성능 인식이 동시에 요구되는 혼합 임계 시스템(Mixed Critical System, MCS)이다. 컨테이너 경계를 통과할 때 발생하는 두 가지 주요 오버헤드가 있다. - **자원 오버헤드**: 컨테이너는 호스트 커널을 공유하지만, 네임스페이스와 cgroup을 통해 CPU·메모리·I/O를 제한한다. 이는 VM 대비 가벼우나, 차량 내 제한된 메모리·스토리지 환경에서는 이미지 레이어 수와 컨테이너 수가 증가하면 전체 사용량이 눈에 띄게 늘어날 수 있다. - **시간 오버헤드**: 신호가 컨테이너 경계를 통과할 때 최소 두 번(출입) 지연이 발생한다. 특히 다중 중첩 컨테이너나 여러 중간 컨테이너를 거칠 경우 누적 지연이 실시간성을 위협한다. **3. 실험 설계** 시간 오버헤드를 정량화하기 위해 Gaussian Seidel 알고리즘을 선택하였다. 이 알고리즘은 5×5 대각우선 행렬에 대해 2500회 반복을 수행하며, 연산 시간과 통신 지연을 명확히 측정할 수 있다. 실험은 네 가지 환경에서 수행되었다. 1) 네이티브 OS 실행 2) 매 실행마다 새로운 Docker 컨테이너를 생성(신규 컨테이너) 3) 이미 실행 중인 Docker 컨테이너에 HTTP 요청을 보내는 기존 컨테이너 4) 기존 컨테이너 내부에 또 다른 컨테이너를 5단계 중첩(5×Nested) 모든 실험은 동일한 하드웨어(i7‑6700, 16 GB RAM, HDD)와 Ubuntu 18.04, Docker 19.3, Python 3.4 환경에서 수행되었다. 각 시나리오당 100번의 호출을 기록하고, 평균 및 표준편차를 계산하였다. **4. 실험 결과** - **연산 시간**: 네이티브가 가장 빠른 평균 0.0099 s를 보였으며, 신규 컨테이너는 0.0225 s, 기존 컨테이너는 0.0332 s, 5×Nested는 0.0303 s였다. 기존 컨테이너는 가장 낮은 표준편차(1.6 e‑5 s)로 가장 결정적인 실행을 제공한다. 이는 Docker가 초기 리소스 번들을 할당받은 뒤 시스템 노이즈에 덜 영향을 받기 때문이다. - **통신 지연**: 네이티브는 거의 0 s에 가까운 지연을 보였고, 신규 컨테이너는 2.44 s(표준편차 0.458 s)로 가장 큰 변동성을 나타냈다. 기존 컨테이너와 5×Nested는 각각 0.0019 s와 0.0012 s의 평균 지연을 보였으며, 5×Nested는 표준편차가 0.00056 s로 기존보다 약간 더 불안정했다. 흥미로운 점은 5단계 중첩이 5배 지연을 초래하지 않은 것으로, Docker가 실제로는 ‘형제 컨테이너’를 생성해 동일 레벨 네임스페이스를 공유하기 때문이다. 따라서 경계 횟수가 늘어나도 물리적 전송 비용이 선형적으로 증가하지 않는다. 그러나 형제 컨테이너 간 자원 격리가 약해져 비결정성이 증가한다는 점은 운영 단계에서 주의가 필요하다. **5. 논의 및 실무 적용 가이드** - **실시간 제어 루프**: 가장 낮은 지연과 높은 결정성을 요구하는 저레벨 제어(예: 차량 제동, 스티어링)는 네이티브 실행 혹은 실시간 커널 기반 컨테이너(RT‑Docker)를 사용한다. - **데이터 처리·인식 파이프라인**: 비교적 여유가 있는 전처리·인식 모듈은 기존 컨테이너에 배치해 높은 결정성을 확보한다. - **개발·테스트 환경**: 중첩 컨테이너는 다양한 환경을 격리해 테스트할 때 유용하지만, 운영 시에는 변동성을 최소화하기 위해 피한다. - **버전 관리·배포**: Helm 템플릿과 이미지 태깅 전략을 활용하면 센서 드라이버, perception 모델 등 다양한 모듈을 일관된 파이프라인으로 관리할 수 있다. 이는 A/B 테스트와 지속적 배포를 용이하게 만든다. **6. 결론** 본 연구는 AV 개발에 컨테이너 인프라를 도입함으로써 얻을 수 있는 생산성 향상과 동시에, 혼합 임계 시스템에서 발생할 수 있는 시간·자원 오버헤드를 정량적으로 평가하였다. 실험 결과는 컨테이너가 제공하는 격리와 재현성은 높은 결정성을 보장하지만, 컨테이너 경계가 추가적인 지연을 초래한다는 점을 명확히 보여준다. 따라서 AV 시스템 설계자는 각 모듈의 임계성에 따라 네이티브, 기존 컨테이너, 혹은 중첩 컨테이너 중 적절한 실행 환경을 선택해야 한다. 이러한 가이드라인은 향후 자율주행차 소프트웨어 개발 프로세스의 표준화와 효율적인 클라우드·엣지·차량 통합을 위한 기반이 될 것이다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기