CXL(Compute Express Link)

Compute Express Link

PCIe 물리 계층 위에서 CPU와 가속기·메모리 장치 간 캐시 일관성(Cache Coherence)을 유지하며 고속·저지연으로 메모리를 공유·확장할 수 있게 하는 개방형 인터커넥트 표준임.

핵심 키워드

PCIe 물리 계층 기반CXL.ioCXL.cacheCXL.memType 1·2·3 장치캐시 일관성메모리 확장(Memory Expansion)메모리 풀링(Pooling)·공유(Sharing)CXL 스위치·패브릭

암기: Type 1 = io+cache, Type 2 = io+cache+mem, Type 3 = io+mem

구성도

정리

1. 개요

  • 배경: AI·데이터 분석 등으로 메모리 용량·대역폭 수요 급증, CPU당 메모리 채널 수 제한(메모리 월)
  • 문제: 서버별 메모리 고정 할당으로 유휴 메모리(Stranded Memory) 발생, CPU-가속기 간 데이터 복사 오버헤드
  • 필요성: 이기종 장치 간 일관성 있는 메모리 공유, 메모리 확장·분리(Disaggregation)
  • 추진: Intel 주도로 시작, CXL 컨소시엄에서 표준화

2. 구성 및 원리

  • 3개 프로토콜
    • CXL.io: PCIe 기반 장치 탐색·설정·DMA·인터럽트 (모든 장치 필수)
    • CXL.cache: 장치가 호스트 메모리를 일관성 있게 캐싱
    • CXL.mem: 호스트가 장치에 부착된 메모리를 Load/Store로 접근
  • 장치 유형
유형프로토콜대표 장치용도
Type 1io + cacheSmartNIC, 자체 메모리 없는 가속기호스트 메모리 캐싱
Type 2io + cache + memGPU, FPGA 등 메모리 탑재 가속기호스트-장치 메모리 상호 공유
Type 3io + mem메모리 확장 장치(CXL 메모리 모듈)용량·대역폭 확장, 풀링

3. 버전별 특징

버전주요 특징
CXL 1.xPCIe 5.0 기반, 호스트-장치 직접 연결
CXL 2.0스위칭 지원, 메모리 풀링, 보안(IDE)
CXL 3.xPCIe 6.0 기반 대역폭 향상, 멀티레벨 스위칭·패브릭, 호스트 간 메모리 공유
  • PCIe 대비: PCIe는 일관성 없는 I/O 중심, CXL은 캐시 일관성 + 메모리 시맨틱 제공
  • 메모리 풀링 vs 공유: 풀링은 메모리 영역을 여러 호스트에 동적 할당(한 시점 한 호스트), 공유는 동일 영역을 여러 호스트가 동시 접근

4. 고려사항 및 최신 동향

  • 지연시간: 로컬 DRAM보다 접근 지연이 길어 NUMA 노드처럼 관리 → OS 메모리 티어링(Tiering)·핫/콜드 페이지 배치 필요
  • 소프트웨어: OS·하이퍼바이저의 CXL 메모리 인식, 패브릭 관리자 필요
  • 보안·신뢰성: 링크 암호화(IDE), 메모리 장치 장애 시 영향 범위(Blast Radius) 관리
  • 동향: CXL 메모리 확장 모듈 상용화, AI 서버의 메모리 용량 확장 수단으로 주목, 메모리 내 연산(PIM/PNM)과 결합 연구

함께 볼 토픽

v1 · 2026. 10. 19. 갱신 · 틀린 내용을 발견하면 알려 주세요.