디스크 I/O가 메모리 캐싱을 능가한다? 놀라운 벤치마크 결과

2025-09-05

일반적인 상식으로는 메모리 접근이 디스크 I/O보다 훨씬 빠르며, 메모리 캐싱이 필수적이라고 생각합니다. 이 글은 정교한 벤치마크 테스트(대용량 데이터셋 내 10의 개수 세기)를 통해 이러한 상식에 도전합니다. 오래된 서버를 사용하고 코드 최적화(루프 언롤링 및 벡터화), 그리고 사용자 지정 io_uring 엔진을 통해 저자는 특정 조건 하에서 디스크 직접 읽기가 메모리 캐싱보다 더 빠르다는 것을 보여줍니다. 핵심은 디스크가 메모리보다 빠른 것이 아니라, 기존 메모리 접근 방식(mmap)이 상당한 지연 시간을 유발한다는 점입니다. 사용자 지정 io_uring 엔진은 디스크의 높은 대역폭과 파이프라이닝을 활용하여 지연 시간을 감춥니다. 이 글은 최신 아키텍처에서 최대 성능을 얻으려면 알고리즘과 데이터 접근 방식을 하드웨어 특성에 맞춰야 함을 강조하며, 미래 하드웨어 트렌드에 대한 전망도 제시합니다.

하드웨어 메모리 캐싱