안녕하세요, 여러분! 오늘은 클라우드 컴퓨팅 인프라의 혁신을 이끄는 'SmartNIC'에 대해 알아보려 합니다. 고성능 컴퓨팅과 네트워킹의 미래를 바꿀 SmartNIC의 정의부터 구조, 원리, 활용 분야까지 상세히 소개해 드릴게요.
SmartNIC이란 무엇일까요?
SmartNIC은 네트워크 인터페이스 카드(Network Interface Card, 이하 NIC)에 CPU, 메모리, ASIC 등의 컴퓨팅 자원을 통합해 네트워크 기능은 물론 스토리지, 보안, 가상화 등 다양한 작업을 처리하도록 설계된 지능형 가속 장치입니다. 여기서 가속기(Accelerator)는 CPU에서 처리하던 기존 소프트웨어의 작업 일부를 FPGA/GPU/NPU 등의 하드웨어로 오프로드(Offload)해서 소프트웨어 실행 속도를 빠르게 하는 역할을 합니다. 기존의 NIC가 단순히 서버와 네트워크 간 데이터 송수신만 담당했다면, SmartNIC은 애플리케이션 워크로드의 상당 부분을 오프로드해 CPU 부하를 줄이고 성능과 효율성을 대폭 끌어올립니다.
SmartNIC은 어떻게 구성되고 작동할까요?
SmartNIC은 크게 FPGA 또는 ASIC 기반의 프로그래머블 가속 엔진, 멀티 코어 CPU, 고용량 메모리, 고속 네트워크 인터페이스 등으로 이뤄집니다. 이 모든 구성 요소가 하나의 칩 또는 카드에 집적돼 메인 CPU와 PCIe 등으로 연결됩니다.
핵심은 DPU(Data Processing Unit)로 불리는 SmartNIC의 '두뇌'인데요. DPU는 FPGA나 ASIC을 프로그래밍해 패킷 처리부터 암호화, 압축, 스토리지 가속 등 다양한 작업을 전담합니다. 여기에 범용 CPU 코어를 더해 소프트웨어 정의 스토리지(SDS), 네트워크 기능 가상화(NFV), AI 추론과 같은 범용 애플리케이션까지 실행합니다.
이렇게 DPU가 워크로드를 나눠 맡음으로써 서버 CPU는 핵심 비즈니스 로직에만 전념할 수 있습니다. 통신, 스토리지, 보안 등 인프라 처리에 들어가는 CPU 부하를 덜어주니 주요 애플리케이션에서 서버 내의 CPU를 온전히 사용하게 되어 높은 성능의 서비스를 할 수 있게 해줍니다.
SmartNIC은 클라우드에서 어떤 강점을 발휘할까요?
SmartNIC은 특히 대규모 분산 클라우드 인프라에서 위력을 발휘합니다. 수만, 수십만 대의 서버를 연결하는 클라우드 데이터센터는 동적인 워크로드 분산과 빠른 확장성, 안정적인 네트워크 보안이 관건인데요. SmartNIC은 SDN/NFV 기반의 네트워크 가상화를 통해 유연하고 민첩한 인프라 운영을 가능케 합니다.
나아가 RDMA(Remote Direct Memory Access), NVMe 오버 패브릭(NVMe-oF) 등 초고속 네트워크 프로토콜을 SmartNIC으로 가속화해 분산 스토리지와 AI, 빅데이터 처리 속도를 비약적으로 끌어올릴 수 있게 됩니다. 아울러 악성 트래픽 탐지, DDoS 방어 등 인라인 방식의 네트워크 보안 기능을 NIC 수준에서 일괄 적용할 수 있어 한층 안전한 클라우드 서비스 제공이 가능해집니다.
카카오클라우드의 SmartNIC 개발
SmartNIC은 폭발적으로 증가하는 클라우드 트래픽과 워크로드를 감당하기 위한 필수 솔루션으로 자리매김하는 중인데요, 카카오클라우드도 이런 흐름에 발맞춰 글로벌 No.1 FPGA 기업 자일링스와의 협력으로 SmartNIC 기술을 공동 개발했습니다.
카카오클라우드는 성능과 유연함, 두 마리 토끼를 모두 잡기 위해 ARM + FPGA 방식의 단일 칩 시스템(SoC)을 채택했습니다. FPGA의 유연함을 기반으로 SmartNIC이 결합된 카카오클라우드 서버에서는 하드웨어 변경 없이 소프트웨어를 통해 성능 개선을 위한 구성을 변경하거나 프로비저닝할 수 있습니다. 이러한 유연성은 앞으로 개발될 다양한 오프로드 기능 적용에도 큰 강점이 될 전망입니다.
카카오클라우드 SmartNIC의 첫 오프로드 기능은 OVS(Open vSwitch)입니다. OVS는 가상 머신들의 vNIC을 연결한 스위치를 가상화하고 여러 하이퍼바이저 환경을 아우르는 분산형 가상 스위치 역할을 합니다. 그러나 OVS는 CPU에서 소프트웨어로 구동되기에 규칙이 많아지면 CPU 부하가 커지는 단점이 있었죠.
이에 카카오클라우드는 OVS 기능을 CPU에서 SmartNIC으로 오프로딩해 CPU 리소스 낭비 없이 OVS를 지원할 수 있게 만들었습니다. 그 결과 VM에서 64바이트 패킷 기준 최대 12Mpps, 256바이트 이상에서는 SmartNIC 포트 당 25Gbps 처리량을 달성했습니다.
SmartNIC 도입으로 카카오클라우드는 CPU 사용률을 50% 이상 낮추면서도 애플리케이션 성능은 최대 600%까지 높일 수 있을 것으로 기대하고 있습니다. 고속 네트워크와 풍부한 CPU 리소스가 필요한 VM 서비스 제공에 최적의 인프라를 갖추게 된 셈이죠.
여러분의 비즈니스에서도 폭발적으로 증가하는 트래픽과 워크로드를 감당할 차세대 클라우드 인프라가 필요하다면 SmartNIC 기술을 사용하는 카카오클라우드 도입을 적극 검토해 보시기 바랍니다. 국내 최고 수준의 기술력으로 여러분의 디지털 전환과 비즈니스 혁신의 든든한 토대가 되어 드리겠습니다.
댓글