고성능 메모리 장치를 활용해 성능을 최적화한 경험이나 접근법 설명
고성능 DRAM과 CXL 장치를 활용한 최적화를 공부하면서, 메모리 계층 구조를 이해하는 것이 출발점이라는 걸 배웠습니다. 같은 서버라도 워크로드가 어떤 메모리 접근 패턴을 갖느냐에 따라 DRAM과 CXL 중 어디에 데이터를 두는 게 효과적인지 달라졌습니다.
메모리 접근 빈도와 레이턴시 요건을 먼저 분석하고, 핫 데이터는 빠른 DRAM에, 덜 자주 접근하는 데이터는 CXL 확장 메모리에 배치하는 전략을 이해했습니다. CXL이 대용량 메모리를 저렴하게 확장할 수 있다는 점은 매력적이지만, DRAM 대비 레이턴시가 높아 사용 패턴을 고려한 배치가 중요합니다. 실습 프로젝트에서 numactl로 메모리 노드를 지정해 접근 특성이 다른 두 워크로드를 분리했더니 전체 처리량이 향상됐습니다. 메모리 최적화는 하드웨어 스펙보다 워크로드 이해가 먼저라는 걸 느꼈습니다.
좋은 장치도 워크로드에 맞게 쓰지 않으면 효과가 절반입니다.