CPU는 유연성과 대응력이 뛰어나서 수년간 대부분의 컴퓨터에서 프로그래밍 가능한 유일한 요소였다. 그러나, 최근에는 그래픽 처리 장치인 GPU가 컴퓨팅의 중심 역할을 하고 있다. 본래 풍부한 실시간 그래픽을 제공하기 위해 고안됐던 GPU는 병렬처리 능력으로 모든 다양한 컴퓨팅 작업을 가속화하고, 인공지능(AI), 딥 러닝, 빅데이터 분석 애플리케이션을 구축하는데 핵심이 됐다.
CPU와 GPU를 통해 지난 10년간 컴퓨팅은 PC 및 서버를 넘어 하이퍼스케일 데이터센터로 확장됐다. 이러한 데이터센터는 새로운 범주의 강력한 프로세서와 함께 구성된다. 젠슨 황(Jensen Huang) 엔비디아 창립자 겸 CEO는 “CPU와 GPU에 이어, DPU(Data Processing Unit)는 데이터 중심 가속 컴퓨팅의 또 하나의 핵심 축이 될 것”이라며, “CPU는 범용 컴퓨팅, GPU는 가속 컴퓨팅을 위한 것이라면, 데이터센터에서 데이터를 이동시키는 DPU는 데이터 처리를 담당한다”고 설명했다.
DPU란 무엇인가
DPU는 새로운 종류의 프로그래밍 가능 프로세서로 주요 특징은 다음과 같다.
이러한 DPU 기능은 차세대 클라우드 컴퓨팅 환경이 될 베어메탈 방식의 클라우드 네이티브 컴퓨팅을 구현하는 데 매우 중요하다.
SmartNIC에 통합된 DPU
DPU는 독립형 임베디드 프로세서로도 사용 가능하지만, 차세대 서버의 핵심 구성요소인 네트워크 인터페이스 컨트롤러 ‘SmartNIC’에 통합돼 사용되는 경우가 많다. 업계에는 DPU 라고 주장하는 디바이스들이 많이 있지만, 실제로는 DPU를 구성하는 세 가지 핵심 기능 중 중요 요소가 결여된 경우가 많다.
예를 들어, 몇몇 벤더는 광범위한 Arm CPU 생태계가 제공하는 풍부한 개발 및 애플리케이션 인프라의 이점을 활용하지 않는 독자적인 프로세서를 사용한다. 또한, DPU를 갖췄다고 주장하지만, 데이터 경로 프로세싱을 위해 임베디드 CPU에만 집중하는 오류를 범하는 경우도 있다. 이는 경쟁적이지 않을뿐더러, 확장도 불가능하다. 무모한 성능 향상으로 전통적인 x86 CPU를 뛰어넘으려는 것은 승산이 없다.
대신 네트워크 인터페이스가 모든 네트워크 데이터 경로 프로세싱을 감당할 수 있을 정도로 강력하고 유연해야 한다. 임베디드 CPU는 컨트롤 경로 초기화 및 예외적인 프로세싱을 위해 사용하는 것이 적절하며, 그 이외의 용도는 부적절하다. 다음은 네트워크 데이터 경로 가속화 엔진이 제공할 수 있는 10가지 기능이다.
위의 기능들은 DPU가 무엇인가라는 질문에 대한 답변에 꼭 핵심적으로 들어가야 할 가속·하드웨어 기능 중 열 가지에 불과하다. 소위 DPU의 이름을 딴 많은 장치들이 이런 기능들 중 하나 또는 두 가지만을 제공하는 데 중점을 둔다. 최악의 경우는 독점적 프로세서에서 데이터 경로를 오프로드하려고 한다. 이는 프로토타입 제작에는 좋지만, 데이터센터의 규모, 범위 및 폭에 있어서 의미가 없다.