DPU(Data Processing Unit) 기술은 최근 네트워크 및 데이터 센터 분야에서 성능 향상과 보안 강화를 위해 중요한 역할을 하고 있습니다. 즉, DPU 기술은 인터넷 서비스의 품질 그리고 안정성과 직결되며 아래와 같이 다양한 용도로 활용되고 있습니다.
- 네트워크 가속화: 최근 빠르게 증가하는 데이터 양과 더 높은 대역폭 요구 사항으로 인해 네트워크 가속화가 더욱 중요해지고 있습니다. DPU는 네트워크 성능을 향상시키고 데이터 전송 속도를 높이는 데 중요한 역할을 합니다. 이를 통해 사용자들은 더 빠른 서비스를 경험할 수 있습니다.
- 보안 강화: DPU는 데이터 센터의 보안을 강화하는 데 필수적입니다. 데이터의 안전한 전송과 저장을 보장하고 네트워크 상에서 보안 위협에 대응하기 위해 DPU는 암호화, 패킷 필터링, 침입 탐지 등의 기능을 제공합니다.
- 클라우드 및 가상화: 클라우드 컴퓨팅과 가상화가 확대되면서 DPU의 역할이 더욱 강조되고 있습니다. DPU는 I/O 처리 서브시스템과 Arm CPU 기반의 Compute 서브시스템으로 구성되는데, 이 Compute 서브시스템으로 호스트의 클라우드 인프라 관리 기능을 오프로딩할 수 있습니다. 이를 이용하여 가상화된 환경에서의 네트워크 처리와 데이터 전송을 최적화하여 클라우드 서비스의 성능과 사용자 경험을 향상시키는 데 기여합니다.
- AI 및 머신러닝: DPU는 인공 지능 및 머신러닝 알고리즘의 처리를 가속화하는 데도 사용됩니다. 데이터를 효율적으로 처리하고 분석하는 데 DPU의 성능이 큰 도움이 됩니다.
이러한 이유로 DPU 기술은 클라우드와 같은 인터넷 서비스는 물론 다양한 IT 서비스에 중요한 역할을 하고 있습니다.
NVIDIA BlueField
NVIDIA BlueField는 최신 클라우드 및 HPC 환경에 최적화된 최초의 데이터 센터 인프라 온 칩 (Infra on chip)입니다. 이 혁신적인 솔루션은 데이터 센터 인프라를 오프로드, 가속화 및 격리하는 기능과 함께 광범위하고 가속화된 소프트웨어 정의 네트워킹(SDN), 스토리지, 보안 및 관리 서비스를 제공합니다.
NVIDIA BlueField는 16 Arm CPU 기반의 Compute 시스템을 포함하여, 최대 400Gbps 네트워킹 처리와 400Gbps 이상의 TLS/IPSec/MACsec 가속화 처리, 그리고 10MIOPS 수준의 NVMe 스토리지 처리 등 강력한 성능을 자랑합니다. 또한, 다양한 GPU 및 CPU 시스템과 호환되고 클라우드는 물론 온-프레미스 환경에 배포 가능한 높은 확장성까지 제공합니다.
아울러 표준 기반 API 및 SDK를 지원하고, 다양한 소프트웨어 생태계와 통합 가능한 개방성을 갖추고 있습니다.
NVIDIA BlueField DPU는 데이터 센터 운영 효율성을 높이고 TCO를 감소시키는 데 도움이 되는 강력한 다목적 솔루션입니다. 이는 클라우드, HPC, 웹 스케일 애플리케이션, 데이터 분석 및 AI, 5G 및 IoT 엣지를 포함한 다양한 데이터 센터 워크로드에 적합합니다. BlueField DPU의 주요 장점은 다음과 같습니다.
- CPU 오프로드: BlueField DPU는 네트워킹, 스토리지, 보안 및 AI 작업을 처리하여 CPU 부하를 줄여줍니다. 이는 CPU 자원을 다른 중요한 작업에 활용할 수 있도록 하여 컴퓨팅 성능을 향상시키고 운영 비용을 절감합니다. 네트워크 가속화를 예를 들면, 호스트의 CPU 기반으로 동작하는 OVS(Open Virtual Switch)의 Data Plane을 BlueField의 HW 스위치로 오프로딩하여 고속 패킷 포워딩을 제공합니다.
- 전력 소비 감소: BlueField DPU는 CPU만 사용하는 것보다 전력 소비를 줄이며, 데이터 센터의 에너지 효율성을 높여 운영 비용을 절감하는 데 기여합니다. 호스트의 인프라 서비스 기능을 DPU로 오프로딩하고 데이터 처리에 소요되는 전력을 DPU의 전용 HW에서 효율적으로 처리함으로써 총 전력 사용량을 감소시킬 수 있습니다.
- TCO 감소: BlueField DPU 기술 적용은 데이터센터 관점에서 병목 현상이 되는 I/O에 대한 가속화뿐만 아니라 전력사용량 등을 고려할 때, 총 소유 비용(TCO)을 감소시킵니다. 이를 통해 고객에게 더욱 저렴하고 경쟁력 있는 클라우드 서비스를 제공할 수 있도록 합니다.
보다 자세한 내용은 여기에서 확인할 수 있습니다.
NHN Cloud의 SmartNIC 활용법
OpenStack 기반의 NHN Cloud
NHN Cloud는 OpenStack을 이용하여 IaaS 클라우드 서비스를 하고 있습니다. 2015년 첫 상용화 이후 지속적인 개량을 통해서 성능을 향상시키고 안정성을 높이는 작업을 수행하고 있습니다. 이 과정에서 OpenStack Neutron이 구성하는 네트워크 플로우 부분에 대해 NHN Cloud는 Neutron Plugin 및 Flow 구성을 위한 Agent 들을 구현하며 상당히 많은 부분을 수정하고 개량했습니다. 이에 따라 Neutron에서 지원하지 않는 Peering, Transit Hub, VPN Gateway, NAT Gateway등 다양한 네트워크 기능을 서비스로 제공하고 있습니다.
최근 NHN Cloud는 Baremetal Instance 서비스를 시작했으며 이는 OpenStack Nova – Ironic을 이용해 구현됐습니다. 최초 설계 당시에는 Ironic이 flat network만 지원이 가능한 부분이었기 때문에 VPC에 Baremetal Instance를 적용하는 것에 문제가 있었습니다. 이를 해결하기 위해 Baremetal Instance를 VPC로 올리기 위한 방법과 더 나아가 VPC를 지원하지 않는 네트워크 요소에 대한 표준안이 필요했습니다.
SmartNIC을 이용한 VPC 구성
VPC를 지원하지 않는 네트워크 요소를 VPC에 올리는 방법에는 스위치에서 플로우를 설정하는 방법과 SmartNIC를 사용하는 방법이 있습니다. 스위치의 플로우를 설정하는 방법은 비용적인 면에서는 유리하지만 사용성 면에서 기존 instance와 다를 형태를 보일 수밖에 없습니다. 반면 SmartNIC을 사용하게 되면 기존의 Instance와 사용 방법이 동일하고, 성능과 구조적인 부분에서도 단순해지는 장점이 있습니다. 따라서 NHN Cloud는 Neutron에 의해 제어되는 SmartNIC을 이용해 VPC를 지원하지 않는 네트워크 요소들을 VPC에서 동작하도록 모듈화 하여 범용성을 향상시키고 있습니다.
SmartNIC으로 NVIDIA Bluefield 사용
NHN Cloud에서는 SmartNIC으로 NVIDIA Bluefield를 사용하고 있습니다. Bluefield는 OVS 플로우를 HW 오프로드하여 고성능 처리가 가능하게 해주는 ASAP2 기술을 통해, 가상 네트워크에서도 wire speed를 클라우드에서 제공할 수 있습니다. 또한, 일반적인 네트워크 개발자가 Bluefield 소프트웨어를 개발할 수 있기 때문에 FPGA에 비해 여러가지 장점이 있습니다. 일반적으로 널리 알려진 Ubuntu 기반 Linux를 사용하며, OVS 및 Linux 네트워크 툴을 이용하여 Bluefield를 구동하고 설정할 수 있기 때문에 유지 보수가 유리하여 개발 기간을 단축할 수 있습니다. 또한 live 상태에서 Neutron Agent 등의 업데이트도 가능합니다.
NHN Cloud의 SmartNIC 활용 사례
앞에서 언급한 것과 같이 NHN Cloud에서는 SmartNIC을 통해 VPC를 지원하지 않는 장비를 Neutron에 의해 제어되는 장비로 사용할 수 있도록 표준화를 진행했습니다. 대표적인 예시로는 다음과 같은 서비스들이 있습니다.
Baremetal Compute:
OpenStack Nova-Ironic은 Baremetal 장비를 초기화 하기 위해 Cleaning – Provisioning 단계를 거치고 고객의 요청에 따라 준비가 완료된 장비를 고객의 VPC에 연결하게 됩니다. 이 과정에서 Ironic은 Neutron에 port에 대한 생성/변경 요청을 수행하게 되고, 이때 Baremetal 장비의 연결 방향이 변경됩니다. Cleaning/Provisioning 단계에서는 아래 그림의 1번과 같이 Ironic과 연결 가능한 Network으로 연결을 수행합니다. Baremetal Instance가 부팅시에 Ironic으로 부터 Cleaning/Provisioning Image를 다운로드 하여 작업을 수행하고, 이 과정이 완료되면 Baremetal 장비는 Standby됩니다. 그 이후 고객 요청에 의해서 Baremetal 장비가 스케쥴되면 SmartNIC은 장비를 고객의 VPC로 연결합니다.
스토리지:
SmartNIC의 또 다른 용도는 스토리지 서비스를 VPC에 연결하는 방법입니다. 스토리지 또한 flat 네트워크만 연결할 수 있도록 되어있기 때문에, Neutron에 의해 제어되는 SmartNIC을 이용하여 VPC로 직접 연결하는 모듈로 사용되고 있습니다.
보안:
보안을 담당하는 장비의 경우도 대부분 VPC를 위한 Tenant Network을 지원하지 않습니다. 이 경우에도 보안 서비스 매니저가 Neutron API를 통해서 VPC에 연결성을 제공할 수 있습니다. 예를 들면 SSL VPN 등의 장비를 통해서 고객의 VPC에 연결하게 되는 경우, flat 네트워크를 통해서 접속을 수행하면 이를 고객의 VPC로 연결성을 제공합니다. 이 과정에서 SSL VPN 장비에 SmartNIC을 추가하는 것으로 개발 기간을 단축할 수 있고 서비스 안전성을 향상시킬 수 있습니다.
향후 계획
이처럼 SmartNIC를 이용한 클라우드 네트워크 구성은 좀 더 유연하게 VPC에 다양한 네트워크 자원들을 연결할 수 있다는 장점을 가지고 있습니다.
앞서 언급한 사례 외에도 향후에는 AI 연산을 위한 GPU Node를 VPC에서 연결할 수 있는 방안 혹은 low latency가 필요한 고성능 네트워크 노드를 구성하는 경우에도 SmartNIC가 상당히 유용할 것으로 예상됩니다.