HBM(High Bandwidth Memory)과 CXL(Compute Express Link)은 고성능 컴퓨팅 환경에서 중요한 역할을 하며, 각각 메모리와 데이터 전송을 최적화하는 기술입니다. 이들은 대체 관계가 아니며, 서로 보완적인 역할을 합니다. HBM은 고속 메모리 솔루션으로, 대역폭이 중요한 작업에 사용됩니다. 반면 CXL은 데이터 전송 인터페이스로, CPU와 가속기, 메모리 간의 효율적인 데이터 흐름을 가능하게 합니다. 두 기술은 함께 사용되어 컴퓨팅 성능을 극대화할 수 있습니다.


1. HBM과 CXL의 기본 개념

HBM(High Bandwidth Memory)

HBM은 고대역폭 메모리 기술로, 데이터 전송 속도와 대역폭을 극대화하기 위해 설계되었습니다. 기존 DRAM과 달리 HBM은 여러 메모리 칩을 수직으로 쌓아 3D 구조를 이루며, 이를 통해 데이터 전송 속도와 대역폭을 크게 개선할 수 있습니다.

HBM의 주요 특징:

  • 높은 대역폭: HBM은 256GB/s 이상의 대역폭을 제공하며, 이는 일반적인 DRAM보다 수십 배 빠른 속도를 자랑합니다.
  • 전력 효율성: HBM은 메모리 대역폭을 높이면서도 전력 소비를 상대적으로 적게 유지합니다.
  • 집적도: 여러 메모리 모듈이 수직으로 쌓여 있어서 공간 효율성이 뛰어납니다.

CXL(Compute Express Link)

CXL은 고속 데이터 전송 인터페이스 기술로, CPU, GPU, FPGA, 그리고 메모리와 같은 다양한 컴퓨팅 자원 간의 연결을 효율적으로 관리합니다. CXL은 PCIe를 기반으로 한 기술이지만, 데이터의 일관성을 유지하면서 더 빠르고 유연한 통신을 가능하게 합니다.

CXL의 주요 특징:

  • 저지연성: CXL은 매우 빠른 데이터 전송을 지원하며, 저지연성 특성을 가지고 있어 실시간 성능이 중요한 애플리케이션에 적합합니다.
  • 다양한 장치 간의 호환성: CXL은 CPU와 가속기(GPU, FPGA 등), 그리고 메모리 사이의 통신을 최적화하는 데 중점을 둡니다.
  • 유연한 메모리 아키텍처 지원: CXL은 메모리와 캐시의 일관성을 유지하면서도 다양한 장치 간에 동적으로 메모리 자원을 할당할 수 있는 기능을 제공합니다.

2. HBM과 CXL의 차이점과 역할

기술적 차이점

HBM과 CXL은 고성능 컴퓨팅에서 중요한 역할을 하지만, 그 역할은 서로 다릅니다.

  • HBM은 고대역폭 메모리 기술로, 메모리 자체의 속도와 대역폭을 최적화합니다. 주로 대규모 데이터 처리나 머신러닝, 고급 그래픽 렌더링 등 대역폭을 많이 요구하는 작업에 사용됩니다.
  • CXL은 컴퓨팅 자원 간 데이터 전송을 최적화하는 인터페이스 기술로, 특히 CPU와 가속기 간의 데이터 흐름을 원활하게 만듭니다. CXL은 다양한 장치 간의 메모리 자원 공유와 캐시 일관성 유지에 강점을 가지고 있습니다.

기능적 차이점

  • HBM은 물리적으로 메모리 자체에 집중하여, 데이터를 더 빠르고 효율적으로 저장하고 불러오는 역할을 합니다.
  • CXL은 메모리와 다른 컴퓨팅 자원 간의 연결과 데이터를 효율적으로 전달하는 역할을 합니다. CXL은 메모리 자원 관리를 최적화하고, 다양한 컴퓨팅 장치 간의 협력을 가능하게 합니다.

3. HBM과 CXL의 적용 사례

HBM 적용 사례

  • 고성능 서버: 데이터 센터와 서버 환경에서 HBM은 높은 메모리 대역폭을 제공해 서버의 성능을 극대화합니다. 예를 들어, NVIDIA의 A100 Tensor Core GPU는 HBM2 메모리를 사용하여 머신러닝 및 AI 작업을 효율적으로 처리합니다.
  • 게임과 그래픽: HBM은 고해상도 게임이나 그래픽 렌더링 작업에서 뛰어난 성능을 발휘합니다. 높은 대역폭 덕분에 빠르게 데이터가 처리되어 실시간 렌더링 성능을 크게 향상시킵니다.
  • 슈퍼컴퓨터: 고속 데이터 전송과 높은 대역폭을 요구하는 슈퍼컴퓨터에서 HBM은 중요한 역할을 합니다. 예를 들어, 일본의 Fugaku 슈퍼컴퓨터는 HBM2 메모리를 사용하여 과학적 시뮬레이션과 복잡한 연산 작업을 처리합니다.

