본문으로 건너뛰기
CXL 4.0 Internals · 13/15

Ch 13: Switching·Fabric Manager — 2.0 pooling에서 3.x fabric까지

· Hawk · 10분 읽기

#한 줄 요약

“CXL switch는 2.0의 single-level fan-out에서 3.x의 multi-level fabric + PBR + GFAM까지 진화했고, Fabric Manager가 out-of-band control plane으로 모든 운용 결정을 합니다.” — Switch 내부는 port table·routing·QoS 정책으로 구성되고, FM은 MCTP·DCD 같은 보조 프로토콜로 runtime 자원 재할당을 수행합니다. Composable Datacenter의 핵심 인프라입니다.

Ch 4 Pooling·GFAM에서 CXL 2.0·3.x fabric의 개념을 봤습니다. 이 장은 그 토폴로지의 control planeswitch 내부 동작과 Fabric Manager를 본격 분해합니다.

#CXL Switch — 진화 단계

세대Switch 능력
CXL 2.0Single-level switch, fan-out, multi-LD pooling
CXL 3.0Multi-level switch, PBR, fabric, GFAM, P2P
CXL 3.1Direct P2P CXL.mem, TSP 통합
CXL 3.2DCD enhancements, hotness monitoring
CXL 4.0Bundled Port awareness, x2 native, 4 retimer 지원

각 세대의 추가 능력switch firmware의 복잡도를 단계적으로 키웠습니다.

#Switch Internal — Port Table

Switch의 기본 자료 구조:

요소의미
Port tableupstream·downstream port 목록
Routing tableSPA → 목적지 port 매핑
LD allocationlogical device를 어느 host에 할당
QoS policyport·flow class별 우선순위
Health stateport·device 상태 추적

이 정보들이 switch firmware의 메모리에 보관되고 runtime에 update 됩니다.

#Routing — HBR vs PBR

CXL switch의 라우팅 결정 주체세대별로 다릅니다.

모델결정 주체적용
HBR (Host-Based Routing)Host1-hop switch, 작은 토폴로지
PBR (Port-Based Routing)Switchmulti-hop fabric, 대규모

HBR은 host의 메모리 컨트롤러가 모든 routing 정보를 알아야 합니다. 대규모 fabric에서 비현실적. PBR은 switch가 라우팅 결정하므로 multi-level fabric이 실용적.

PBR의 deadlock 회피fabric topology에 의존:

TopologyDeadlock-free적용
ClosYes (잘 정의된 layer)대표적 fabric
DragonflyYes (with VCs)HPC fabric
Fat-treeYes데이터센터
Arbitrary meshNo위험

#Switching·Pooling 흐름

CXL 2.0 Multi-Host Pooling 흐름 (구체적 단계):

단계동작
1Boot 시 Fabric Manager가 switch·device topology 탐색
2디바이스 LD 분할 (예: 2 TB → 512 GB × 4 LD)
3Host A·B·C가 enumeration 진행
4Fabric Manager가 LD0 → Host A·LD1 → Host B·LD2 → Host C 할당 결정
5Switch routing table 업데이트
6각 Host가 자기 LD를 CEDT로 인식, region 생성
7Runtime에 워크로드 변화 — Fabric Manager가 LD3을 Host A에 추가 할당
8Switch routing 업데이트 후 hot-plug 이벤트 발생 → Host A의 driver가 인식

동적 재할당이 CXL 2.0 pooling의 핵심 가치입니다.

#Fabric Manager — Out-of-band Control Plane

FMCXL 데이터 평면 (link traffic)과 분리된 control channel입니다.

책임역할
Topology discovery모든 switch·device 등록·인식
LD allocationhost별 메모리 할당·해제·migration
Hot-plugdevice 추가·제거 처리
Health monitoringRAS 이벤트 수집·정책 적용
Security policieshost별 권한·access control
QoS configurationport·flow별 우선순위

FM은 별도 네트워크 또는 전용 BMC link로 동작. 데이터 평면과 분리되어 FM 다운에도 기존 할당은 동작하지만 동적 재할당은 정지합니다.

#MCTP — Management Component Transport Protocol

*MCTP (DSP0236)*는 DMTF 표준으로 FM↔switch·FM↔device 통신에 사용됩니다.

항목의미
정의DMTF DSP0236
TransportI2C·SMBus·PCIe·USB 등 다양
용도management message exchange
CXL 사용FM ↔ switch firmware, FM ↔ device CCI

MCTP 위에 SPDM·CMA·FM-specific command set가 흐릅니다. Out-of-band 채널이므로 데이터 평면 영향 없음.

