Tech

[논문 요약 및 리뷰] NeoMem: Hardware/Software Co-Design for CXL-Native Memory Tiering - Microsoft , 북경대 발표 논문, CXL Solutio

Futureseed 2025. 5. 26. 01:00
반응형

최근 CXL 관련 기술을 검토할 일이 있었는데, 그 과정에서 흥미롭게 본 논문 하나를 소개하려고 합니다. NeoMem 이라는 논문인데요, CXL 환경에서 메모리 티어링 을 잘 수행할 수 있도록 하드웨어와 소프트웨어를 통합 구현한 솔루션입니다.

 

요즘 CXL이 산업 내에서 자주 언급되고 있지만, 아직 실질적인 제품화나 적용 사례는 제한적입니다. 하지만 이 논문은 "이런 방향으로 실제 구현할 수 있다"는 것을 보여주는 꽤 현실적인 모델이라서, 흥미로운 내용이라 포스팅해보려고 합니다.


이번 글에서는 회사 업무 관련 내용은 배제하고, 논문에 대한 내용만 요약 및 소개하고 마지막에 개인적인 의견도 간단히 덧붙여보고자 합니다.


NeoMem 솔루션의 필요성

기존 메모리 티어링 기술은 정확도가 낮고 오버헤드가 큰 방식에 의존해 왔음

  • PEBS, PTE scan 등은 page-level 분석이 어렵고,
  • PMU 기반 방식은 해상도가 낮으며,
  • fault 기반 방식은 성능 저하가 큼.

특히 CXL memory는 DRAM보다 느리기 때문에, 어떤 페이지를 어디에 둘 것인지 판단하는 게 중요

NeoMem은 이 판단을 더 빠르고 정확하게, 그리고 오버헤드 없이 하자는 목표로 등장


논문이 제안한 핵심 아이디어

NeoMem은 Device는 접근 통계를 수집하고, 호스트는 정책적으로 페이지를 관리하는 구조

  • CXL 메모리 Device(FPGA)에는 NeoProf IP를 넣어 실시간 access profiling
  • Host 측에는 Linux 기반 소프트웨어가 정책 기반으로 page promotion/demotion 수행

이로써 정확도 높고, CPU 부하 없는 메모리 티어링 시스템을 구현

 


하드웨어: NeoProf IP

NeoProf는 Intel Agilex FPGA에 구현된 하드웨어 모듈

항목내용
위치 CXL Type-3 장치 내부 (FPGA)
기능 LLC miss 기반 페이지 접근 빈도 추적
단위 4KB page-level
기술 Count-Min Sketch 기반 통계 수집
통신 MMIO 방식으로 Host와 연결
자원 소모 FPGA 논리 자원의 10~12% 수준 (ALMs, BRAMs)
 

NeoProf는 단순 카운터가 아니라, 정밀한 통계 모듈이며, host CPU의 자원을 거의 쓰지 않음


소프트웨어: NeoMem Stack

Host 측에서는 커널과 사용자 공간이 협력

  • NeoProf Driver: MMIO를 통해 통계를 주기적으로 수집
  • NeoMem Daemon: 수집된 데이터를 바탕으로 page migration 결정
  • 정책 기준:
    • access histogram
    • bandwidth
    • ping-pong 완화 (threshold hysteresis)
  • 실행 방식:
    • Linux migrate_pages() API 호출
    • NUMA 기반 page 이동 수행

정책 판단은 host가 하고, 장치는 통계만 제공


동작 흐름 정리

  1. NeoProf IP가 LLC miss를 통해 각 페이지 접근 횟수 기록
  2. Host driver가 MMIO로 데이터 수집
  3. Daemon이 hot page를 판단해 migrate_pages() 호출
  4. promotion: CXL → DRAM / demotion: DRAM → CXL

ping-pong 방지를 위해 접근 이력 기반 threshold 조정


정리와 의견

하드웨어가 주어지더라도 User가 실제 사용에 어려움을 겪는 경우가 많은데, NeoMem은 FPGA만 주어지면 하드웨어 IP도 구현되어 있고,관련 소프트웨어도 구현되어 있어 User가 사용하기에 쉬운 환경으로, CXL Eco를 조성하는데 현실적으로 좋은 솔루션으로 보입니다.

 

다만, 도입은 진행되고 있지만, 실제 Usecase는 제한적이고, CXL memory는 아직 시기상조인 기술입니다. 그리고 무엇보다 CXL 기술은 Intel이 주도하는 생태계인데, 최근 시장에서 Intel의 영향력이 과거 같지 않다는 점도 변수입니다.

 

아직 실제 Industry 에서 자리잡기에는 허들이 많지만, 기술적으로는 분명히 의미 있는 구조이며, 장기적으로 메모리를 스마트하게 사용하기에는 좋은 기술입니다.

 

반응형