CXL 적용 사례

  • AI 가속기: AI 작업에서는 대규모 데이터셋을 처리하는 데 많은 컴퓨팅 자원과 메모리 자원의 공유가 필요합니다. CXL은 GPU와 CPU 간의 효율적인 데이터 전송을 가능하게 하여, 머신러닝 모델 학습 성능을 향상시킵니다.
  • 하이브리드 클라우드 환경: CXL은 클라우드 데이터 센터에서 다양한 컴퓨팅 자원 간의 빠르고 일관된 데이터 흐름을 제공합니다. 이는 데이터 센터에서의 유연한 리소스 할당과 최적화를 돕습니다.
  • 엣지 컴퓨팅: 엣지 환경에서 CXL은 실시간 데이터 전송 및 장치 간 협업을 위한 중요한 기술로 자리 잡고 있습니다.

4. 최신 트렌드와 향후 전망

최신 트렌드

  • HBM3의 도입: HBM3는 HBM2보다 더욱 향상된 대역폭과 성능을 제공합니다. 특히, AI와 고성능 컴퓨팅(HPC) 분야에서 HBM3는 필수적인 기술로 자리 잡을 것입니다.
  • CXL 2.0의 등장: CXL 2.0은 메모리 pooling과 같은 고급 기능을 추가하여, 메모리 자원의 동적 할당과 공유를 더욱 효율적으로 관리할 수 있게 됩니다. 이는 대규모 데이터 센터와 고성능 서버에서 중요한 기술로 자리 잡을 것입니다.

향후 전망

  • 메모리 및 데이터 전송의 융합: HBM과 CXL은 향후 더욱 긴밀하게 결합되어, 컴퓨팅 성능과 메모리 자원의 효율성을 동시에 극대화할 수 있는 방향으로 발전할 것입니다. 예를 들어, HBM과 CXL이 함께 사용되어 데이터 흐름을 최적화하면서도 고속 메모리 성능을 제공하는 시스템이 구현될 가능성이 큽니다.
  • AI와 머신러닝에서의 핵심 기술: AI와 머신러닝 분야에서는 HBM과 CXL의 결합이 더욱 중요한 역할을 할 것입니다. 높은 대역폭과 효율적인 데이터 전송은 AI 학습과 추론 성능을 크게 향상시킬 수 있습니다.

5. 결론: HBM과 CXL, 대체 관계가 아니다

HBM과 CXL은 고성능 컴퓨팅 환경에서 서로 다른 역할을 하며, 상호 보완적인 관계를 유지합니다. HBM은 메모리의 대역폭을 최적화하여 대규모 데이터 처리 성능을 극대화하고, CXL은 CPU와 가속기 간의 효율적인 데이터 전송을 가능하게 합니다. 이 두 기술은 함께 사용될 때, 더욱 강력한 성능을 발휘하며, AI, HPC, 클라우드 컴퓨팅 등 다양한 분야에서 핵심적인 역할을 합니다.


참고 링크

CXL(Compute Express Link)은 PCIe 기반의 차세대 인터커넥트 기술로, CPU와 가속기 간 메모리 공유 및 캐시 일관성을 지원하여 고성능 컴퓨팅과 데이터 센터 인프라를 혁신합니다.
CXL 1.0~3.0을 거치며 메모리 풀링, 패브릭 구성, 다중 호스트 환경을 지원하는 등 진화를 거듭해 왔으며, AI/ML, 클라우드, HPC 분야에서 핵심 기술로 자리 잡고 있습니다.


목차

  1. CXL이란 무엇인가?
  2. 기술 구조 및 작동 원리
  3. CXL 1.0과 1.1: 기술적 출발점과 한계
  4. CXL이 해결하는 문제와 기술적 장점
  5. 실제 적용 사례 및 산업 활용
  6. CXL 2.0과 3.0: 진정한 상용화를 향한 진화
  7. 향후 전망 및 엔지니어가 주목해야 할 포인트
  8. 참고 링크

1. CXL이란 무엇인가? (What is Compute Express Link?)

CXL(Compute Express Link)은 다양한 컴퓨팅 자원(CPU, GPU, FPGA 등) 간에 저지연, 고대역폭, 캐시 일관성이 보장되는 연결을 제공하기 위한 오픈 인터커넥트 기술입니다. Intel을 중심으로 2019년부터 개발되었으며, 업계 전반의 채택이 확산되고 있습니다.

  • 기반 기술: PCI Express (PCIe) 5.0 이상
  • 핵심 목적: CPU와 가속기, 메모리 장치 간 자원 공유 최적화

2. 기술 구조 및 작동 원리

CXL은 하나의 물리적 링크에서 3가지 프로토콜이 동시에 동작하는 멀티프로토콜 아키텍처를 기반으로 합니다.

🧩 CXL의 3가지 프로토콜

프로토콜 설명 사용 용도
CXL.io PCIe와 동일한 기능 수행 초기 장치 설정, 관리, I/O
CXL.cache CPU가 장치 메모리를 캐시 일관성 있게 접근 캐시 데이터 일관성
CXL.mem CPU가 장치 메모리를 직접 로드/스토어 메모리 확장, 공유

이 구조는 CPU와 가속기 간의 데이터 이동 최소화, 처리속도 향상, 메모리 자원 효율화를 가능하게 합니다.


3. CXL 1.0과 1.1: 기술적 출발점과 한계

