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 1 | io + cache | SmartNIC, 자체 메모리 없는 가속기 | 호스트 메모리 캐싱 |
| Type 2 | io + cache + mem | GPU, FPGA 등 메모리 탑재 가속기 | 호스트-장치 메모리 상호 공유 |
| Type 3 | io + mem | 메모리 확장 장치(CXL 메모리 모듈) | 용량·대역폭 확장, 풀링 |
3. 버전별 특징
| 버전 | 주요 특징 |
|---|---|
| CXL 1.x | PCIe 5.0 기반, 호스트-장치 직접 연결 |
| CXL 2.0 | 스위칭 지원, 메모리 풀링, 보안(IDE) |
| CXL 3.x | PCIe 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. 갱신 · 틀린 내용을 발견하면 알려 주세요.