지난 10월 13일부터 16일까지 서울 잠실에서 열린 SOSP 학회에 참석했습니다. 특히 이번 학회에는 Volunteer(자원봉사자)로 참여하여 단순한 참석을 넘어 행사의 일원으로서 더욱 의미 있는 시간을 보냈습니다.

학회 첫날에는 ‘BigMem’이라는 워크샵에 참석했습니다. 그중 인상 깊었던 세 가지 세션을 정리해 보았습니다. 첫 번째는 스탠포드 교수님의 키노트였습니다. ‘메모리 산업의 미래’를 주제로, 메모리의 가격 대비 성능이 한계에 도달하고 있음을 지적했습니다. DRAM은 지난 15년간 가격과 성능 발전이 정체되어 서버 비용(예: Azure의 50%)에서 큰 비중을 차지하고 있으며, SRAM 역시 물리적 축소의 한계에 부딪혔다고 합니다. 이에 대한 해결책으로 하드웨어 관점에서는 3D DRAM 스태킹, GPU 메모리 디스어그리게이션(Memory Disaggregation)을 제시했습니다. 특히 “병렬성(parallelism)과 지역성(locality)만이 시스템 성능 향상의 유일한 두 가지 방법”이라는 격언처럼 데이터 지역성을 극대화하는 것이 중요함을 강조했습니다. 소프트웨어 관점에서는 데이터 지역성 관리를 위한 3원칙(근접성 선호, 이동 최소화, 지속적인 적응)과 함께, TCMalloc이나 CXL 메모리 풀 환경에서의 페이지 배치 관리 같은 구체적인 기술들이 소개되었습니다. Small memory 환경에서의 연구가 여전히 경쟁력 있을 것이라는 말씀이 기억에 남습니다. 두 번째는 정명수 교수님 연구실의 연구로, SSD의 온도 제어를 소프트웨어 관점에서 접근한 점이 흥미로웠습니다. 온도 카메라를 이용해 SSD 컨트롤러의 발열이 기판을 타고 플래시 메모리의 온도를 높이는 과정을 데모 사진으로 보여주었는데, 매우 새롭고 직관적이었습니다. 앞으로 서버의 전력이나 온도를 소프트웨어 레벨에서 제어하려는 연구가 많아질 것이라는 생각이 들었습니다. 마지막으로 인상 깊었던 세션은 Disaggregated system의 캐싱 기법에 관한 연구였습니다. 기존에는 컴퓨트 노드가 캐싱을 위해 코디네이터 노드를 거쳐 메모리 노드에 접근해야 했기 때문에(Compute node -> Coordinator -> Memory node) 접근 경로가 길어 네트워크 병목이 발생했습니다. 이 연구는 캐싱을 탈중앙화하여, 컴퓨트 노드가 코디네이터를 거치지 않고 직접 메모리 노드와 통신하며 캐싱하는 기법을 제시했습니다. 아쉽게도 구체적인 알고리즘이 소개되지 않아 그 점은 궁금증으로 남았습니다.

다음 날부터는 본격적인 SOSP 메인 세션에 참석했습니다. 인상 깊은 연구는 두 가지가 있었습니다. 첫 번째는 <cache_ext: Customizing the Page Cache with eBPF>입니다. 기존에는 애플리케이션이 OS의 메모리 정책(페이지 캐시)에 종속되어, 이를 커스텀하려면 OS를 직접 수정하거나 유저 레벨에서 캐시를 구현해야 하는 부담이 있었습니다. 이 연구는 eBPF를 활용해 애플리케이션별로 LRU, MFU 등 적합한 캐시 정책을 동적으로 적용할 수 있는 간단한 아이디어를 제시했습니다. 개발 강도가 낮아 실제 적용해 보고 싶다는 생각이 들었고, 보안 이슈도 적을 것 같아 학계와 산업계 모두에게 가치 있는 연구라고 생각되었습니다. 두 번째는 클라우드 객체 스토리지 서비스(COSS)의 메타데이터 관리에 관한 <Mantle: Efficient Hierarchical Metadata Management for Cloud Object Storage Services> 연구입니다. COSS는 디렉터리 구조가 매우 깊어 경로 탐색이 느리고 메타데이터 업데이트 시 경합이 발생하는 문제가 있습니다. Mantle은 이를 해결하기 위해 네임스페이스별 ‘indexnode’에 메타데이터 핵심 정보를 인덱싱하여 한 번에 탐색할 수 있게 하고, 실제 메타데이터는 TafDB로 관리했습니다. 또한, 빠른 조회를 위해 indexnode의 특정 깊이(depth k)까지 메모리에 캐싱하는 기법도 제안했습니다. 세션 발표 후, 저는 발표자에게 “네임스페이스별로 indexnode를 관리하는데, 캐싱 파라미터(k) 값도 네임스페이스마다 다른지 아니면 일괄 적용되는지” 질문했습니다. 발표자는 “현재는 동일한 k 값을 사용한다”고 답했습니다. 개인적으로는 네임스페이스마다 워크로드나 메타데이터의 복잡성이 다를 것이므로, 동일한 k 값을 유지하는 것이 이 연구의 한계일 수 있겠다는 생각을 했습니다.

학회 마지막 날에는 Excursion 프로그램에 Volunteer로 참여했습니다. 참가자들과 함께 북촌과 남산 타워를 투어하고 삼계탕도 먹었는데, 마치 제가 외국인 관광객이 된 듯한 기분이었습니다. 오랜만에 외국인들과 교류하며 여행하는 기분으로 즐거운 시간을 보낼 수 있어 기분 전환도 되었습니다. 이번 SOSP 학회를 참석하게 되어 전체적으로 연구에 대한 새로운 자극을 받았고, 다양한 사람들과 교류하며 시야를 넓힐 수 있어서 매우 만족스러운 경험이 되었습니다.