⚙️ CXL 1.0 (2019년)

  • 최초 릴리즈 버전
  • CXL.cache와 CXL.mem의 프로토콜 구조 정의
  • PCIe 5.0 기반의 단일 CPU-장치 연결만 지원
  • 캐시 일관성 제공은 가능하지만, 스위칭이나 메모리 풀링은 미지원

⚙️ CXL 1.1 (2020년)

  • 1.0 기반 안정화 버전
  • 시그널링, 오류 처리, I/O 관리 등 하드웨어 구현 가능 수준으로 개선
  • 여전히 1:1 연결만 지원, 확장성은 제한적

🔍 CXL 1.x 버전의 한계

  • 멀티호스트 불가
  • 스위칭 및 Fabric 토폴로지 미지원
  • 메모리 풀링, Persistent Memory 미지원
  • 실제 데이터 센터 환경에는 적용이 어려움

4. CXL이 해결하는 문제와 기술적 장점

🔧 기존 시스템의 한계

  • 가속기는 독립된 메모리 공간을 사용 → 데이터 복사 비용 증가
  • CPU 메모리 확장 시 소켓 수 증가 → 전력 및 비용 증가
  • NUMA 기반 시스템의 복잡한 메모리 접근

✅ CXL의 기술적 이점

기능 기존 방식 CXL 도입 시
데이터 공유 복사 후 처리 직접 메모리 공유
캐시 일관성 소프트웨어 레벨 동기화 하드웨어 기반 일관성 보장
메모리 확장 CPU 기반 DRAM만 사용 장치 메모리 통합 가능
시스템 확장성 복잡한 버스 아키텍처 유연한 메모리 풀링 및 패브릭 구성

5. 실제 적용 사례 및 산업 활용

🏭 적용 분야

  • AI/ML: GPU, TPU 등 가속기와 CPU 간 파라미터 동기화
  • HPC (High Performance Computing): 병렬 연산 시 메모리 병목 해결
  • Cloud Infrastructure: 메모리 디스아그리게이션(Memory Disaggregation)
  • SmartNIC, DPU: 네트워크 및 스토리지 가속기와 CPU 간 효율적 연동

🏢 기업 도입 사례

기업 활용 방향
Intel CXL 호환 플랫폼 및 CPU 출시
Samsung / SK hynix CXL 기반 DRAM/SSD 메모리 모듈 개발
Microsoft / Meta / Google 메모리 풀링 및 패브릭 실증 테스트 진행
Dell / HPE / Lenovo CXL 지원 서버 라인업 준비

6. CXL 2.0과 3.0: 진정한 상용화를 향한 진화

🔁 CXL 2.0 (2020년)

  • 스위칭 지원: 여러 장치를 한 CPU와 연결
  • Persistent Memory 지원
  • 보안 강화: 암호화 및 접근 제어 기능 추가
  • Memory Pooling 도입

🌐 CXL 3.0 (2022년)

  • Fabric 구조 정식 지원: 다수의 CPU와 장치가 메모리 네트워크를 구성
  • 64 GT/s 대역폭: PCIe 6.0 수준
  • Multi-host, Multi-device 환경 최적화
  • Dynamic Capacity Device (DCD) 도입

📊 기술 스펙 요약

항목 CXL 1.0 CXL 1.1 CXL 2.0 CXL 3.0
Cache Coherency
Multi-device
Switch Support
Memory Pooling
Persistent Memory
Fabric Topology
Bandwidth 32 GT/s 32 GT/s 32 GT/s 64 GT/s

7. 향후 전망 및 엔지니어가 주목해야 할 포인트

🔮 기술 발전 방향

  • CXL + PCIe 6.0/7.0 결합으로 더욱 강력한 인터커넥트 가능
  • 서버 메모리 아키텍처의 전면적 변화 예고
  • CXL-Pooled Memory 기반의 클라우드 플랫폼 확산

📌 엔지니어를 위한 전략적 인사이트

  • 시스템 아키텍처 설계 시 CXL 기반 확장성 고려 필수
  • 기존 NUMA/DRAM 기반 설계 → CXL 기반 메모리 접근 모델로 리디자인
  • CXL-aware 소프트웨어 최적화 역량 확보 필요

8. 참고 링크

현대의 IT 환경에서 네트워크 인터페이스 카드(NIC)는 시스템의 성능과 효율성을 좌우하는 중요한 역할을 합니다. 그중에서도 SmarNIC(Smart Network Interface Card)과 SuperNIC(Super Network Interface Card)는 각각 독특한 강점과 특징을 가진 NIC 기술로 주목받고 있습니다. 이번 블로그 글에서는 SmarNIC과 SuperNIC의 특징과 장점을 살펴보고, 두 기술을 비교하여 어떤 환경에서 더 적합한 선택인지를 알아보겠습니다.

SmarNIC: 네트워크 효율성과 관리에 집중하다

SmarNIC은 데이터 패킷의 관리와 라우팅을 최적화하여 네트워크 작업의 효율을 극대화할 수 있도록 설계된 NIC입니다. 특히 고성능 애플리케이션의 안정성을 지원하는 QoS(Quality of Service)를 제공하며, 가상화 환경에서도 뛰어난 성능을 발휘합니다. 클라우드 기반 시스템을 사용하는 환경에서 매우 유용하게 활용될 수 있습니다.

