- Published on
DPU explained
- Authors
- Name
- JaeHyeok CHOI
- none
Data Processing Unit
NVIDIA가 말하는 DPU
DPU는 새로운 종류의 프로그래밍 가능 프로세서로 특징은 다음과 같다.
- 업계 표준의 소프트웨어 프로그래밍 가능 멀티코어 CPU로 일반적으로 널리 사용되는 ARM 아키텍처를 기반으로 하며 다른 SoC 구성요소와 밀접하게 결합된다.
- 고성능 네트워크 인터페이스로 데이터를 파싱 및 처리하고, 데이터를 GPU 및 CPU로 효율적으로 전송한다.
- 유연하며 프로그래밍 가능한 가속화 엔진으로 인공지능, 머신러닝, 보안, 통신, 스토리지 등을 위한 애플리케이션 성능을 오프로드 및 향상시킨다.
이러한 DPU 기능은 차세대 클라우드 컴퓨팅 환경이 될 베어메탈 방식의 클라우드 네이티브 컴퓨팅을 구현하는데 매우 중요하다.
SmartNIC에 통합된 DPU
DPU는 독립형 임베디드 프로세서로 사용이 가능하나, 차세대 서버의 핵심 구성요소인 네트워크 인터페이스 컨트롤러 NIC에 통합돼 사용된다. 업계에는 DPU라고 주장하는 디바이스들이 많으나, 실제로는 DPU를 구성하는 세 가지 핵심 기능 중 중요 요소가 결여된 경우가 많다.
예를 들어, 광범위한 Arm CPU 생태계가 제공하는 풍부한 개발과 애플리케이션 인프라의 이점을 활용하지 않는 독자적인 프로세서를 사용한다. 또한, DPU를 갖췄다고 주장하나 데이터 경로 프로세싱을 위한 임베디드 CPU에만 집중하는 오류를 범한다. 이는 경쟁적이지 않으며 확장도 불가능하다. 무모한 성능 향상으로 전통적인 x86 CPU를 뛰어넘으려는 것은 승산이 없다.
대신 네트워크 인터페이스가 모든 네트워크 데이터 경로 프로세싱을 감당할 수 있을 정도로 강력하며 유연해야 한다. 임베디드 CPU는 컨트롤 경로 초기화 및 예외적인 프로세싱을 위해 사용하는 것이 적절하며, 그 이외의 용도는 부적절하다. 다음은 네트워크 데이터 경로 가속화 엔진이 제공할 수 있는 10가지 기능이다.
- OVS를 구현하기 위한 데이터 패킷 파싱/매칭/조작
- ZTR (Zero Touch RoCE)를 위한 RDMA 데이터 전송 가속
- CPU를 우회하고 네트워크로 연결된 데이터를 GPU로 직접 전송하는 GPU-다이렉트 가속
- RSS, LRO, 체크섬 등을 포함한 TCP 가속
- VXLAN, Geneve 오버레이, VTEP 오프로드를 위한 네트워크 가상화
- 멀티미디어 스트리밍, 컨텐츠 배포 네트워크, 새로운 4K/8K VoIP(Video over IP) (ST2110의 경우 RiverMAX)를 구현하는 트래픽 셰이핑 패킷 페이싱 가속기
- 5G를 위한 5T와 같은 텔코 클라우드 (telco Cloud) RAN용 정밀 타이밍 가속기
- IPSEC 및 TLS에 대한 암호화 가속이 인라인으로 수행되므로 다른 모든 가속이 계속 작동
- SR-IOV, VirtIO, 반가상화를 위한 가상화 지원
- 신뢰할 수 있는 루트, 안전한 부팅, 안전한 펌웨어 업그레이드, 인증된 컨테이너/애플리케이션 수명주기 관리
이 기능들이 DPU란 무엇인가?
라는 질문에 대한 답변에 꼭 핵심적으로 들어가야 할 가속/하드웨어 기능 중 열 가지이다.