CPU(Central Processing Unit, 중앙 처리 장치)가 뭔지 모르는 사람은 많지 않을 겁니다. CPU는 뛰어난 유연성과 대응력 덕분에 수년간 대부분의 컴퓨터에서 프로그래밍 가능한 유일한 요소였는데요.
그러나 최근에는 그래픽 처리 장치인 GPU가 컴퓨팅의 중심 역할을 하고 있습니다. 원래 풍부한 실시간 그래픽을 제공하기 위해 고안된 GPU는 병렬처리 능력으로 모든 다양한 컴퓨팅 작업을 가속화하고, 인공지능(AI), 딥 러닝, 빅데이터 분석 애플리케이션을 구축하는 핵심 요소가 됐습니다.
지난 10년간 컴퓨팅은 CPU와 GPU를 기반으로 PC나 서버라는 한계를 넘어 새로운 하이퍼스케일 데이터센터로 확장됐습니다.
이런 데이터센터는 새로운 범주의 강력한 프로세서와 함께 구성됩니다. 젠슨 황(Jensen Huang) 엔비디아 창립자 겸 CEO는 “CPU와 GPU에 이어, DPU(Data Processing Unit)는 데이터 중심 가속 컴퓨팅의 또 하나의 핵심 축이 될 것”이라며, “CPU는 범용 컴퓨팅, GPU는 가속 컴퓨팅을 위한 것이라면, 데이터센터에서 데이터를 이동시키는 DPU는 데이터 처리를 담당합니다”고 설명했습니다.
DPU란 무엇인가
DPU는 새로운 종류의 프로그래밍 가능 프로세서로 주요 특징은 다음과 같습니다.
- 업계 표준의 소프트웨어 프로그래밍 가능 멀티코어 CPU로, 일반적으로 널리 사용되는 Arm 아키텍처를 기반으로 하며 다른 시스템온칩(SoC) 구성요소와 밀접하게 결합됩니다.
- 고성능 네트워크 인터페이스로 데이터를 파싱(parsing) 및 처리하고, 데이터를 GPU 및 CPU로 효율적으로 전송합니다.
- 유연하며 프로그래밍 가능한 가속화 엔진으로 인공지능(AI), 머신러닝, 보안, 통신, 스토리지 등을 위한 애플리케이션 성능을 오프로드 및 향상시킵니다.
이러한 DPU 기능은 차세대 클라우드 컴퓨팅 환경이 될 베어메탈 방식의 클라우드 네이티브 컴퓨팅을 구현하는 데 매우 중요하죠.
SmartNIC에 통합된 DPU
DPU는 독립형 임베디드 프로세서로도 사용 가능하지만, 차세대 서버의 핵심 구성요소인 네트워크 인터페이스 컨트롤러 ‘SmartNIC’에 통합돼 사용되는 경우가 많은데요. 업계에는 DPU 라고 주장하는 디바이스들이 많이 있지만, 실제로는 DPU를 구성하는 세 가지 핵심 기능 중 중요 요소가 결여된 경우가 많습니다.
예를 들어, 몇몇 벤더는 광범위한 Arm CPU 생태계가 제공하는 풍부한 개발과 애플리케이션 인프라의 이점을 활용하지 않는 독자적인 프로세서를 사용합니다. 또한, DPU를 갖췄다고 주장하지만, 데이터 경로 프로세싱을 위해 임베디드 CPU에만 집중하는 오류를 범하는 경우도 있죠. 이는 경쟁적이지 않을뿐더러, 확장도 불가능합니다. 무모한 성능 향상으로 전통적인 x86 CPU를 뛰어넘으려는 것은 승산이 없습니다.
대신 네트워크 인터페이스가 모든 네트워크 데이터 경로 프로세싱을 감당할 수 있을 정도로 강력하고 유연해야 합니다. 임베디드 CPU는 컨트롤 경로 초기화 및 예외적인 프로세싱을 위해 사용하는 것이 적절하며, 그 이외의 용도는 부적절합니다. 다음은 네트워크 데이터 경로 가속화 엔진이 제공할 수 있는 10가지 기능입니다.
- OVS(open virtual switch)를 구현하기 위한 데이터 패킷 파싱·매칭·조작
- ZTR(Zero Touch RoCE)를 위한 RDMA 데이터 전송 가속
- CPU를 우회하고 네트워크로 연결된 데이터를 GPU로 직접 전송하는 GPU-다이렉트 가속
- RSS, LRO, 체크섬(checksum) 등을 포함한 TCP 가속
- VXLAN와 Geneve 오버레이 그리고 VTEP 오프로드를 위한 네트워크 가상화
- 멀티미디어 스트리밍, 컨텐츠 배포 네트워크, 새로운 4K 및 8K VoIP(Video over IP) (ST 2110의 경우 RiverMax)를 구현하는 트래픽 셰이핑 패킷 페이싱 가속기
- 5G를 위한 5T와 같은 텔코 클라우드(telco Cloud) RAN 용 정밀 타이밍 가속기
- IPSEC 및 TLS에 대한 암호화 가속이 인라인으로 수행되므로 다른 모든 가속이 계속 작동
- SR-IOV, VirtIO, 반가상화를 위한 가상화 지원
- 신뢰할 수 있는 루트, 안전한 부팅, 안전한 펌웨어 업그레이드, 인증된 컨테이너·애플리케이션 수명주기 관리
위의 기능들은 ‘DPU가 무엇인가?’ 라는 질문에 대한 답변에 꼭 핵심적으로 들어가야 할 가속·하드웨어 기능 중 열 가지에 불과합니다.
그렇다면 DPU가 뭘까요? 아래 이미지가 바로 DPU 인데요.소위 DPU의 이름을 딴 많은 장치들이 이런 기능들 중 하나 또는 두 가지만을 제공하는 데 중점을 둡니다. 최악의 경우는 독자 프로세서에서 데이터 경로를 오프로드하는 경우죠. 이런 경우는 프로토타입 제작에는 좋지만, 데이터센터의 규모, 범위 및 폭에 있어서는 무의미합니다.