SmarNIC의 가장 큰 장점은 네트워크 작업의 부하를 분산시키는 데 있습니다. 서버 CPU의 부담을 줄이고 시스템 전반의 성능을 향상시킴으로써 네트워크 병목 현상을 최소화합니다. 또한 안정적이고 빠른 데이터 전송을 실현하여 대규모 데이터 센터와 가상화 환경에서 매우 효율적으로 작동합니다.

하지만 초기 도입 비용이 비교적 높을 수 있으며, 특정 소프트웨어와의 호환성 문제가 발생할 가능성이 있다는 점은 고려해야 할 사항입니다.

SuperNIC: 초고속 데이터 처리의 중심

SuperNIC은 초고속 데이터 전송과 대용량 데이터 처리를 지원하는 NIC로, 빅데이터 분석 및 고성능 컴퓨팅 환경에서 탁월한 성능을 발휘합니다. 네트워크 연결의 초저지연(low latency)을 제공하며 대규모 작업에서도 안정성과 속도를 극대화할 수 있도록 설계되었습니다.

SuperNIC은 대량 데이터를 신속하고 효과적으로 처리하며, 이를 통해 복잡한 데이터 분석과 처리가 원활하게 이루어질 수 있습니다. 또한 빅데이터 환경과 초고속 컴퓨팅 작업에서 빠르고 안정적인 연결을 제공하여 대규모 프로젝트에서도 높은 신뢰성을 유지합니다.

그러나 높은 전력 소모와 하드웨어 요구 사양으로 인해 초기 설치 비용이 증가할 가능성이 있으며, 전력 효율성을 중요시하는 환경에서는 제한적으로 사용될 수 있습니다.

SmarNIC vs SuperNIC: 어떤 NIC가 더 나은 선택일까?

SmarNIC과 SuperNIC의 비교는 각 기술의 목적과 특징을 더 깊이 이해하는 데 도움을 줄 수 있습니다.

목표 지능형 네트워크 프로세싱 및 관리 초고속 데이터 전송 및 대용량 처리
적합한 환경 클라우드 및 가상화 환경 빅데이터 분석 및 고성능 컴퓨팅 환경
장점 효율적 네트워크 작업, CPU 부담 감소 빠른 데이터 처리와 안정성
한계점 도입 비용과 호환성 문제 높은 전력 소모와 하드웨어 요구 사양

두 기술은 각각의 강점을 가지고 있어 사용자가 직면한 요구 사항에 따라 선택이 달라질 수 있습니다. SmarNIC은 클라우드 기반 애플리케이션이나 가상화 환경에 적합하며 네트워크 효율성과 안정성에 초점을 맞추고 있습니다. 반면, SuperNIC은 빅데이터와 대규모 데이터 작업에서 높은 성능과 속도를 제공하므로, 초고속 처리와 안정성을 필요로 하는 환경에 적합합니다.

결론

SmarNIC과 SuperNIC은 현대 IT 환경에서 중요한 NIC 솔루션입니다. SmarNIC은 데이터 관리와 효율성 향상에 중점을 둔 기술로 가상화와 클라우드 기반 작업 환경에서 강점을 발휘합니다. SuperNIC은 초고속 연결과 대량 데이터 처리를 필요로 하는 고성능 컴퓨팅 환경에 더 적합합니다.

컴퓨터 네트워킹 기술인 이더넷(Ethernet)과 인피니밴드(InfiniBand)의 주요 차이점을 분석하고, 이러한 차이점이 성능에 미치는 영향에 대해서 정리를 했습니다.
이더넷은 범용적인 네트워크 환경에서 널리 사용되는 기술인 반면, 인피니밴드는 고성능 컴퓨팅(HPC), 대규모 데이터 센터 등 특수한 환경에서 요구되는 높은 성능을 제공하기 위해 설계되었습니다. 각 기술의 특징을 비교 분석하여 성능 차이가 발생하는 근본적인 원인을 명확히 제시하고자 합니다.

1. 이더넷(Ethernet) 개요 및 특징

이더넷은 IEEE 802.3 표준으로 정의된 컴퓨터 네트워킹 기술로, Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN) 등 다양한 환경에서 사용됩니다.

  • 설계 목적: 범용적인 네트워킹 및 다양한 장치 연결 지원
  • 주요 특징:
    • 광범위한 호환성 및 다양한 벤더 지원
    • 유연한 토폴로지 구성 (스타, 트리 등)
    • 비교적 저렴한 비용
  • 전송 방식: 초기에는 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 방식을 사용했으나, 현재는 주로 스위칭 방식을 채택하여 효율성을 높였습니다.
  • 신뢰성: 상위 계층 프로토콜(TCP)에서 오류 복구를 담당합니다.
  • 지연 시간: 스토어 앤 포워드 방식의 스위칭, MAC 주소 테이블 검색 등으로 인해 비교적 높은 지연 시간을 가질 수 있습니다.
  • 대역폭: 지속적인 기술 발전을 통해 높은 대역폭을 제공하며, 현재 최대 800Gbps 상용화 및 1.6Tbps 개발이 진행 중입니다.
  • CPU 부하: 데이터 처리 과정에서 CPU의 개입이 증가할 수 있습니다.

2. 인피니밴드(InfiniBand) 개요 및 특징

