빠른 MPMC 큐를 원하는 소녀들: 유한 대기 시간을 보장하는 새로운 설계
Girls Just Wanna Have Fast MPMC Queues with Bounded Waiting
nahla.dev 블로그에서 Rust로 구현한 새로운 bounded MPMC 큐를 소개합니다. 이 큐는 ticket lock 대기 방식을 기반으로 하여 CAS 루프 없이 유한 대기 시간을 보장하며, 생산자와 소비자 간의 캐시 경합을 최소화합니다. 저자는 이 구조가 wait-free가 아니라는 점을 명확히 밝히고, 이론과 구현, 벤치마크 결과를 상세히 설명합니다. 또한 atomic_queue 저장소의 다른 큐 구현들과의 성능 비교를 통해 자신의 설계가 경쟁력 있음을 보여줍니다.
스레드가 일시 중단되거나 실패하지 않는 한, 이 구조의 모든 연산은 시간 상한이 있으며, 이는 어떤 소비자나 생산자도 기아 상태에 빠지지 않음을 보장합니다.