DPU (Data Processing Unit)

1. DPU(Data Processing Unit)의 개념 및 특징

개념CPU의 인프라 기능 분산을 위해 네트워크 인터페이스 하드웨어에서 암호화, 웹서비스, 스토리지 제어 등 데이터 처리 가능한 컴퓨팅 프로세서
특징SoC와 결합프로그래밍 가능한 멀티코어 CPU로 SoC 구성요소와 결합
고속 데이터 처리데이터를 파싱 및 처리하고, 데이터를 CPU/GPU로 효율적으로 전송
가속화 엔진 기능머신러닝, 보안, 통신, 스토리지 등을 위한 애플리케이션 성능 향상
  • 기존 컴퓨팅 방식은 연산 중심의 아키텍처(Compute-centric architecture)로 연산 및 결과 도출 능력만 갖추면 되었지만 최근 네트워크의 데이터 처리 성능이 중요시되면서 데이터 처리 가속 기능을 담당하는 DPU가 부각

 

2. DPU의 구성도 및 기술 요소

(1) DPU의 구성도

(2) DPU의 기술 요소

구분기술 요소역할
데이터
처리
측면
시스템 가상화SR-IOV(단일 루트 I/O 가상화), VirtIO 등 반가상화 지원
GPU 직접 전송CPU를 우회하여 네트워크의 데이터를 GPU로 직접 전송
트래픽 셰이핑 페이싱멀티미디어 스트리밍, 컨텐츠 배포 네트워크, 4K/8K 영상 구현
정밀 타이밍 가속5G를 위한 텔코 클라우드 RAN용 정밀 타이밍 가속
NIC Subsystem
측면
Open Virtual Switch네트워크 데이터 패킷 파싱 및 매칭, 조작
네트워크 오버레이VXLAN, VTEP 오프로드를 위한 네트워크 가상화
RDMAZTR(Zero Touch RoCE)를 위한 데이터 전송 가속
TCP 가속RSS(수신데이터 분산), LRO(대규모 수신오프로드), 체크섬
  • DPU 기능은 CPU나 GPU와 달리 차세대 클라우드 컴퓨팅 환경이 될 베어메탈 방식의 클라우드 네이티브 컴퓨팅 구현에 중요한 역할로 SmartNIC (Smart Network Interface Card)등에 사용

 

3. DPU와 CPU, GPU 비교

비교 항목DPUCPUGPU
Core 수수십 개수 개 ~ 수십 개수백 개 ~ 수천 개
처리 특성다양한 데이터 처리저지연 고속 처리대용량 처리
처리 대상네트워크 데이터 처리단일 프로그램 처리그래픽, 대용량 병렬 처리
처리 용량수천 건 대규모 처리한 번에 수 건 작업 처리한 번에 수천 건 작업 처리
  • CPU는 범용 컴퓨팅, GPU는 그래픽 및 대용량 병렬처리에 사용되며, DPU는 데이터 이동 시 신속한 처리를 통해 시스템 성능 향상에 기여

 
[참고]

  • NVDIA Blog, DPU란 무엇인가
  • Byline Network, 엔비디아가 야심차게 공개한 DPU
  • Itworld, 데이터 처리 장치(DPU)가 부상한다

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^