인피니밴드는 고성능 컴퓨팅 환경, 서버 간 연결, 고성능 스토리지 시스템 등 낮은 지연 시간과 높은 대역폭을 요구하는 환경을 위해 설계된 인터커넥트 기술입니다.

  • 설계 목적: 고성능 컴퓨팅 (HPC), 서버 및 스토리지 연결, 낮은 지연 시간 요구 환경
  • 주요 특징:
    • 매우 낮은 지연 시간
    • 매우 높은 대역폭
    • 손실 없는(lossless) 전송 보장
    • 하드웨어 기반의 높은 신뢰성 및 QoS (Quality of Service) 제공
  • 토폴로지: 스위치 기반의 패브릭 구조 (Fat Tree, Dragonfly 등)를 통해 고성능을 극대화합니다.
  • 전송 방식: 스위치 기반의 포인트-투-포인트 연결을 통해 효율적인 데이터 전송을 지원합니다.
  • 신뢰성: 하드웨어 레벨에서 혼잡 제어 및 오류 감지/복구 메커니즘을 통해 높은 신뢰성을 보장합니다.
  • 지연 시간: 하드웨어 기반 라우팅 및 병렬 링크 활용으로 매우 낮은 지연 시간을 제공합니다.
  • 대역폭: 초기 설계부터 고대역폭을 목표로 개발되었으며, 현재 최대 400Gbps까지 상용화되었습니다.
  • CPU 부하: RDMA (Remote Direct Memory Access)를 지원하여 데이터 전송 시 CPU 개입을 최소화합니다.

3. 이더넷과 인피니밴드의 성능 차이 및 원인 분석

성능 지표 이더넷 (Ethernet) 인피니밴드 (InfiniBand) 성능 차이 발생 원인
지연 시간 비교적 높음 매우 낮음 설계 목적, 라우팅 방식, 패킷 처리 방식
대역폭 지속적 발전 중 매우 높음 초기 설계 목표, 병렬 링크 활용
신뢰성 상위 계층에서 처리 하드웨어 레벨에서 보장 오류 제어 메커니즘 구현 방식
CPU 부하 상대적으로 높음 매우 낮음 RDMA 지원 여부 및 효율성

 

3.1. 낮은 지연 시간 (Low Latency)

인피니밴드는 고성능 컴퓨팅 환경의 핵심 요구 사항인 낮은 지연 시간을 달성하기 위해 설계되었습니다. 하드웨어 기반의 효율적인 라우팅 메커니즘과 단순화된 패킷 처리 과정을 통해 데이터가 목적지까지 빠르게 도달할 수 있도록 최적화되어 있습니다. 반면, 이더넷은 스토어 앤 포워드 방식의 스위칭과 MAC 주소 테이블 검색 등의 과정에서 불가피하게 지연 시간이 발생할 수 있습니다.

3.2. 높은 대역폭 (High Bandwidth)

인피니밴드는 다중 레인(lane)을 통합하여 사용하는 방식을 통해 높은 대역폭을 제공합니다. 이는 대규모 데이터를 빠르게 처리해야 하는 HPC 환경에서 중요한 이점입니다. 이더넷 역시 지속적인 기술 발전을 통해 대역폭을 향상시키고 있지만, 초기 설계 목표의 차이로 인해 인피니밴드만큼 높은 대역폭을 기본적으로 제공하지는 않습니다.

3.3. 손실 없는 전송 (Lossless Transmission)

인피니밴드는 하드웨어 레벨에서 정교한 혼잡 제어 메커니즘을 구현하여 패킷 손실을 최소화하고 데이터의 무결성을 보장합니다. 이는 데이터 손실이 시스템 전체의 성능 저하로 이어질 수 있는 HPC 환경에서 매우 중요합니다. 이더넷은 초기 설계에서 패킷 손실 가능성을 염두에 두고 상위 계층 프로토콜인 TCP에서 재전송 메커니즘을 통해 오류를 복구합니다.

3.4. RDMA (Remote Direct Memory Access) 지원

인피니밴드는 RDMA를 기본적으로 지원하여 네트워크를 통해 데이터를 전송할 때 CPU의 개입을 최소화합니다. 이는 CPU가 데이터 전송 작업에 소요되는 시간을 줄여 컴퓨팅 자원을 효율적으로 활용할 수 있도록 합니다. 이더넷에서도 RoCE (RDMA over Converged Ethernet)와 같은 기술을 통해 RDMA를 지원하지만, 인피니밴드의 하드웨어 기반 RDMA만큼의 성능을 제공하지 못할 수 있습니다.

3.5. 이더넷 헤더 오버헤드

이더넷 프레임은 데이터를 전송하기 위해 다양한 헤더 정보를 포함합니다.

일반적인 이더넷 II 프레임의 헤더는 14 바이트로 구성되며, VLAN 태깅(802.1Q)이 추가될 경우 18 바이트로 증가합니다. 이 헤더에는 다음과 같은 정보가 포함됩니다.

  • Destination MAC Address (6 바이트): 수신 장치의 물리적 주소
  • Source MAC Address (6 바이트): 송신 장치의 물리적 주소
  • EtherType (2 바이트): 페이로드에 담긴 데이터의 프로토콜 유형 (예: IPv4, IPv6)
  • VLAN Tag (4 바이트, 옵션): VLAN 정보 (802.1Q 태깅 시)

