
ROS Discourse
shared_buffer_backend: ROS 2 프로세스를 위한 공유 메모리 rosidl::Buffer
shared_buffer_backend는 ROS 2 프로세스 간 이미지 등 대용량 가변 길이 페이로드를 일반 메시지 경로 대신 공유 메모리(shared memory)로 전달하는 실험적 CPU 백엔드다. 현대 로봇 시스템은 센서 수가 늘고 페이로드가 커지면서 프로세스 간 통신 오버헤드가 전체 성능에 미치는 영향이 커지고 있다. ROS 2는 이미 프로세스 내(intra-process) 통신을 지원하지만, Python으로 작성된 추론 노드나 결함 격리(fault isolation)를 위해 프로세스를 분리해야 하는 경우에는 이 기능을 활용하기 어렵다. Fast DDS의 Data-sharing은 바운디드(bounded) 토픽 타입만 지원하는 등 미들웨어별 공유 메모리 메커니즘에는 타입 제약이 존재하며, shared_buffer_backend는 이러한 제약 없이 공유 메모리 전송을 가능하게 하는 대안으로 제안되었다.
큐레이터발표자가 '실험적(experimental)'이라 명시한 패키지이므로 운용 환경에서의 안정성과 성능은 아직 독립적으로 검증되지 않았다.