[Disruptor] 2. Hardware Sympathy: False Sharing과 GC 없애기
백엔드·2026. 1. 3.
지난 글에서 나는 왜 LMAX가 전통적인 Queue를 버렸는지, 그 배경을 살펴보았다.핵심은 Lock과 Context Switching 비용을 줄이는 것이었다.그렇다면 구체적으로 어떻게? Disruptor는 RingBuffer라는 자료구조와 Mechanical Sympathy라는 철학을 통해 이를 구현했다.오늘은 Disruptor의 내부로 깊숙이 들어가, 이들이 어떻게 하드웨어의 한계를 소프트웨어적으로 극복했는지 뜯어보려 한다. 1. RingBufferRingBuffer는 이름 그대로 고정 크기의 순환 큐다. 사실 알고리즘 문제에서나 보던 평범한 자료구조다. 하지만 Disruptor는 이를 사용하는 방식이 다르다.런타임 할당이 없는 구조일반적인 Queue나 Stack은 데이터가 들어올 때 노드를 새로 ..