이러한 헤더 정보는 실제 전송되는 데이터 외에 추가적인 오버헤드를 발생시키며, 이는 유효 데이터 전송률을 감소시키고 지연 시간을 증가시키는 요인이 될 수 있습니다. 특히 작은 크기의 패킷이 빈번하게 전송되는 환경에서는 헤더 오버헤드가 전체 성능에 미치는 영향이 커질 수 있습니다.

3.6. 인피니밴드 헤더 오버헤드

인피니밴드의 헤더 구조는 이더넷과 다릅니다.

인피니밴드는 Base Transport Header (BTH)를 포함하며, 이는 약 12 바이트 로 구성됩니다.

또한, 필요에 따라 Remote Access Header (RETH) 등 추가적인 헤더가 사용될 수 있지만, 기본적인 데이터 전송에 필요한 헤더 크기는 이더넷과 유사하거나 더 작을 수 있습니다.

인피니밴드는 효율적인 헤더 설계뿐만 아니라, RDMA를 통해 데이터를 사용자 공간에서 직접 전송하여 운영체제 커널을 거치는 오버헤드를 줄이고, CPU 개입을 최소화합니다. 이는 헤더 오버헤드로 인한 성능 저하를 완화하는 중요한 요소입니다.

3.7. 헤더 오버헤드가 성능에 미치는 영향

네트워크를 통해 전송되는 총 데이터 양은 실제 페이로드 데이터와 헤더 정보를 합한 것입니다. 헤더의 크기가 클수록, 동일한 양의 유효 데이터를 전송하기 위해 더 많은 총 데이터가 네트워크를 통해 이동해야 하므로, 대역폭 효율성이 감소하고 지연 시간이 증가할 수 있습니다.

인피니밴드는 설계 초기부터 고성능을 목표로 헤더 크기를 최적화하고, RDMA와 같은 기술을 통해 전반적인 전송 효율성을 높였습니다. 반면, 이더넷은 범용성을 강조하며 다양한 계층의 프로토콜을 수용하기 위한 헤더 구조를 가지고 있어, 특정 고성능 환경에서는 상대적으로 오버헤드가 크게 느껴질 수 있습니다.

4. 이더넷이 인피니밴드보다 헤더를 더 많이 사용하는 이유

범용성기존 네트워크와의 호환성을 유지하기 위함이며, 다음과 같은 장점들이 있습니다.

4.1. 넓은 호환성 및 유연성:

  • MAC 주소 기반의 주소 체계: 이더넷 헤더는 6바이트의 송신 및 수신 MAC 주소를 포함합니다. 이는 계층 2 (데이터 링크 계층)에서 장치를 식별하고 통신하는 데 필수적입니다. MAC 주소는 전 세계적으로 고유하게 할당되어 다양한 네트워크 환경에서 장치 간의 물리적인 연결과 통신을 가능하게 합니다. 인피니밴드는 서브넷 내에서 로컬 ID를 사용하고, 글로벌 식별을 위해 추가적인 주소 변환 계층이 필요할 수 있습니다.
  • EtherType 필드: 이더넷 헤더의 EtherType 필드(2바이트)는 페이로드에 담긴 상위 계층 프로토콜(예: IPv4, IPv6, ARP)을 명시합니다. 이 필드 덕분에 이더넷은 다양한 프로토콜을 투명하게 전송할 수 있으며, TCP/IP와 같은 인터넷 프로토콜 스택의 기반 기술로 널리 사용될 수 있었습니다. 인피니밴드는 특정 상위 계층 프로토콜에 더 특화된 구조를 가질 수 있습니다.
  • VLAN 태깅 지원: 이더넷 헤더는 선택적으로 4바이트의 VLAN (Virtual Local Area Network) 태그를 포함할 수 있습니다. VLAN 태깅은 물리적인 네트워크 토폴로지와 상관없이 논리적으로 네트워크를 분할하고 관리할 수 있도록 하여 네트워크의 유연성과 보안성을 높입니다. 인피니밴드도 유사한 기능을 제공하지만, 이더넷의 VLAN은 광범위하게 사용되는 표준입니다.

4.2. 기존 인프라와의 통합 용이성:

  • 오랜 역사와 폭넓은 보급: 이더넷은 수십 년 동안 발전해 온 기술로, 전 세계적으로 방대한 설치 기반과 다양한 장비 생태계를 가지고 있습니다. 이더넷 헤더는 이러한 기존 인프라와의 호환성을 유지하며 새로운 기술과 공존할 수 있도록 설계되었습니다.
  • 표준화: IEEE 802.3 표준을 통해 이더넷 헤더 구조와 관련 기능이 명확하게 정의되어 있어, 다양한 제조사의 장비 간 상호 운용성을 보장합니다.

4.3. 상위 계층 프로토콜 지원 용이성:

  • 단순한 데이터 링크 계층 역할: 이더넷은 주로 데이터 링크 계층에서 프레임 전송을 담당하고, 신뢰성 있는 데이터 전송 및 복잡한 기능은 주로 상위 계층 프로토콜(TCP 등)에서 처리합니다. 이더넷 헤더는 이러한 상위 계층 프로토콜을 효율적으로 캡슐화하고 전달하는 데 필요한 기본적인 정보만을 포함하도록 설계되었습니다.

