저자: Tianze Wu , Baofu Wu , Sa Wang, Liangkai Liu , Shaoshan Liu , Yungang Bao, and Weisong Sh
Abstract
AD(Autonomous Driving)
AD 의발전이 기하급수적으로 늘어나고 있다. 여기에 들어가는 제어장치와 센서들도 robustness를 보장하기 위해 많이 사용되면서 AD에서 큰 문제들이 대두되기 시작햇다.
학계와 산업계에서는 AD vehicle(AV)에 대한 논의들은 늘 잇어왔다. 이러한 차이를 좁히고자 우리는 AV의 시나리오들을 정리하고 각 시나리오들의 communication mechanism을 정리했다.
게다가 우리는 perception communication scenario 와 AD application(자율 주행 성능 평가를 위한 연구진을 위한) 모음으로 이루어진 Comp라고 불리는 벤치마크을 만들었다.
우리의 발견은 연구자들에게 가이드라인을 제공하고 미들웨어를 설계하는데 참고사항이 될것이다.
Introduction
AD에 대한 사람들의 호기심만큼 우려도 많은 여러 이유들 중 하나는 AV에 대한 Robustness들이다. AV에서 복잡한 상황에서 stringent deadline안에 많은 데이터를 가공하고 전송하는 것은 매우 큰 어려움이 있다. 지난 연구활동에서는 데이터 processing 과정을 가속화하기 위한 연구가 주로 이루여왔다.(알고리즘 최적화, 특정 HW acceleration) .
그러나 데이터 processing 에 대한 논의가 기하급수적으로 이루어지는 동안 latency(특히, communication latency)에 대한 논의는 거의 없다.
그래서 우리는 AV에서 사용되는 오픈소스 미들웨어의 communication lantency 문제에 대해서 논의할 것이다.
우리는 이를 측정하기 위해 ROS1, ROS2 , Cyber라는 오픈 소스 미들웨어를 사용하고 이들의 communication performance를 서로 다른 센서들을 이용한 다양한 시나리오를 통해 측정하였다.
key finding
1) 현재상황에서는 performance 측면과 신뢰성 측면에서 shared memory를 통해서 communication 을 하는 것이 최선의 선택이다.
2) Data copy 와 serialization/deserialization operation 은 communication overhead의 가장 큰 요인이고
예상외로 task scheduling 의 영향은 적다.
3) 서로 다른 시나리오에서 commmunication 특성에 대한 최적화을 통해 중요한 이점(통찰)을 얻을 수 있다.
4) 플랫폼의 performance가 높아질수록 communication의 bottleneck이 자주 발생할 가능성이 높다.
많은 연구들이 data processing 문제에 대해서 최적화와 HW 가속기를 통해 점진적으로 개선해왔으며 우리도 GPU RTX의 도움으로 common algorthm(AV에서 사용되는)을 10ms 까지 감소시켰다.
또한 실행의 bottleneck을 피하기 위해 우리는 communication latency가 computation latency보다 최소한 one order of magnitude ( < 1ms)보다 작을 것이라고 생각했다.
여기에서 latency에 대한 정확한 추측은 다양한 시나리오에서 달라지는 요구사항으로 인해 무의미하다.그러나 1ms는 AD 에서 자주 사용되는 running time들보다 magnitude의 1 order 작으며 인간의 운전반응속도중 가장 빠른 반응시간(100ms end to end latency)보다 tow order of magnitude lower 하다.
그래서 우리는 computation latency와 같이 communication latency에 대해서 논의할 것이다.
B. Middleware
미들웨어의 핵심은 서로 다른 서비스가 서로 이용되게 묶는 것이다. 메인 스트림의 미들웨어의 통신모델은 many to many unidirenctional data exchange이다.
이러한 information flow는 QoS policy에 의해 규제된다.
미들웨어는 이러한 통신모델뿐만 아니라 task scheduling,data management와 같은 서비스도 제공한다.이런 기능들은 단순히 distributed system 뿐만 아니라 single machine system에서도 그 안의 자원들이나 기능을 통제하기 위해 사용된다.
AV에서의 미들웨어
ROS1, ROS2 , Cyber
ROS1: socket based inter process communication(IPC)가 ROS1에서 사용되면서 기능과 확장성에 기여함.
(소켓 기반의 통신은 robot에서 흔하게 사용. TCP and UDP를 이용.소켓 기반은 single module 의 crash가 전체 시스템을 위험에 빠뜨리지 않는 reliability의 장점이 있으나 overhead가 크다.) 소켓 기반--> loosely coupled mechanism
ROS2: ROS1의 개선된 버전. DDS을 통신 기술로 사용하여 real time distributed system에서 유용하게 사용된다.
cyber: ROS1과 ROS2와 비교하면 management와 scheduling 능력이 향상되었다.
ROS2와 cyber는 DDS를 이용하며 이 dds 는 UDP를 이용하여 dependable 하고 높은 사향을 가능하게 함.
IAP 와 Shared memory(SHM)는 소켓 기반의 문제에 의해 대두된 해결책.intra process (같은 프로세스) 내에서 inter thread(서로 다른 쓰레드) 간 통신은 zero copy data transport를 실현하고 있기에 효율적이다.
ROS1과 ROS2는 이를 지원한다. SHM는 IPC 에서 가장 효율적이며 data copy 를 피한다. 그러나 연속화/비연속화를 지원하고 있어 비효율적이 측면도 있음.
Cyber는 버퍼 공유를 통해 SHM 방법을 제공함.
B.실험 설계
1) micro experiency
다양한 사용시나리오(자원 , 시간 ,순서 ,센서, 서로 다른 QoS 정책 등)를 설계
2) With ComP in different Platform
Cyber를 Comp을 이용하여 여러 플랫폼에서 사용. 이를 통해 transmission latency와 processing latency의 현재 관계를 추론하고 real system에서 발생가능한 문제점들을 논의함
4.실험결과
A. Basic characteristic
Finding 1: Data copy and serialization/deserialization operations are the major sources of communication overhead.
: 실험결과 의외로 publishing frequency는 transmission latency를 증가시키는 결정적인 요인이 아니다. 오히려 다른 연구에서는 frequency를 높여 energy-saving 과 scheme를 scheduling 하는 방식으로 latency를 줄이기도 했다.(Latency overhead of ROS2 for modular time-critical system)
앞에서 언급했던 것처럼 data copy와 연속화/비연속화가 통신 오버헤드에서 주요요인이다. 그러므로 메세지 크기가 클수록 소켓기반의 통신에서는 매우 큰 결정적 요인이다.
IAP type 방식은 data copy와 연속화/비연속화 를 사용하지 않기 때문에 메세지크기의 영향을 받지 않는 반면, SHM방식은 data copy만 사용하지 않고, 연속화/비연속화는 그대로 사용하여 전자보다는 성능향상이 뚜렷하지 않다.그러나 일반적인 distributed system 에서는 IAP는 사용하기 어려워(같은 process에서 사용하는 method이기 때문에)
또한 CPU자원을 무조건적으로 높인다고 latency가 줄지는 않는다(필수적인 요소X). 조건 상 필요한 만큼 충족하고 나면 그 이상으로는 tency는 CPU에 의해 계선되지 않음. 그러므로 CPU는 필요량을 충족하고 있는지만 확인.(필요량 추정은 어떻게?)
결론적으로 최고의 선택은 shared memory를 이용한 통신방식인 performance와 reliability(꼭 같은 process 안에서 존재할 필요 없는 특성) 측면에서 가장 최선의 선택이다.
B. 사용된 QoS 특성
Finding 2: Some QoS settings may incur additional overhead, but they usually have little effect on latency in local communication environment.
C. Complex Communication Scenarios
1) multiple destination publisher(1-N)
Finding 3: Optimization based on the communication
characteristics of different scenarios can bring significant
benefits. In this regard, Cyber does better than the other
two middlewares.
2) data fusion(N-1)
Finding 4: Fusion strategies, the frequency and order of
channels to be fused would affect the latency pattern of data
fusion.
D. other ways to Improve Performance
1) scheduling policy
Finding 5: The overhead associated with task scheduling
does not have a significant impact on the communication
latency.
CPU usage에 의해 영향을 받는 방식은 IAP와 UDP 통신 방식이다.
CPU usage는 오직 Communication latency에만 영향을 준다.(다른 latency X)
IAP 방식에서는 스케줄링에 의한 오버헤드가 가장 큰 여향을 주는 것은 사실이다. 그러나 IAP 자체의 communication latency가 매우 작아 그 증가분이 사실 관찰되기 어렵다.
또한 프로그램이 복잡해질수록 스케줄링방식보다는 communication 방식이 훨씬 영향을 많이 줌. UDP 통신 방식 같은 경우, 통신과정에서 데이터 유실의 가능성이 상대적으로 높아 메세지 크기가 클 경우 packet loss rate가 높다. 또한 UDP 통신방식에서 스케줄링 오버헤드가 차지하는 비율이 매우 적으므로 스케줄링에 의해 CPU 가 낭비되는 시간도 적다.
그러므로 task completion time 은 linux time slice scheduling 방법에 영향을 받지 않아.
Cyber의 스케줄러 정책은 중요한 링크의 품질을 보장하는 두 가지 방법을 제공합니다. 하나는 우선 순위를 높여 먼저 예약할 수 있도록 하는 것이고, 다른 하나는 간섭을 피하기 위해 전용 CPU 코어를 할당하는 것입니다. 그러나 스케줄링 오버헤드 자체는 무시할 수 있기 때문에 실제 성능 향상은 거의 없습니다.
2) 실시간(RT) 커널: 그림 7은 서로 다른 커널에서 실행되는 두 가지 방법의 결과를 보여주며, RT 커널이 전체적인 통신 지연 시간 및 성능 지터를 감소시키는 것을 확인할 수 있었다. 그러므로 실시간 커널을 위해 상위 수준의 응용 프로그램이 변경되지 않더라도 RT 커널을 사용하는 것이 좋습니다. 이러한 개선은 RT 커널에 의해 만들어진 일련의 최적화를 통해 달성되며, 자세한 내용은 이 기사에서 다루지 않을 것이다.
실험 중에 컴퓨팅 리소스가 충분한지 확인합니다. 1) 다른 플랫폼 간의 비교: 전송 지연 시간과 처리 지연 시간 사이의 비율이 AGX보다 서버 PC에서 더 크다는 것을 표 III에서 확인할 수 있습니다. 서버 PC에서 데이터 처리와 전송에 드는 시간은 적지만 두 플랫폼 간의 데이터 전송 지연 시간 차이는 데이터 처리 지연 시간보다 훨씬 작다. 따라서 전송 지연 시간을 줄이면 보다 강력한 플랫폼에서 더 많은 성능을 얻을 수 있습니다. 예를 들어 서버 PC에서 Cyber SHM을 Cyber IAP로 교체하면 MOSSE의 성능이 27% 향상됩니다. 그러나 동일한 작업으로 AGX가 4% 향상되는 데 그쳤다.
성능이 떨어지는 플랫폼에서 통신 오버헤드를 줄이는 것도 CPU 자원을 많이 절약한 다음 시스템의 전반적인 성능을 향상시킬 수 있기 때문에 의미가 있다는 점에 유의해야 한다.
Finding 6: 플랫폼의 성능이 높을수록 커뮤니케이션이 병목 현상이 될 가능성이 높습니다.
1) Data Fusion: 첫 번째 채널이 메시지를 수신하면 Cyber 퓨전 동작이 트리거되므로 경우에 따라서는 이 전략을 활용할 수 있습니다. 예를 들어 MOSSE는 Camera와 Yolo로부터 데이터를 수신하지만 Yolo의 탐지 결과는 목표물을 잃을 때 트래커를 다시 초기화하는 데만 사용됩니다. 따라서 우리는 카메라의 데이터가 최대한 빨리 처리될 수 있도록 하기만 하면 됩니다.그래서 우리는 카메라를 지연 시간을 최소화하는 첫 번째 채널로 설정할 수 있습니다.
(카메라에 의한 데이터가 더 유용하게 사용되기 때문에)
ROS1과 ROS2의 융합 전략과 비교하여 Cyber 전략은 더 통제 가능하다.
우리의 실험에서 Fusion의 다른 채널에서 데이터를 수신하는 지연 시간 간격은 100ms에 이를 수 있다.
이처럼 격차가 큰 주된 이유는 처리 시간이 길어 data generation 빈도가 낮기 때문이다.
Fusion과 같은 구성 요소가 지연 시간을 줄이려면 데이터 생성 빈도(카메라의 데이터 생성 빈도 증가 또는 데이터 처리 속도 향상)를 높이는 것이 가장 좋습니다. ROS1과 ROS2의 경우 단순히 주파수를 증가시키는 것만으로는 문제를 해결할 수 없으며, 서로 다른 채널의 주파수에 따라 적절한 퓨전 전략과 순서를 선택할 필요가 있다. 물론, 많은 AD 솔루션은 현재 자체 융합 메커니즘을 구현하고 있습니다. 우리는 그들 중 많은 수가 메시지 업데이트와 데이터 처리를 분리한다는 것을 알게 되었다. 각 채널의 메시지 수신은 독립적으로 수행됩니다. 데이터 처리가 트리거되면 각 채널의 메시지 큐가 잠기고 대기열에서 최신 메시지를 가져옵니다. 이는 실제로 사이버의 퓨전 전략과 유사하다.
우리는 메시지가 처리 가능한 속도보다 빠르게 게시될 경우 실험 중에 통신 지연 시간이 높다는 것을 관찰한다.또한, 가입자의 대기 대기 대기 행렬의 길이가 충분하지 않은 경우, 새로 도착한 메시지는 대기열에 대기 중인 오래된 메시지를 자주 대체할 것이다. 이 두 가지 모두 추가 지연 시간과 낭비 CPU 사이클을 초래합니다. 발행 빈도를 줄이면 새로운 문제가 발생할 수 있다는 점에 유의해야 한다. 메시지를 너무 느리게 게시하면 알고리즘 프로세스가 자주 절전 모드로 전환되어 알림 및 절전 모드 해제 대기 시간이 길어집니다.
발견 7: 게시 빈도와 해당 처리 시간이 잘 맞지 않을 경우 추가 오버헤드가 발생할 수 있습니다.
VI. Vehicle-to-Everything(V2X)
V2X는 차량과 차량에 영향을 미치거나 영향을 받을 수 있는 개체 간의 통신입니다. 이 섹션에서는 V2X 시나리오에서 다양한 통신 방법의 성능을 보여 주며, 오늘날 V2X 시나리오에서 복잡한 분산 데이터 처리를 수행할 수 있는지 여부를 살펴본다. 우리는 AGX를 차량으로, 서버 PC를 컴퓨팅 노드로 사용한다. 동일한 라우터 아래에 있는 무선 네트워크에 연결됩니다. 우리는 AGX와 서버 PC 사이의 왕복 시간을 테스트하며, 비교로서 AGX에 대한 실험도 로컬에서 수행했다. 도 8에서 보는 바와 같이, 특히 메시지 크기가 큰 경우, 분산 환경에서의 통신 성능은 로컬 환경에 비해 손실이 크다. 또한 UDP 기반 메서드는 큰 메시지를 전송할 때 심각한 패킷 손실 문제가 있습니다. 오늘날 대부분의 컴퓨팅 로드는 여전히 로컬에서 수행되어야 합니다. 원본 TCP와 UDP의 성능도 측정했는데, 그림 8에서 미들웨어가 가져온 성능 손실(50% 이내)이 허용된다는 것을 알 수 있다. 미들웨어가 보다 안정적이고 사용하기 쉬운 통신 기능을 제공할 수 있다는 점을 고려해 사용자가 직접 성숙한 미들웨어 솔루션을 선택해 통신 기능을 실현할 것을 제안한다. 로컬 환경에서 ROS1 UDP 지연 시간이 이렇게 높은 이유는 주로 ROS1 UDP가 섹션 IV-B에서 언급한 최대 1500바이트의 데이터그램 크기만 지원하기 때문입니다.