핵심 인사이트 (3줄 요약)
- 본질: 상호 연결망 (Interconnection Network)은 여러 프로세서와 메모리, 입출력 장치 사이의 데이터를 어떤 길로, 몇 단계 만에, 얼마나 동시에 보낼지를 결정하는 병렬 시스템의 교통 인프라다.
- 가치: 병렬 컴퓨터의 성능은 코어 수만으로 정해지지 않으며, 공유 버스의 병목을 넘어서 대역폭과 지연시간을 함께 관리하는 연결망 설계가 있어야 확장성이 생긴다.
- 판단 포인트: 좋은 연결망은 언제나 가장 빠른 구조가 아니라, 노드 수·배선 비용·라우팅 복잡도·장애 허용성을 함께 고려해 현재 규모에 맞는 토폴로지 (Topology)를 고르는 구조다.
Ⅰ. 개요 및 필요성
상호 연결망 (Interconnection Network)은 다중 프로세서 시스템에서 계산 자원들을 서로 이어 주는 통신 구조다. CPU (Central Processing Unit)나 메모리 뱅크가 많아질수록 문제는 "연산을 얼마나 빨리 하느냐"보다 "필요한 데이터를 제때 전달할 수 있느냐"로 옮겨간다. 즉 병렬 처리의 한계는 산술 연산기보다 길목에서 먼저 드러난다.
초기 SMP (Symmetric Multiprocessing) 시스템은 공유 버스 (Shared Bus) 하나로도 동작할 수 있었다. 하지만 프로세서 수가 늘어나면 같은 순간에 버스를 쓰려는 요청이 겹치고, 캐시 일관성 트래픽까지 몰리면서 대기 시간이 급격히 늘어난다. 코어를 추가했는데 처리량이 선형으로 늘지 않는 이유가 바로 이 통신 병목이다.
아래 그림은 왜 상호 연결망이 필요한지 보여준다. 핵심은 "연결 방식이 달라지면 동시에 가능한 통신 수가 달라진다"는 점이다.
┌──────────────────────────────────────────────────────────────────────┐
│ 공유 버스와 스위치드 연결망의 차이 │
├───────────────────────┬──────────────────────────────────────────────┤
│ (A) 공유 버스 │ (B) 스위치드 연결망 │
│ │ │
│ CPU0 ─┐ │ CPU0 ─┐ ┌─ Mem0 │
│ CPU1 ─┼─ Bus ── Mem │ CPU1 ─┼─ Switch├─ Mem1 │
│ CPU2 ─┤ │ CPU2 ─┼─ Fabric├─ Mem2 │
│ CPU3 ─┘ │ CPU3 ─┘ └─ Mem3 │
│ │ │
│ 동시 전송: 사실상 1개 │ 목적지가 다르면 여러 전송을 병렬로 처리 │
└───────────────────────┴──────────────────────────────────────────────┘
상호 연결망은 단순한 배선 집합이 아니라, 병렬성을 실제 성능으로 바꾸는 조건이다. 프로세서가 아무리 많아도 데이터를 보내는 길이 막히면 시스템은 빠른 엔진에 비해 도로가 너무 좁은 도시처럼 움직인다.
- 📢 섹션 요약 비유: 주방에 요리사 20명을 더 들여놔도 식당 복도가 하나뿐이면 음식이 테이블로 나가지 못한다. 상호 연결망은 요리사 수를 늘리는 기술이 아니라, 주방과 홀 사이의 동선을 다시 설계하는 기술이다.
Ⅱ. 아키텍처 및 핵심 원리
상호 연결망은 보통 노드 (Node), 링크 (Link), 스위치 (Switch), 라우터 (Router), 라우팅 알고리즘으로 설명한다. 노드는 연산이나 저장을 수행하는 끝점이고, 링크는 데이터를 실어 나르는 물리 경로이며, 스위치와 라우터는 패킷 또는 메시지가 어느 방향으로 나가야 하는지 결정한다. 이때 설계자는 지연시간, 대역폭, 배선 수, 확장성을 동시에 본다.
핵심 평가지표는 몇 가지로 정리된다. 지름 (Diameter)은 가장 먼 두 노드가 거치는 최대 홉 수라서 최악 지연시간의 감각을 준다. 차수 (Degree)는 한 노드가 직접 연결된 링크 수로, 배선 복잡도와 면적 비용을 반영한다. Bisection Bandwidth는 네트워크를 둘로 잘랐을 때 양쪽이 동시에 주고받을 수 있는 총량이어서, 대규모 병렬 처리의 집단 통신 성능을 보여 준다.
연결망은 크게 정적 직접 연결망과 동적 간접 연결망으로 나눠 볼 수 있다.
| 구분 | 대표 구조 | 핵심 특징 | 주된 트레이드오프 |
|---|---|---|---|
| 직접 연결망 | 링 (Ring), 메시 (Mesh), 토러스 (Torus), 하이퍼큐브 (Hypercube) | 노드가 이웃 노드와 직접 연결 | 배선은 비교적 절약되지만 홉 수 증가 |
| 간접 연결망 | 크로스바 스위치 (Crossbar Switch), MIN (Multistage Interconnection Network) | 중간 스위치 계층을 통해 연결 | 지연 제어가 쉽지만 스위치 설계 복잡 |
| 단일 공유 매체 | 공유 버스 | 구조 단순, 구현 저렴 | 병목과 확장성 한계가 큼 |
아래 그림은 직접 연결망과 간접 연결망이 병목을 처리하는 방식 차이를 압축해서 보여준다.
┌──────────────────────────────────────────────────────────────────────┐
│ 상호 연결망의 구조적 선택지 │
├────────────────────────────┬─────────────────────────────────────────┤
│ 직접 연결망 │ 간접 연결망 │
│ │ │
│ P0 ─ P1 ─ P2 ─ P3 │ P0 ─┐ ┌─ S0 ─┐ ┌─ M0 │
│ │ │ │ │ │ P1 ─┼──▶│ ├──▶│ │
│ P4 ─ P5 ─ P6 ─ P7 │ P2 ─┼──▶│ S1 ├──▶│ M1 │
│ │ P3 ─┘ └──────┘ └─ M2 │
│ 이웃을 거쳐 목적지로 이동 │ 스위치가 경로를 선택해 전달 │
└────────────────────────────┴─────────────────────────────────────────┘
결국 연결망 설계는 "선을 많이 깔아 홉을 줄일 것인가"와 "스위치를 적당히 두고 비용을 통제할 것인가"의 균형이다. 작은 시스템에서는 단순성이 이기고, 큰 시스템에서는 확장성이 이긴다. 이 균형 감각이 병렬 아키텍처의 핵심 원리다.
- 📢 섹션 요약 비유: 모든 집을 1:1 전용 도로로 연결하면 가장 빠르지만 도시 예산이 감당하지 못한다. 그래서 실제 도시는 골목, 간선도로, 고속도로를 적절히 섞듯이 상호 연결망도 비용과 속도를 섞어 설계한다.
Ⅲ. 비교 및 연결
상호 연결망을 이해하려면 대표 토폴로지들의 경계를 함께 봐야 한다. 공유 버스는 가장 단순하지만 동시에 한 흐름만 강하게 지원하므로 노드 수가 늘수록 병목이 빠르게 드러난다. 크로스바 스위치 (Crossbar Switch)는 목적지가 다르면 거의 이상적인 병렬 전송을 허용하지만 스위치 수가 대체로 $O(N^2)$ 수준으로 늘어나 대규모 시스템에 부담이 된다.
반면 메시 (Mesh)나 토러스 (Torus)는 노드당 연결 수를 일정하게 유지해 확장성을 확보한다. 대신 멀리 떨어진 노드끼리는 여러 홉을 거쳐야 하므로 평균 지연시간이 늘고, 라우팅 알고리즘과 트래픽 분산 정책이 중요해진다. MIN (Multistage Interconnection Network)은 이 둘의 중간 지점에서 스위치를 단계적으로 쌓아 비용과 성능을 절충한다.
| 항목 | 공유 버스 | 크로스바 스위치 | 메시 / 토러스 | 다단 연결망 |
|---|---|---|---|---|
| 동시성 | 낮음 | 매우 높음 | 높음 | 중간~높음 |
| 평균 홉 수 | 낮지만 대기 큼 | 매우 낮음 | 중간 | 중간 |
| 배선/스위치 비용 | 낮음 | 매우 높음 | 중간 | 중간 |
| 확장성 | 낮음 | 제한적 | 높음 | 높음 |
| 대표 적용 | 소규모 공유 시스템 | 소규모 고성능 스위치 | NoC, GPU (Graphics Processing Unit), 대규모 칩 | 대형 병렬 컴퓨터 |
이 개념은 다른 과목과도 직접 연결된다. NUMA (Non-Uniform Memory Access) 시스템에서는 어떤 프로세서가 어떤 메모리에 접근하느냐에 따라 연결망 경로 길이가 달라져 성능 차이가 생긴다. NoC (Network-on-Chip)는 칩 내부 코어 수가 커지면서 네트워크 개념을 칩 위로 끌어온 사례이고, 클러스터 컴퓨팅에서는 InfiniBand 같은 고속 패브릭이 MPI (Message Passing Interface) 성능을 좌우한다.
즉 상호 연결망은 단순히 병렬처리 단원 안에만 있는 개념이 아니다. 메모리 계층, 캐시 일관성, 칩렛 (Chiplet) 구조, 데이터센터 패브릭까지 이어지는 공통 뼈대다. 규모만 달라질 뿐, "어떤 경로로 데이터를 보내고 병목을 어디서 흡수할 것인가"라는 질문은 동일하다.
- 📢 섹션 요약 비유: 버스는 한 줄 서기 매표소, 크로스바는 VIP 전용 통로, 메시는 블록마다 이어진 도시 도로망에 가깝다. 상황에 따라 가장 좋은 길이 다르다는 점이 상호 연결망 비교의 핵심이다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서 상호 연결망은 교과서 그림보다 더 구체적인 선택 문제로 나타난다. "코어를 더 붙일 것인가"보다 먼저 "현재 연결망이 그 트래픽 패턴을 감당하는가"를 물어야 한다. 예를 들어 데이터 공유가 빈번한 멀티소켓 서버는 원격 메모리 접근 비용과 캐시 일관성 메시지량을 함께 보아야 하고, AI (Artificial Intelligence) 학습 클러스터는 집단 통신이 많아 Bisection Bandwidth가 낮은 구조를 피해야 한다.
판단 기준은 트래픽의 모양을 먼저 파악하는 데서 시작한다. 인접 노드끼리 주로 통신하면 메시 계열이 유리하고, 특정 순간에 모든 노드가 서로 데이터를 교환하는 All-to-All 패턴이 많으면 상위 계층 대역폭이 두꺼운 구조가 필요하다. 비용을 아끼겠다고 오버서브스크립션 (Oversubscription)을 과도하게 높이면, 시스템 전체가 CPU보다 네트워크를 기다리는 상태가 된다.
설계 체크포인트
- 노드 수가 증가할 때 평균 홉 수와 배선 비용이 어떻게 증가하는가?
- 캐시 일관성, 메모리 접근, 집단 통신 중 어떤 트래픽이 가장 지배적인가?
- 장애가 났을 때 우회 경로를 가질 수 있는가, 아니면 단일 경로에 묶여 있는가?
- 칩 내부라면 면적과 전력, 랙 단위라면 포트 수와 상위 스위치 대역폭을 감당할 수 있는가?
대표 안티패턴
- 코어 수만 보고 고사양으로 판단하고, 실제 NUMA 거리와 링크 수를 확인하지 않는 경우
- GPU 클러스터를 구성하면서 스위치 포트 속도만 보고 내부 패브릭 용량을 보지 않는 경우
- 칩렛 구조에서 칩 간 인터커넥트 대역폭을 과소평가해 메모리 병목을 만드는 경우
기술사 답안 관점에서도 포인트는 같다. 상호 연결망의 선택은 "최고 성능 구조 채택"이 아니라, 요구되는 통신 패턴과 확장 규모에 맞는 토폴로지를 설명하는 것이다. 즉 정답은 하나가 아니라, 병목 위치를 설명하고 왜 해당 구조가 적절한지 근거를 대는 데 있다.
- 📢 섹션 요약 비유: 물류센터를 설계할 때 지게차 수만 늘린다고 해결되지 않는다. 어떤 창고에서 어떤 출구로 물건이 몰리는지 보고 통로 폭과 분기 구조를 정해야 실제 처리량이 올라간다.
Ⅴ. 기대효과 및 결론
잘 설계된 상호 연결망은 병렬 시스템의 확장성을 실제 성능으로 바꿔 준다. 프로세서를 추가할수록 처리량이 더 자연스럽게 증가하고, 메모리 접근 지연의 편차도 줄어들며, 집단 통신의 병목도 관리 가능해진다. 결국 연결망은 "연산 자원 증설의 수익률"을 결정하는 요소다.
물론 한계도 분명하다. 저지연 구조는 대개 배선과 스위치 비용이 크고, 저비용 구조는 홉 수와 혼잡 관리 부담이 커진다. 따라서 어떤 연결망도 절대적으로 우월하지 않으며, 시스템 규모가 커질수록 라우팅 정책·흐름 제어·혼잡 회피 같은 운영 기법까지 함께 설계해야 한다.
미래 방향은 세 가지로 요약할 수 있다. 첫째, 칩 내부는 NoC와 칩렛 패브릭 중심으로 더 세분화된다. 둘째, 서버와 가속기 사이는 CXL (Compute Express Link) 같은 고속 메모리 지향 인터커넥트로 결합이 강화된다. 셋째, 장기적으로는 광 인터커넥트와 적응형 라우팅이 배선 지연과 전력 한계를 완화하는 방향으로 발전할 가능성이 높다.
결론적으로 상호 연결망은 "프로세서를 잇는 배선"으로 외우면 부족하다. 병렬 컴퓨터가 커질수록 더 중요한 것은 계산기 개수가 아니라, 그 계산기들이 서로 얼마나 질서 있게 데이터를 주고받을 수 있느냐는 관점으로 기억해야 한다.
- 📢 섹션 요약 비유: 좋은 도시가 건물 높이만으로 결정되지 않듯이, 좋은 병렬 시스템도 코어 수만으로 결정되지 않는다. 결국 도시의 경쟁력은 길의 질서에서 나오고, 병렬 컴퓨터의 경쟁력은 상호 연결망의 질서에서 나온다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 공유 버스 (Shared Bus) | 상호 연결망이 등장하게 만든 초기 병목 구조 |
| 크로스바 스위치 (Crossbar Switch) | 낮은 지연과 높은 동시성을 제공하는 대표 간접 연결망 |
| 메시 (Mesh) 토폴로지 | 다코어 칩과 GPU에서 널리 쓰이는 확장형 직접 연결망 |
| NUMA (Non-Uniform Memory Access) | 연결망 경로 길이에 따라 메모리 접근 비용이 달라지는 구조 |
| NoC (Network-on-Chip) | 네트워크 개념을 칩 내부로 축소해 적용한 현대 병렬 아키텍처 |
| RDMA (Remote Direct Memory Access) | 클러스터 환경에서 연결망 지연을 줄이기 위한 고속 데이터 전달 방식 |
📈 관련 키워드 및 발전 흐름도
공유 버스 기반 다중 처리
│
▼
크로스바 스위치 (Crossbar Switch)
│
├──────────────▶ 다단 연결망 (MIN, Multistage Interconnection Network)
│
▼
메시 (Mesh) · 토러스 (Torus) · 하이퍼큐브 (Hypercube)
│
▼
NoC (Network-on-Chip) · NUMA · 칩렛 패브릭
│
▼
CXL (Compute Express Link) · 광 인터커넥트 · 적응형 라우팅
이 흐름은 "단순 공유 → 스위치 기반 분리 → 확장형 토폴로지 → 칩 내부 네트워크화 → 차세대 고속 링크"로 상호 연결망이 진화하는 방향을 보여 준다.
👶 어린이를 위한 3줄 비유 설명
- 상호 연결망은 컴퓨터 안에 있는 많은 똑똑한 친구들이 서로 편지를 주고받는 길이에요.
- 길이 하나뿐이면 모두 줄을 서야 하지만, 길이 여러 갈래면 동시에 여기저기 편지를 보낼 수 있어요.
- 그래서 컴퓨터를 더 크게 만들수록, 친구 수보다 길을 얼마나 잘 설계했는지가 더 중요해진답니다.