핵심 인사이트 (3줄 요약)
- 본질: PCIe 스위치 패브릭(PCIe Switch Fabric)은 단일 루트 컴플렉스(Root Complex)의 포트 제한을 넘어 수많은 입출력 장치를 트리(Tree) 또는 메시(Mesh) 구조로 연결하고 데이터를 중재하는 고속 상호연결 인프라이다.
- 가치: 장치 간 직접 통신(P2P)을 지원하여 CPU 부하를 줄이고, NTB(Non-Transparent Bridge) 기술을 통해 멀티 호스트 간의 자원 공유 및 고가용성 클러스터 구성을 가능하게 한다.
- 판단 포인트: 현대의 AI 및 HPC 서버에서는 대역폭(Gen 5/6)뿐만 아니라 스위치 계층 통과 시 발생하는 홉(Hop) 지연 시간과 레인 분할(Lane Bifurcation) 효율성을 최적으로 설계해야 한다.
Ⅰ. 개요 및 필요성
1.1 입출력 확장의 한계: 포인트 투 포인트의 역설
PCI Express(PCIe)는 기본적으로 점대점(Point-to-Point) 연결 방식입니다. CPU(Root Complex)가 제공하는 PCIe 레인(Lane)의 수는 한정되어 있어, 수십 개의 NVMe SSD나 여러 장의 고성능 GPU를 직접 연결하기에는 물리적 포트가 부족합니다. 이를 해결하기 위해 등장한 것이 **PCIe 스위치(Switch)**입니다.
1.2 왜 스위치 패브릭인가?
- 확장성 (Scalability): 하나의 업스트림 포트를 여러 개의 다운스트림 포트로 분기하여 장치 연결 개수를 획기적으로 늘립니다.
- 효율성 (Efficiency): CPU를 거치지 않고 장치와 장치가 직접 데이터를 주고받는 P2P(Peer-to-Peer) 통신을 지원하여 시스템 버스 혼잡을 막습니다.
- 유연성 (Flexibility): 동적으로 레인을 할당(Bifurcation)하거나, 서로 다른 호스트가 자원을 공유하는 복잡한 위상(Topology)을 구성할 수 있습니다.
1.3 PCIe 스위치 패브릭의 사명
단순히 "장치를 더 많이 꽂는 것"을 넘어, 데이터 센터 규모에서 자원을 유동적으로 배분하고(Composable HW), 장치 간 데이터 전송의 고속도로를 뚫어줌으로써 시스템 전체의 I/O 처리량(Throughput)을 극대화하는 것입니다.
- 📢 섹션 요약 비유: PCIe 스위치 패브릭은 거대 도시의 고가도로 및 입체 교차로 시스템과 같습니다. CPU라는 도심으로 모든 차가 몰리지 않게 외곽 순환 도로(P2P)를 뚫어주고, 나들목(Switch Port)을 만들어 더 많은 마을(장치)을 연결하는 것과 같습니다.
Ⅱ. 아키텍처 및 핵심 원리
2.1 PCIe 패브릭의 계층적 구조
PCIe 스위치는 내부적으로 가상 PCI-to-PCI 브리지들의 집합체로 동작합니다.
┌──────────────────────────────────────────────────────────────────────────────┐
│ PCIe 스위치 패브릭 (Switch Fabric) 상세 위상 │
├──────────────────────────────────────────────────────────────────────────────┤
│ │
│ [ Host CPU / Root Complex ] │
│ │ │
│ ▼ [ Upstream Port ] │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ PCIe Switch │ │
│ │ ┌──────────────────────────────────────────────────────────┐ │ │
│ │ │ Virtual PCI Bus (Internal Fabric) │ │ │
│ │ └──────────────────────────────────────────────────────────┘ │ │
│ │ ▼ [ Downstream ] ▼ [ Downstream ] ▼ [ NTB ] │ │
│ └─────┬─────────────────────┬─────────────────────┬──────────────┘ │
│ │ │ │ │
│ ┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐ │
│ │ GPU / ACC │ │ NVMe SSD │ │ Second │ │
│ │ (Endpoint)│ │ (Endpoint)│ │ Host CPU │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ ▲ │ │
│ └─────── P2P DMA ─────┘ (CPU를 거치지 않는 직접 전송) │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
2.2 핵심 구성 기술 분석
-
Transaction Layer Packet (TLP) Switching:
- 스위치는 패킷의 주소(Address)나 ID를 기반으로 목적지를 판별하여 해당 포트로 라우팅합니다. 'Store-and-Forward' 혹은 'Cut-Through' 방식을 사용하여 지연 시간을 조절합니다.
-
Non-Transparent Bridge (NTB):
- 일반적인 브리지는 모든 장치를 하나의 호스트 주소 공간에 노출하지만, NTB는 두 호스트 시스템 사이에서 주소를 번역(Translation)하여 격리합니다. 이를 통해 멀티 호스트 공유가 가능해집니다.
-
Lane Bifurcation (레인 분할):
- x16 포트를 x8+x8 혹은 x4+x4+x4+x4 형태로 나누어 장치 특성에 맞게 대역폭을 쪼개 쓰는 기술입니다.
2.3 P2P (Peer-to-Peer) 전송의 원리
장치 A가 장치 B의 주소로 데이터를 보낼 때, 스위치는 이 요청이 상위 Root Complex로 갈 필요가 없음을 인지하고 즉시 옆 포트로 돌려보냅니다. 이는 메모리 버스 대역폭을 아끼고 CPU 인터럽트 발생을 억제하는 핵심 메커니즘입니다.
- 📢 섹션 요약 비유: NTB는 서로 다른 나라(호스트) 사이에 세운 '통역소가 있는 검문소'와 같습니다. 상대방의 내부 사정(주소 체계)은 모르더라도 필요한 물자(데이터)는 안전하게 주고받을 수 있게 해줍니다.
Ⅲ. 비교 및 연결
3.1 직접 연결(Direct Connect) vs 스위치 패브릭 연결
| 항목 | 직접 연결 (Direct) | 스위치 패브릭 (Switch) |
|---|---|---|
| 연결 장치 수 | CPU 레인 수로 제한 | 수백 개까지 확장 가능 |
| 지연 시간 (Latency) | 최저 (직접 연결) | 추가 지연 발생 (100ns~200ns) |
| P2P 효율 | CPU 경유로 인해 낮음 | 스위치 내부 처리로 매우 높음 |
| 비용 | 낮음 (추가 부품 없음) | 높음 (스위치 칩셋 필요) |
| 가용성 | 단일 장애점 (Single Point) | 다중 경로 구성 가능 |
3.2 PCIe 스위치 vs 네트워크 스위치 (Ethernet/InfiniBand)
- PCIe 스위치: 로컬 버스의 확장입니다. 지연 시간이 매우 짧고(나노초 단위), CPU 주소 공간에 직접 매핑됩니다.
- 네트워크 스위치: 독립된 노드 간의 통신입니다. 지연 시간이 길고(마이크로초 단위), 통신 프로토콜 스택(TCP/IP 등)을 거쳐야 합니다.
3.3 CXL (Compute Express Link)과의 관계
CXL은 PCIe Gen 5 물리 계층을 사용하지만, 스위칭 방식이 더 고도화되어 있습니다. PCIe 스위치가 단순히 패킷을 전달한다면, CXL 스위치는 메모리 일관성(Coherence)을 유지하면서 자원을 동적으로 풀링(Pooling)하는 더 지능적인 역할을 수행합니다.
- 📢 섹션 요약 비유: 직접 연결이 집 앞마당 주차라면, 스위치 패브릭은 거대한 기계식 주차 타워와 같습니다. 주차하는 데 시간(Latency)은 조금 더 걸리지만, 훨씬 많은 차(장치)를 관리할 수 있습니다.
Ⅳ. 실무 적용 및 기술사 판단
4.1 오버헤드와 홉(Hop) 카운트의 관리
기술사 관점에서 스위치 도입 시 가장 경계해야 할 것은 지연 시간의 누적입니다.
- 문제: 스위치를 다단계(Cascading)로 연결하면 패킷이 거쳐야 하는 홉이 늘어나고 지연 시간이 누적됩니다.
- 해결: 계층 구조를 최대한 평탄하게(Flat) 가져가거나, 지연 시간에 민감한 장치(GPU)는 CPU에 가까운 상위 스위치에 배치해야 합니다.
4.2 Composable Infrastructure의 핵심
최근 데이터 센터에서는 조립형 인프라가 대두되고 있습니다. PCIe 스위치를 통해 호스트와 분리된 GPU 박스, SSD 박스를 네트워크처럼 연결하고, 필요할 때마다 소프트웨어로 특정 서버에 할당하는 방식입니다. 여기서 스위치의 성능과 안정성은 전체 서비스의 품질을 결정합니다.
4.3 기술사 관점의 설계 체크리스트
- 대역폭 포화(Oversubscription): 업스트림 x16 포트 하나에 다운스트림 x4 장치 8개를 달면 2:1의 오버서브스크립션이 발생합니다. 워크로드가 동시에 대역폭을 쓰는지 체크했는가?
- 열 설계 (Thermal): 고속 PCIe 스위치 칩은 전력 소모가 상당합니다(최대 50W 이상). 적절한 방열 설계가 되어 있는가?
- 에러 격리 (AER): 한 장치에서 발생한 PCIe 에러가 스위치를 타고 시스템 전체(Kernel Panic)로 번지지 않도록 격리(Isolation) 기능이 설정되어 있는가?
- 📢 섹션 요약 비유: 오버서브스크립션은 8차선 도로(다운스트림)가 갑자기 2차선 터널(업스트림)로 좁아지는 병목 구간과 같습니다. 교통량(트래픽) 조절이 필수입니다.
Ⅴ. 기대효과 및 결론
5.1 기대효과
- I/O 병목 해소: P2P 전송을 통한 시스템 전체 데이터 흐름의 효율화.
- 하드웨어 활용도 극대화: 노는 GPU나 SSD를 여러 서버가 나눠 쓰는 자원 풀링 실현.
- 유연한 시스템 구성: 서버 물리 구조를 바꾸지 않고도 논리적으로 사양을 변경할 수 있는 민첩성 제공.
5.2 미래 전망: 광학 PCIe 패브릭 (Optical PCIe)
전기적 신호의 한계로 인해 PCIe 레인 길이는 점점 짧아지고 있습니다. 미래에는 PCIe 스위치와 장치 사이를 광케이블로 잇는 Optical PCIe가 대세가 될 것입니다. 이는 랙(Rack) 단위를 넘어 데이터 센터 전체를 하나의 거대한 PCIe 패브릭으로 묶는 혁신을 가져올 것입니다.
5.3 결론
PCIe 스위치 패브릭은 현대 고성능 컴퓨팅 아키텍처의 중추 신경계입니다. 단순히 장치를 연결하는 선(Wire)이 아니라, 데이터를 지능적으로 라우팅하고 자원을 관리하는 시스템 그 자체로 진화했습니다. 아키텍트라면 PCIe의 물리적 특성부터 NTB와 같은 논리적 기법까지 깊이 이해하여, 병목 없는 탄탄한 데이터 인프라를 구축해야 합니다.
- 📢 섹션 요약 비유: PCIe 스위치 패브릭은 컴퓨터 내부의 '지하철 노선도'입니다. 복잡하게 얽혀 있지만, 가장 빠른 경로로 승객(데이터)을 실어 나르며 도시(시스템)를 살아 움직이게 만드는 핵심 기반 시설입니다.
📌 관련 개념 맵
| 관련 개념 | 연결 핵심 포인트 | 설명 |
|---|---|---|
| Root Complex | 패브릭의 뿌리 | PCIe 계층 구조의 최상단, CPU와 메모리를 연결 |
| NTB | 호스트 간 연결 | 주소 번역을 통해 서로 다른 시스템을 안전하게 잇는 다리 |
| P2P DMA | 효율적 전송 | CPU 개입 없이 장치끼리 데이터를 직접 주고받는 기술 |
| Bifurcation | 물리적 유연성 | 포트의 레인을 동적으로 쪼개어 여러 장치를 지원하는 기술 |
| AER (Advanced Error Reporting) | 안정성 | 패브릭 내에서 발생하는 오류를 정교하게 감지하고 보고함 |
👶 어린이를 위한 3줄 비유 설명
- PCIe 스위치는 컴퓨터 안에 있는 '멀티탭'이나 '허브'와 같아요.
- 구멍(포트)이 모자랄 때 스위치를 꽂으면 더 많은 게임기(GPU)와 저장 장치(SSD)를 연결할 수 있답니다.
- 특히 친구들끼리 물건을 주고받을 때 엄마(CPU)를 거치지 않고 직접 주고받을 수 있게 도와주는 똑똑한 길잡이 역할도 해요!