11.2.3.3 레거시 DDS 생태계의 복합 QoS 세팅 결합도에 기반한 아키텍처 결정(Decision Making)
CPU 스루풋과 NAT 클라우드 장벽의 문제를 통과하더라도, Zenoh 융합 아키텍처 결정을 망설이게 하는 마지막 족쇄가 도사리고 있다. 그것은 기존 로보틱스 팀이 구축해 놓은 어플리케이션 소스 코드 속에 깊게 박혀 있는 DDS QoS(Quality of Service) 폴리시(Policy)의 결합도다.
ROS2 생태계는 통신의 신뢰보장(Reliability), 보존성(Durability), 생존기한(Lifespan), 마감시한(Deadline), 그리고 활성 감지(Liveliness)라는 복잡하고 치밀한 QoS 정책들 체계로 구성되어 있다. 기존 어플리케이션이 이 DDS 고유의 철학에 얼마나 끈적하게 달라붙어(Coupling) 코딩되어 있는가를 판별하는 것은 RMW 이식 모드를 채택할지, 안정형 브릿지 모드를 채택할지를 가늠하는 최후의 비즈니스 논리적 잣대(Decision Making)가 된다.
1. DDS 편향적 Advanced QoS 의존성 진단
현재 구동되는 자율주행 소스코드를 뜯어, 퍼블리셔와 서브스크라이버를 선언하는 구문에 어떠한 QoS 런타임이 세팅되어 있는지 수사하라.
만약 개발팀이 센서 데이터를 보낼 때 단순히 “Best Effort“나 “Reliable” 수준의 1차원적 설정만 이용했다면 다행이다. 그러나 치밀한 시스템 아키텍트가 개입하여, 특정 제어 명령이 1초 수명 기한(Lifespan)을 지니게 하거나, 만약 500밀리초 내에 새로운 퍼블리시가 없으면 즉시 사단(Liveliness Changed) 콜백 이벤트를 뿜어내도록 하는 딥 레벨의 DDS 전용 QoS 옵션을 무수히 덕지덕지 발라 두었다면 어찌할 것인가?
이러한 고강도 결합성 기반의 코드 위에서 ROS의 신경망을 네이티브 Zenoh 지향인 rmw_zenoh_cpp 로 몽뚱그려 교체하는 행위는 위험하다. Zenoh 프로토콜의 와이어 체계는 DDS 고유의 Liveliness 스로틀이나 Deadline 같은 매우 주관적인 RTPS 보장 시퀀스를 Zenoh 고유의 방식으로 느슨하게 매핑(Soft-mapping)하거나 무시(Ingored)해버릴 가능성을 내포한다.
이러한 상황에서는 시스템의 기능적 붕괴가 예견되므로, DDS의 철학을 어플리케이션에 100% 보존해줄 수 있는 브릿지(Bridge) 통합 모드에 잔류하는 수성의 런북을 발동해야 한다.
2. 브릿지 내의 QoS 매핑 한계와 zenoh-bridge-dds 타협 전략
그렇다고 기존 코드가 DDS 브릿지의 우산 아래 있다고 모든 것이 형통(Good)한 것은 아니다.
zenoh-bridge-dds 역시 결국엔 DDS 패킷을 쪼개어(Decouple) Zenoh 망을 통해 넘긴 뒤, 다른 쪽에 가서 다시금 DDS 가상 노드를 세우는 방식을 취한다.
당신이 Liveliness=MANUAL_BY_TOPIC QoS를 걸고 로컬 로봇에서 퍼블리셔 코드를 쏘았다 할지라도, 이 정보가 클라우드를 거쳐 원격지 로봇에게 재전송될 때 통신 레이턴시에 인해 Deadline 이나 Liveliness 틱 갱신 타임이 스위치 포트 수준에서 박살 날 확률이 농후하다. 중앙 집중식 스위칭 망(Broker)을 통과하는 순간, 로컬 서브넷 관점의 팽팽했던 타이밍 개런티(Timing Guarantee)는 어그러진다.
따라서 브릿지 인프라 팀은 WAN 구간 통합을 시행하기 이전에 기존 자율주행 파드 내에 설계된 마이크로(Micro) 단위 초정밀 QoS 기능들을 모두 폐기하거나, 서버 지연 시간에 맞도록 Lifespan과 허용 딥(Depth)을 10배 이상 엉성하게 재세팅해야만 하는 개발적 마이그레이션 타협(Compromise)을 피할 수 없다.
3. 원시 데이터 파이프라인(Raw Pipeline) 중심의 RMW 채택론
결론적으로 차세대 거대 자율이동형 집단(Swarm) 통신 코어 설계에서는, QoS 철학을 운영체제(DDS) 통신망 레이어에 구걸하여 구현하는 행위의 퇴출이 종용된다.
데이터 유실 방지(Reliability) 기능 정도만 RMW의 설정에 위탁하고, 데드라인 초과나 생명선 단절과 같은 고도의 논리적 보증 처리(Logical Assertions)는 ROS2 노드 내부의 파이썬 타이머나 어플리케이션 관제 로직 코드(User Space) 층위로 뽑아내어 이주(Migration)시켜버려라.
통신망에서 복잡한 보험 규칙(QoS)들을 벗겨낼수록, 페이로드는 깃털처럼 가벼워진다. 그리고 완전히 비워진 그 인프라 토양 위로 무결점 극한 스피드를 자랑하는 rmw_zenoh_cpp 네이티브 모드를 전격 전개했을 때, 로보틱스 소프트웨어 팀은 과거의 미들웨어 문법과 족쇄에서 완벽하게 해방된 O(1) 초거대 데이터 폭포수의 환희를 체감할 수 있게 된다.