#DCD — Dynamic Capacity Device

DCD는 CXL 3.x의 runtime capacity 재할당 메커니즘입니다.

항목의미
능력Device의 capacity를 runtime에 추가·제거
적용Memory expander, multi-LD pool
TriggerFM이 workload demand에 따라 결정
메커니즘DCD mailbox command + hot-plug event

운영 흐름:

시점동작
t1Host A 워크로드 시작, 512 GB 요청
t2FM이 pool에서 512 GB capacity 확보
t3Switch가 Host A의 region에 capacity 추가 (DCD add)
t4Host A의 region size 증가 인식
t5워크로드 종료, capacity 회수 (DCD remove)
t6FM이 capacity를 pool로 반환

DCD가 있어야 진짜 elastic memory pool이 가능. 2.0 pooling은 LD 단위 정적이지만 3.x DCD는 fine-grained dynamic.

#Hot-plug 흐름

Switch의 device hot-add 처리:

단계동작
1새 device가 switch downstream port에 attach
2Switch가 PCIe hot-plug event 발생
3Switch firmware가 FM에 device discovery 보고 (MCTP)
4FM이 device capability·LD topology 확인
5Routing table에 새 device 등록
6필요 시 host 측 hot-plug interrupt trigger
7Host kernel이 device enumeration·driver attach

Hot-remove는 역순 + device offline 단계.

#Switch Firmware의 복잡도

CXL switch는 PCIe switch보다 훨씬 복잡한 firmware를 요구합니다.

영역복잡도
RoutingPBR + deadlock 회피
QoSper-port·per-flow 우선순위
LD managementdynamic allocation·DCD
SecurityTSP·IDE·SPDM 통합
RASerror containment·viral propagation prevention
TelemetryFM에 status reporting

firmwarevendor 차별화의 핵심입니다. Switch chip 자체는 일반화되어도 firmware의 운용 효율production 성능 차이를 만듭니다.

#실 사례 — CXL Switch 제품

CXL Consortium·각 벤더 공개 자료 기준:

회사제품군비고
MarvellCXL Switchdatacenter focus
Astera LabsCosmossmart memory + switch
MicrochipPCIe·CXL switch seriesenterprise PCIe→CXL extension
XConnCXL 3.0 fabric switchhigh-port-count fabric

2024~2025 양산 시작. 2026+에 본격 hyperscale 도입 예상.

#자주 하는 실수

#”Switch가 다 같다”

Vendor·firmware마다 매우 다름. Port 수·routing 정책·DCD 지원 여부·security feature제품별 차이. 데이터시트 비교 필수.

#”Fabric Manager는 자동”

Vendor·플랫폼별 다른 FM. Open source FM (DMTF Redfish 기반)·vendor-specific FM. 상호 운용성에 한계. fabric 전체를 한 vendor로 통일하는 게 일반적.

#”PBR이면 어떤 topology든 OK”

Deadlock-free topology 만이 안전. 임의 mesh는 위험. Clos·Dragonfly·Fat-tree 같은 검증된 topology 사용.

#”DCD를 host가 직접 control”

FM이 control plane이고 host는 hot-plug event 수신. host의 driverDCD 자체를 trigger 안 함. FM API가 진입점.

#”MCTP가 빠르다”

Out-of-band control 채널이라 slow path. bulk dataCXL link로, config·status·control만 MCTP. 수십 ms latency 일반.

#정리

  • CXL switch는 2.0 single-level → 3.x multi-level fabric으로 진화. PBR이 multi-hop fabric의 핵심.
  • Switch internalport table·routing·QoS·LD allocation. firmware 복잡도 매우 높음.
  • Fabric Managerout-of-band control plane. allocation·hot-plug·health·security·QoS 담당.
  • MCTP가 FM↔switch·FM↔device의 management channel. SPDM·CMA·FM command 위에 흐름.
  • DCDruntime capacity 재할당. true elastic memory pool 가능.
  • Vendor 제품: Marvell·Astera·Microchip·XConn 등. 2024~2025 양산, 2026+ hyperscale.

#다음 편

Ch 14: Security — IDE·SPDM·TSP·CXL TEE에서 CXL 보안 메커니즘 4종fabric 환경의 confidential computing을 본격적으로 분해합니다.

#관련 항목

#시리즈 자료 출처 안내

본 글은 CXL Consortium·DMTF·각 switch 벤더 공개 자료를 1차 자료로 합니다. CXL 4.0 Specification은 § navigation aid로만 인용. 자세한 spec 인용 정책은 Ch 1 footer 참고.