물론, 이러한 장점들은 필연적으로 헤더 오버헤드 증가라는 단점을 동반합니다. 하지만 이더넷의 범용성, 호환성, 그리고 오랜 기간에 걸쳐 구축된 광범위한 생태계는 이러한 오버헤드를 감수할 만한 가치를 제공하며, 이더넷이 오늘날까지도 가장 널리 사용되는 네트워킹 기술로 자리매김하는 데 중요한 역할을 했습니다.
최근에는 고성능 컴퓨팅 환경에서도 이더넷의 성능을 향상시키기 위한 RoCE (RDMA over Converged Ethernet) 와 같은 기술이 개발되어 사용되고 있으며, 이를 통해 이더넷의 활용 범위는 더욱 넓어지고 있습니다.

5. 결론

이더넷과 인피니밴드의 성능 차이는 설계 목적, 전송 방식, 신뢰성 메커니즘, RDMA 지원 여부 등 다양한 요인에 의해 발생합니다. 특히, 이더넷 헤더는 기본적인 주소 정보 외에도 VLAN 태그 등의 추가적인 정보를 포함할 수 있어 오버헤드가 발생하며, 이는 지연 시간 증가 및 대역폭 효율성 저하의 원인이 될 수 있습니다. 인피니밴드는 효율적인 헤더 설계와 RDMA 기술을 통해 이러한 오버헤드를 최소화하고, 고성능 컴퓨팅 환경에서 요구하는 낮은 지연 시간과 높은 대역폭을 제공합니다. 따라서, 네트워크 환경의 특성과 요구 사항을 정확히 파악하여 적합한 네트워킹 기술을 선택하는 것이 중요합니다.

Image 파일을 사용하다가 보면 벡터(Vector)와 비트맵(Bitmap) 방식이라는 용어를 많이 접할 수 있습니다.
벡터와 비트맵 방식에 대한 차이를 자세히 알려면 PPI와 DPI에 대한 차이를 먼저 알고 확인을 하면 이해가 쉬울 것입니다. 하지만 여기서는 단순히 표현 방식과 차이에 대해서만 설명을 하도록 하겠습니다.

- 벡터(Vector) 방식 

벡터방식은 점과 점을 연결해서 이미지를 표현하며 선과 면을 만들어 내는 것입니다.

비트맵의 픽셀과 다르게 크기 조절이나 변형으로도 해상도가 깨지지 않습니다. 아래 비교 사진을 보면 쉽게 이해가 될 수 있습니다. 따라서, 로고, 서체 등에 다양하게 이용되고 있으며 비트맵 방식에 비해 상당히 적은 용량이 사용되는 장점이 있습니다. 대표적 프로그램으로 Adobe Illustrator를 생각하시면 됩니다. 무료프로그램으로는 Inkscape가 있습니다.
UI나 기능상에서 Adobe Illustrator 보다 떨어지고 있지만 무료로 간단한 작업에서는 유용하다고 생각합니다.

Sample vector graphic from FCIT’s collection of Math illustrations on the ClipArt ETC website.


비트맵(Bitmap) 방식

비트맵은 픽셀(Pixel)에 있는 비트의 집합체로 보면 됩니다. 픽셀에 대한 자세한 설명은 따로 하기로 하고 픽셀은 하나 하나가 각기 다른 생상정보를 가지고 있다고 생각하시면 됩니다. 서로 다른 픽셀이 조합되어 하나의 이미지가 되는 것입니다. 비트맵 방식은 이미지에 대한 정교하고 화려한 표현이 가능한 장점을 가지며 픽셀 수가 많아지면 질수록 화질이 좋아질 수 있습니다. 하지만, 용량이 커지고 확대/축소로 인한 화질 문제를 유발할 수 있다는 단점이 있습니다.
대표적 프로그램으로 Adobe Photoshop을 생각하시면 되고 그 밖의 대부분의 Image 편집툴은 비트맵 방식이라고 생각하시면 됩니다.

Sample raster graphic from FCIT’s collection of robot illustrations on the TIM website.

 

비메모리 반도체의 종류에 대해서 의미는 알지만 글이나 설명으로 정의를 내리기 힘든 부분이 있어서 정리를 하려고 합니다. 메모리 반도체는 우리가 잘알고 있는 삼성, SK하이닉스에서 생산하는 DRAM, NAND 등으로 생각하시면 됩니다.
비메모리 반도체에서도 광, 센서 등을 다루는 쪽에 대한 설명은 생략하고 시스템 반도체라고도 하는 ASIC, ASSP, FPGA, SoC에 대해서 다루도록 하겠습니다.

시스템 반도체에서는 ASIC, ASSP, FPGA 3가지로 크게 구성되며 각각에 구성에서 SoC or Non-SoC로 구분되는 것이 정확한 표현인 것 같습니다.

- ASIC ( Application-Specific Integrated Circuit )

특정 용도로 사용되는 주문형 반도체입니다. 한개의 회사에서 제품을 개발해서 특정한 application에 사용되도록 고안된 제품이라고 생각하시면 됩니다. 예) 100G Ethernet Switch Chip, 24x10G Ethernet Chips

 

- ASSP ( Application-Specific Standard Parts )

