라벨이 ServerInfrastructure인 게시물 표시

CXL 2.0 3.0 메모리 풀링 도입 시 DRAM 레이턴시와 NUMA 불균형 해결 구조

이미지
서버에 대용량 AI 워크로드를 올리다 보면 특정 소켓의 CPU DRAM만 고갈되어 시스템이 OOM(Out of Memory)으로 쓰러지는 현상을 자주 목격합니다. 인터넷을 찾아봐도 단순히 CXL 개념을 소개하거나 스펙표만 나열할 뿐, 물리적 PCIe 슬롯을 통과할 때 발생하는 추가 레이턴시와 리눅스 커널의 NUMA 노드 튜닝이 어떻게 얽히는지 구체적인 가이드를 찾기 힘듭니다. 본 글에서는 CXL 2.0/3.0 메모리 풀링 구조가 DRAM 확장 레이턴시 상승을 수백 나노초 단위에서 어떻게 방어하고, CPU-less NUMA 노드 매핑으로 메모리 불균형을 해결하는지 실제 측정치 기준으로 심층 분석합니다. NUMA 메모리 불균형과 기존 DRAM 직결 확장의 한계 이것 때문에 멀티소켓 서버에서 인스턴스 메모리 할당 설정을 몇 번이나 다시 고쳐야 했습니다. 고성능 데이터센터 서버 아키텍처에서 소켓 간 Interconnect(UPI, xGMI) 경계를 넘어가는 원격 DRAM 접근은 심각한 레이턴시 병목을 일으킵니다. Stranded Memory 현상: 소켓 0의 CPU 코어 사용률은 90%인데 소켓 1의 DRAM만 남아서 메모리가 방치되는 자원 파편화 발생 소켓 간 트래픽 과부하: Cross-Socket Memory Access 시 소켓 간 연결 대역폭이 상시 점유되어 전체 IPC 하락 메모리 채널 슬롯 한계: CPU당 매핑할 수 있는 DDR5 물리 DIMM 슬롯 수가 메인보드 면적과 전기적 신호 무결성 문제로 제한됨 CXL 2.0 대 3.0 메모리 풀링 아키텍처 및 핵심 스펙 비교 찾아보니 은근히 헷갈리는 지점이 바로 CXL 버전별 패브릭 구성 능력과 트랜잭션 FLIT 패킷 구조의 차이였습니다. CXL Consortium의 발표 자료를 기준으로 스펙 차이를 정리하면 CXL 3.0은 단순 스위치 연결을 넘어 multi-level fabric으로 확장되었습니다. 구분 CXL 2.0 CXL 3.0 / 3.1 공식 발표일 2020년 11월 202...