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 오프로드를 위한 네트워크 가상화 | |
RDMA | ZTR(Zero Touch RoCE)를 위한 데이터 전송 가속 | |
TCP 가속 | RSS(수신데이터 분산), LRO(대규모 수신오프로드), 체크섬 |
- DPU 기능은 CPU나 GPU와 달리 차세대 클라우드 컴퓨팅 환경이 될 베어메탈 방식의 클라우드 네이티브 컴퓨팅 구현에 중요한 역할로 SmartNIC (Smart Network Interface Card)등에 사용
3. DPU와 CPU, GPU 비교
비교 항목 | DPU | CPU | GPU |
---|---|---|---|
Core 수 | 수십 개 | 수 개 ~ 수십 개 | 수백 개 ~ 수천 개 |
처리 특성 | 다양한 데이터 처리 | 저지연 고속 처리 | 대용량 처리 |
처리 대상 | 네트워크 데이터 처리 | 단일 프로그램 처리 | 그래픽, 대용량 병렬 처리 |
처리 용량 | 수천 건 대규모 처리 | 한 번에 수 건 작업 처리 | 한 번에 수천 건 작업 처리 |
- CPU는 범용 컴퓨팅, GPU는 그래픽 및 대용량 병렬처리에 사용되며, DPU는 데이터 이동 시 신속한 처리를 통해 시스템 성능 향상에 기여
[참고]
- NVDIA Blog, DPU란 무엇인가
- Byline Network, 엔비디아가 야심차게 공개한 DPU
- Itworld, 데이터 처리 장치(DPU)가 부상한다