특정 용도로 표준화한 반도체입니다. ASIC에 비해 표준화된 기술을 기반으로 여러 업체가 사용하여 생산하는 제품으로 생각하면 됩니다.
예) USB Interface Chip, PCIE Controller 등

 

- SoC ( System-on-Chip )

 

Microprocessors (MPUs), Microcontrollers (MCUs), Digital signal processors (DSPs) 등의 on-chip memory 와 함께 연산이나 주변 장치 등을 사용/제어하는 Processor가 포함된 반도체를 SoC라고 생각하시면 됩니다.

따라서, 아래 그림과 같이 ASIC, ASSP에서도 SoC와 Non-SoC가 Processor의 존재 유무에 따라서 나눌 수 있습니다.

출처 : EETimes

- FPGA ( Field-Programmable Gate Arrays  )

 

하드웨어 프로그래밍이 가능한 반도체로 우리가 원하는 디지털 기능의 조합을 구현할 수있는 프로그래머블 패브릭 구성이 가능한 장점을 가지고 있습니다. 간단히 말해서 ASIC, ASSP는 한번 만들어진 기능을 변경할 수 없지만 FPGA는 원하는 기능을 만들고 변경 또한 가능하다고 생각하시면 됩니다. Xilinx와 Intel(ex-Altera)이라는 유명한 회사가 있습니다.
또한, FPGA에서도 ASIC, ASSP와 마찬가지고 Processor를 포함한 SoC 버전이 있습니다.

"East-West"와 "North-South" 트래픽이란 말들을 통신용어에서 많이 사용하고 있습니다.
이 용어는 데이터 센터에서 주로 사용되었습니다.

"North-South" 트래픽은 데이터 센터와 클라이언트, 네트워크 상의 데이터 센터 외부와 통신되는 트래픽을 말합니다.
간단히, 내부 트래픽을 제외한 나머지 트래픽으로 생각하면 됩니다.


그리고, "East-West" 트래픽은 데이터 센서 내부에서 발생되는 트래픽으로 서버와 서버간의 트래픽입니다.


요즘은 "East-West" 트래픽이 "North-South" 트래픽 보다 훨씬 더 발생을 하고 있습니다.

Big Data에 대한 처리가 많고 데이터 센터의 수많은 서버들간의 트래픽이 많이 발생하는 추세이므로 훨씬 많다고 생각하면 됩니다.

위 그림에서와 같이 Application들, 즉 서버간에는 수평으로 그리고 외부와 연결되는 네트워크 장비간 연결은 수직으로 통상적으로 표시됩니다. 이와 같은 이유로 "East-West"와 "North-South"구분 되었다고 생각하시면 됩니다.

참고로 전통적으로는 "North-South" 트래픽에 대한 관리 및 구성이 많이 주목 받았다면 최근에는 "East-West" 트래픽이 계속 증가되므로 이곳에 대한 여러가지 기술들이 최근 화두로 발생되고 있습니다.

출처 : https://en.wikipedia.org/wiki/Data-rate_units

전송단위

데이터 전송률 (DTR)은 주어진 시간에 한 위치에서 다른 위치로 이동하는 디지털 데이터의 양입니다.
데이터 전송 속도는 한 곳에서 다른 곳으로 주어진 양의 데이터 이동 속도로 볼 수 있습니다. 일반적으로 주어진 경로의 대역폭이 클수록 데이터 전송률이 높아집니다.

통신에서 데이터 전송률은 데이터 전송 시스템의 통신 링크를 통과하는 평균 비트 수 (비트 전송률), 문자 또는 기호 (전송 속도) 또는 단위 시간당 데이터 블록입니다.

일반적인 데이터 속도 단위는 초당 비트 수 (bit/s)와 초당 바이트 수 (B/s)입니다.
예를 들어, 현대의 주 고속 인터넷 연결의 데이터 속도는 일반적으로 초당 메가 비트 (Mbit/s)로 표시됩니다.


네트워크 처리량(Throughput)을 이야기할 때는 초당 데이터 패킷 (p/s 또는 pps)을 사용하기도 합니다.

처리량(throughput)은 일반적으로 초당 비트 (bit/s 또는 bps)로 측정되며 때로는 초당 데이터 패킷 (p/s 또는 pps) 또는 시간 슬롯 당 데이터 패킷(data packets per time slot) 으로 측정됩니다.

다음은 일반적으로 통용되는 통신속도에 대한 단위들입니다. 

  • bps(bit per second) : 초당 전송되는 bit 수, 통신기기의 속도를 나타낼때 주로 사용됨
  • BPS(Byte per second) : 초당 전송되는 Byte 수, 자료의 전송 때 주로 사용됨, 1 Byte는 8bits 이다.
  • cps(character per second) : 초당 전송되는 Character(문자)의 수, 하나의 character는 8bits로 Byte와 같은 의미이지만 앞뒤 start/stop bit를 전송시 추가되므로 총 10bits로 보아야함.  
  • pps(packet per second) : 초당 패킷수, 네트워크 성능 측정 단위, 1초동안 보낼 수 있는 패킷 측정

PPS ( Packet Per Second )와 bps에 대한 계산 방법은 다른 글에서 다루는 것으로 하겠습니다.

CPS 자료 출처 : https://www.computerhope.com/jargon/c/cps.htm

+ Recent posts