거의 20년 전에 처음 등장한 스마트폰은 이동 통신의 판도를 완전히 바꾸어 놓았습니다.
오늘날 SmartNIC도 데이터센터에 그와 비슷한 혁신을 일으키고 있죠.
SmartNIC 란?
SmartNIC란 스마트 네트워크 인터페이스 카드(NIC, smart network interface card)의 약자로 데이터센터 네트워킹과 보안 및 스토리지를 효율적이고 유연하게 하는 프로그래밍 가능한 가속기입니다.
SmartNIC는 서버 CPU에서 최신 분산 애플리케이션을 관리하는 데 필요한 여러 작업을 오프로드합니다.
내부를 보면 SmartNIC은 구성 가능한 다양한 연결 장치들을 모아 스마트한 기능을 갖추었습니다. 실리콘 블록들로 구성된 SmartNIC는 데이터센터를 통과하는 데이터 패킷을 처리하고 라우팅하는 방법을 결정하는 전문가 집단 같은 역할을 합니다.
SmartNIC 작동원리
이런 블록의 대부분은 통신 작업을 CPU보다 더욱 효율적으로 실행하는 가속기라고 불리는 고도로 전문화된 하드웨어 장치입니다. 또한 일부 블록은 사용자가 변화하는 요구를 처리하면서도, 변화하는 네트워크 프로토톨에 유연하게 맞춰나갈 수 있도록 프로그래밍하게 도와주는 장치입니다.
이런 가속기와 프로그래밍 가능한 코어가 결합돼 SmartNIC은 가격에 대비해 뛰어난 성능과 유연성을 제공합니다.
SmartNIC의 다양한 사용 환경
모든 공급업체들은 SmartNIC 기능에 대해 자체적인 목록을 가지고 있습니다. 하지만 그 목록은 길고 두문자어로 채워져 있어 비교하기 어려울 수 있죠.
공급업체가 최적의 SmartNIC를 고르기 위해 간단하게 알아볼 수 있는 방법은 데이터센터에 필요한 기능이 포함된 리스트가 있는지 확인해 보는 것입니다.
모든 업체들은 SmartNIC를 스마트하게 사용하는 방법에 대해 각자만의 아이디어를 가지고 있기도 한데요.
일부 업체들은 유연성이 보장된 FPGA를 사용합니다. 그러나 FPGA는 프로그래밍이 어렵고 비용이 많이 들며 결합된 가속기와 같은 성능을 제공하지 못하죠.
또 다른 업체들은 대체적으로 최고의 가격 성능과 약간의 유연성을 제공하는 전용 ASIC를 사용하고 있습니다. 이것이 바로 NVIDIA ConnectX 제품군의 접근법입니다.
어떤 업체들은 전용 하드웨어 가속기와 프로그램 가능한 프로세서를 혼합한 시스템온칩(SoC) 설계를 사용합니다. 이러한 SmartNIC는 보통 성능과 유연성이 가장 뛰어나기 때문에 비용이 더 많이 들죠.
그럼 여러 옵션 기능들의 분류를 돕기 위해 사용자의 상황에 맞는 최적의 SmartNIC를 찾는 방법을 소개하겠습니다.
NIC을 SmartNIC로 전환
1973년, 팔로 알토 연구소(Xerox PARC, Palo Alto Research Center)의 로버트 멧칼프(Robert Metcalfe)와 동료들은 멧갈프가 이더넷(Ethernet)이라고 불렀던 기술을 위한 최초의 NIC들 중 하나를 프로토타입으로 만들었습니다.
이더넷이라는 이름은 그후로 대중화됐는데요. 이는 1985년에 산업 표준이 되었고, 현재 많은 사람들이 컴퓨터 네트워킹와 동의어처럼 쓰고 있죠.
그 당시만해도 근거리 통신망에서 여러 대의 개인용 컴퓨터를 연결하는 것은 최첨단 기술로 여겨졌습니다.
1979년 멧칼프는 3Com을 공동 설립해 초기 PC 시장을 위한 상업용 NIC를 구축했습니다. 그 후로 수십 개의 회사들이 다양한 유형이나 속도와 크기로 NIC를 만들기 시작했습니다.
현재 Foundational NIC라 불리는 이런 NIC는 두 대 이상의 컴퓨터 사이에 기본적인 네트워크 연결은 가능하지만, 몇 가지 이상의 부가 기능을 지원하는 스마트 기능은 부족합니다.
NIC 초기 역사에 대한 전문가의 견해가 궁금하다면, 이더넷의 40주년이었던 2020년, NVIDIA CEO 젠슨 황(Jensen Huang)이 멧칼프와 진행했던 인터뷰 녹화영상을 확인해보세요.
데이터센터 네트워크 글로벌화
오늘날의 컴퓨터는 NIC가 초기에 사용됐던 당시 컴퓨터보다 훨씬 작거나 훨씬 큽니다. 스마트폰은 PC보다 더 널리 사용되며 클라우드 서비스 제공업체는 데이터센터를 물류창고 크기의 시스템 글로벌 네트워크로 확장했죠.
젠슨 황 CEO는 작년 4월 GTC 키노트에서 “데이터센터는 컴퓨팅의 새로운 단위”라고 말했습니다.
그러나 가상화나 마이크로 서비스와 같은 기술 발전 때문에 데이터센터 CPU가 처리해야 하는 작업 스택이 늘어가면서 관리가 불가능해졌습니다.
키노트에서 젠슨 황CEO는 “매년 출하되는 약 3천만 대의 서버 중 3분의 1이 데이터센터의 소프트웨어 정의 네트워킹 스택을 실행하는 데 쓰입니다”고 언급했습니다.
또한 “이러한 워크로드는 무어의 법칙(Moore’s law)보다 훨씬 빠르게 증가하고 있으므로 워크로드를 오프로드하고 가속화하지 않으면 데이터센터에 애플리케이션을 실행할 CPU가 점점 더 줄어들게 됩니다”라고 덧붙였습니다.
SmartNIC를 스마트하게 만들기
이러한 추세에 따라 현재 NVIDIA에 속해 있는 멜라녹스(Mellanox)와 같은 기업들은 NIC에 더 많은 스마트한 제품을 배치하여 데이터센터 내에서 과부하되고 있는 CPU에서 업무를 오프로드하고 있었습니다.
NVIDIA의 최신 ConnectX-7 SmartNIC는 네트워킹, 보안 및 스토리지 작업에 대한 긴 목록을 처리합니다. 수행하는 작업의 예는 다음과 같습니다.
- 널리 사용되는 맞춤형 소프트웨어 정의 네트워킹 스택 가속화
- 인라인(in-line) 암호화(encryption) 및 복호화(decryption)를 통한 보안 제공
- 보안 부팅용 방화벽 및 하드웨어 자체 보안 기능(root-of-trust) 사용
- 전송 계층 보안(Transport Layer Security), IP 보안 및 MAC 보안 등 널리 사용되는 보안 프로토콜 실행
- RoCE, GPUDirect 스토리지, NVM Express 및 전송 제어 프로토콜(Transmission Control Protocol) 등과 같은 스토리지 및 데이터 액세스 프로토콜 처리
- 단일 루트 I/O 가상화와 가상 스위칭 및 라우팅으로 가상화된 데이터센터 지원
이 모든 작업을 초저지연으로 초당 25 ~ 400 기가바이트의 데이터 처리량으로 수행할 수 있습니다. 이로써 데이터센터의 대응력과 효율성이 향상됩니다.
Foundational NIC와 달리 SmartNIC는 새로운 작업이 발생하더라도 여유 있고 유연하게 처리할 수 있습니다. 네트워크 프로토콜은 계속 변화하고 있으며, 데이터를 이동하기 위한 새로운 개념인 네트워크 오버레이(network overlay)도 규칙적으로 변화하는 것으로 보입니다.
사용자는 SmartNIC를 통해 이런 변경 사항을 실행하는 최신 소프트웨어 라이브러리를 확보할 수 있습니다.
스마트 중심 산업의 핵심으로
그런 이유 때문에 단지 세계 최대 클라우드 서비스 제공업체만 SmartNIC을 사용하는 것이 아닙니다.
SmartNIC는 통신 업체와 미디어 기업도 사용하는데요. 이는 스토리지 서버, 데이터베이스 클러스터 및 데이터 웨어하우스에서 실행됩니다.
재무 분석가들이 초고주파 트레이딩을 위한 저지연 SmartNIC을 사용합니다. 머신 러닝 전문가들은 빅데이터 분석 속도를 높이기 위해 사용하기도 하죠.
간단히 말해, SmartNIC는 주요 산업 부분에서 사용되기 시작했습니다. 스마트 기능이 없거나 약한 NIC는 이제 뒤로 밀려나고 있습니다.
네트워킹의 새로운 지평 열기
SmartNIC이 네트워킹에서 새롭게 부상하고 있습니다. 하지만 Foundational NIC보다 기능이 더 많지만 아직까지 유선 통신에서 대중화되어 있진 않는데요.
현재 SmartNIC가 1순위로 가장 많이 사용될 것으로 전망되는 것은 DPU(데이터 처리 장치)입니다. 이 프리미엄 프로세서는 일반적으로 전력 효율적인 Arm 코어에서 C언어와 같은 사용자 친화적인 언어로 완벽하게 프로그래밍할 수 있습니다.
데이터센터가 규모가 크거나 처리량이 많다면 원활한 통신 수행을 위해 DPU가 필요할 것입니다. 이 분야는 아마 또 다른 이야기가 될 것입니다.
NVIDIA의 BlueField DPU에 관한 자세한 내용은 지난 해 4월 GTC에서 젠슨 황 CEO의 키노트에서 확인해보세요.