Skip to main content
QUICK REVIEW

[논문 리뷰] Real-time Linux communications: an evaluation of the Linux communication stack for real-time robotic applications

Carlos San Vicente Gutiérrez, Lander Usategui San Juan|arXiv (Cornell University)|2018. 08. 30.
Real-Time Systems Scheduling참고 문헌 2인용 수 29
한 줄 요약

이 논문은 다중 코어 임베디드 시스템에서 로봇 응용 프로그램을 위한 리눅스의 UDP 기반 통신 스택의 실시간 성능을 평가한다. 실시간 작업과 그들의 인터럽트를 전용 CPU에 고립시킴으로써, 동시 트래픽 조건에서도 결정론적이고 경계된 지연 시간을 크게 향상시킴을 입증하며, 적절한 설정을 통해 리눅스가 실시간 로봇 응용 프로그램을 지원할 수 있음을 보여준다.

ABSTRACT

As robotics systems become more distributed, the communications between different robot modules play a key role for the reliability of the overall robot control. In this paper, we present a study of the Linux communication stack meant for real-time robotic applications. We evaluate the real-time performance of UDP based communications in Linux on multi-core embedded devices as test platforms. We prove that, under an appropriate configuration, the Linux kernel greatly enhances the determinism of communications using the UDP protocol. Furthermore, we demonstrate that concurrent traffic disrupts the bounded latencies and propose a solution by separating the real-time application and the corresponding interrupt in a CPU.

연구 동기 및 목표

  • 분산 로봇 시스템에서 리눅스 통신 스택의 실시간 성능을 평가하기 위해.
  • 실시간 워크로드 하에서 UDP 기반 통신의 성능 저하 요인을 특정하기 위해.
  • 동시 네트워크 트래픽이 리눅스에서 UDP 통신의 결정론성에 미치는 영향을 평가하기 위해.
  • 실시간 통신 신뢰성을 향상시키기 위한 CPU 고립 전략을 제안하고 검증하기 위해.
  • 적절히 설정된 리눅스가 결정론적이고 저지연 통신을 지원할 수 있음을 입증하기 위해.

제안 방법

  • 다양한 워크로드 하에서 다중 코어 임베디드 리눅스 시스템에서 UDP 통신 성능을 벤치마킹하기 위해.
  • 스케줄링의 결정론성을 향상시키기 위해 리얼타임 패atch(예: PREEMPT_RT)를 적용한 리눅스 커널 설정하기.
  • 실시간 응용 프로그램 스레드와 네트워크 인터럽트 핸들러를 전용 CPU 코어에 고립하기.
  • 통제된 조건과 동시 트래픽 조건 하에서 종단 간 지연 시간과 지터를 측정하기.
  • CPU 어파니티와 cgroups를 사용하여 실시간 및 비실시간 작업 간 자원 분리 강제하기.
  • 인터럽트 처리 행동 분석 및 그 통신 결정론성에 미치는 영향 평가하기.

실험 결과

연구 질문

  • RQ1리눅스 UDP 통신 스택이 실시간 로봇 제어에 적합한 경계된 지연 시간을 달성할 수 있는가?
  • RQ2동시 네트워크 트래픽이 리눅스에서 UDP 통신의 결정론성에 어떤 영향을 미치는가?
  • RQ3실시간 작업과 그들의 인터럽트를 CPU에서 고립함으로써 통신 지연 시간 경계가 얼마나 향상되는가?
  • RQ4리눅스 기반 로봇 응용 프로그램에서 실시간 성능을 달성하기 위해 핵심적인 커널 및 시스템 설정 파ameter는 무엇인가?
  • RQ5최소한의 수정만으로 표준 리눅스를 결정론적 로봇 통신에 사용하는 것이 가능한가?

주요 결과

  • 적절한 설정을 통해 리눅스 커널은 임베디드 다중 코어 시스템에서 UDP 기반 통신의 결정론성을 크게 향상시킨다.
  • 동시 네트워크 트래픽은 경계된 지연 시간을 방해하며, 지터 증가와 예측 불가능한 지연을 초래한다.
  • 실시간 응용 프로그램과 네트워크 인터럽트를 CPU에서 고립함으로써 지연 시간의 지터가 감소하고 예측 가능한 통신 타이밍이 보장된다.
  • 실시간 작업에 전용 CPU 코어를 사용함으로써, 부하 조건에서도 일관되게 경계된 종단 간 지연 시간이 유지된다.
  • PREEMPT_RT 패치세트는 저지연 스케줄링과 향상된 실시간 동작을 달성하기 위해 필수적이다.
  • CPU 어파니티와 cgroups를 통한 시스템 수준의 고립은 비실시간 프로세스의 간섭을 효과적으로 방지한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.