무엇이 SmartNIC을 스마트하게 만드는가? | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

무엇이 SmartNIC을 스마트하게 만드는가?


PDF 다운로드



글/스캇 슈바이처(Scott Schweitzer)


NIC(Network Interface Card)은 1980년대 중반 최초의 PC가 나온 직후 시장에 출시되었지만, SmartNIC이 등장한 것은 몇 년 전에 불과하다. 이 시장에 진출한 각 회사들은 SmartNIC 제품 영역에 대한 정의를 다르게 규정하고 있다. 가장 기본적인 정의는 프로그래밍이 가능한 NIC 정도이다. 반면 일부 회사들은 상당한 규모의 실리콘과 펌웨어가 통합 구현된 다소 과도한 컨셉으로 이를 정의하기도 한다. 그러나 결국 일반적인 대답은 고객들에게 부가적인 가용 컴퓨팅 리소스와 이러한 리소스를 활용하는데 필요한 오픈소스 툴을 포함하고 있는 NIC이라는 것이다.
스마트폰이 등장했을 때 많은 사람들이 휴대폰을 가지고 있었지만, 10년 후에는 거의 모든 휴대폰이 스마트폰으로 전환되었다. 이유는 무엇일까? 스네이크(Snake)에 질려서 캔디 크러쉬(Candy Crush)로 넘어가고 싶었기 때문은 아닐 것이다. 사람들이 완전히 프로그램이 가능한 전화와 카메라 그리고 소셜 미디어를 관리하고, 이메일을 통해 업무를 지속할 수 있고, 10년 전에는 아무도 상상하지 못한 수많은 일을 수행할 수 있는 모바일 컴퓨팅 플랫폼의 가치를 보았기 때문이다. 대다수의 스마트폰 사용자는 한 줄의 코드도 작성하지 않으며, 또한 그럴 필요도 없다.
이미 제공되는 수천만 개의 애플리케이션을 앱 스토어에서 선택하기만 하면 된다. 서버 NIC은 이와 상당히 유사하지만, 짧은 경로를 통해 SmartNIC으로 나아가고 있다. 단순히 패킷을 전달하는 것 외에 다른 작업을 수행할 수 없는 SmartNIC은 무의미하다. SmartNIC이 되기 위해서는 할당되지 않은 부가적인 컴퓨팅 리소스가 필요하고 이러한 리소스를 활용할 수 있는 코드 공간이 존재해야 한다. 2002년에 쓰리콤(3Com)은 방화벽이 포함된 10/100Mbps 이더넷 NIC을 출시했다. 쓰리콤의 3XP 프로세서를 사용했으며, 이 작업을 수행하기 위해 추가 메모리를 제공했다.
이는 거의 20년 전에 발표된 것으로 당시 기가비트 이더넷이 채택되기 시작하던 때이다. 하지만 프로세서와 메모리가 온전히 방화벽 애플리케이션에만 사용되었기 때문에 이는 보안 전용 제품이지 SmartNIC은 아니었다. 쓰리콤이 프로그래밍 인터페이스를 도입하고, 방화벽이 없는 버전을 판매했다면, 최초의 SmartNIC이 될 수도 있었을 것이다. 그렇다면 그들은 20년 전에 일찍이 이를 달성하고, 10/100Mbps 네트워크는 이미 적용 곡선의 이면에 존재했을 것이며, 새로운 제품은 없었을 것이다. 또한 프로세서로서 3XP는 1GbE를 처리하기에는 두 개로도 동력이 부족했을 것이기 때문에 당시 제품을 종료한 것은 잘한 일이다. 현재 데이터센터 NIC의 성능은 25GbE를 요구하고 있으며, 100GbE까지 제품라인이 확장되어야 한다.
오늘날의 데이터센터는 25GbE에서 50GbE 및 100GbE로 빠르게 이동하고 있기 때문에 SmartNIC의 부가적인 컴퓨팅 리소스를 신중하게 고려할 필요가 있다. 지금까지는 일반적으로 ARM과 같은 전통적인 CPU 코어를 컨트롤 플레인 관리에 할당하고, 드물게 예외적인 플로우를 처리하는 것이 통상적인 개념이었다. 컨트롤 플레인 관리에 ARM 코어를 사용하는 것은 좋은 경찰관인 동시에 끔찍한 교통 경찰을 만드는 것과 같다. 오늘날의 데이터센터 NIC은 초당 수백만 개, 잠재적으로는 1억 개 이상의 네트워크 패킷을 처리한다.
ARM 코어는 3GHz 클럭 속도라 하더라도 각각 초당 수백만 또는 최악의 경우 수천만 개 이상의 패킷을 검사하고, 처리해야 하는 작업에는 적합하지 않다. 이러한 규모에 대응할만한 성능(CPU 클럭스피드)을 낼 수 없기 때문이다. 이러한 작업을 처리하기 위해서는 전용 네트워크 프로세서나 FPGA(Field Programmable Gate Array), 또는 GPU 코어와 같은 특수 용도의 컴퓨팅 리소스가 필요하다. 이 중에서도 FPGA는 프로그래머블 로직이기 때문에 이러한 작업에 가장 적합하다.
이러한 디바이스는 네트워크 패킷 헤더나 페이로드를 신속하게 분석할 수 있도록 구성한 다음, 라인 속도로 패킷을 차단하거나 헤더를 추가하거나 또는 전반적으로 컨텐츠를 변경하는데 필요한 조치를 취할 수 있다. 자일링스(Xilinx)의 알베오(Alveo) U25 카드는 복수의 ARM 코어와 네트워크 프로세서를 포함하고 있는 FPGA 기반 SmartNIC의 탁월한 예이다. 일부 SmartNIC은 트래픽 플로우를 처리하기 위해 ARM 코어를 제공하는 것이라고 주장할 수 있지만, 관련된 잠재적 트래픽 규모와 ARM 코어의 성능을 함께 고려할 필요가 있다.

TT(무엇)-1(Alveo-U25-Front).jpg

다음으로 가장 큰 이슈는 SmartNIC에 대한 프로그래밍 인터페이스를 공개적으로 사용할 수 있도록 만드는 것이다. 앞서 언급했듯이, 스마트폰이 성공할 수 있었던 것은 애플리케이션의 가용성이다. 미리콤(Myricom)이 처음 참가한 수퍼컴퓨팅 2005(SuperComputing 2005)에서 미리넷(Myrinet) 10G 네트워킹 제품을 공개했는데, 이 1세대 10GbE 제품을 SmartNIC이라고 할 수도 있었을 것이다. 당시 미리콤의 NIC을 구동하는 라나이(Lanai) 10G 칩은 프로그래밍을 위한 플래시 펌웨어 공간과 데이터 저장을 위한 고속 SDRAM을 갖춘 네트워크 프로세서였다.
Myri-10G NIC은 10G 이더넷 및 미리넷 10G 또는 MXoE (Myrinet Express over Ethernet) 등 3가지 동작 모드를 지원했다. 이후 몇 년 동안 라인 속도급 캡처 및 스토리지 패킷 가속화, 트레이딩 가속화를 지원하기 위해 펌웨어가 추가되었다. 하지만 이것이 우리가 생각하는 SmartNIC 정의에 부합하지 않는 이유는 프로그래밍 환경이 외부에서 적용할 수 있도록 노출되지 않았기 때문이다. 미리콤은 이에 대한 몇 가지 타당한 이유를 가지고 있었는데, ‘C’와 같은 언어의 문제였다. 이는 작성하기가 어렵고, 심지어 디버깅도 더 까다로웠다. 하지만 이러한 이유는 더 이상 중요하지 않게 되었다.
또한 일부에서는 타일레라(Tilera)의 제품이 최초의 SmartNIC 성능이라고 말할 수도 있지만, 프로그래밍 인터페이스와 툴을 공개적으로 사용할 수 있도록 만들지 않았기 때문에 이러한 주장은 설득력이 없다. 2013년 봄에 타일레라(이후 멜라녹스 블루필드(Mellanox Bluefield)가 됨)는 자사의 SmartNIC의 프로그래밍 환경에 대한 액세스 비용과 이를 사용하는 방법을 이해하는데 필요한 강좌에 비용을 부과했다.
이로 인해 채택은 미미했고, 애플리케이션 개발도 이뤄지지 않았으며, 시장에서는 거의 받아들여지지 않았다. 개발자에게 액세스 비용을 부과하는 하드웨어 플랫폼은 성공에 한계가 있을 수밖에 없다. 깃허브(GitHub)와 같은 오픈소스 소프트웨어와 리포지토리(Repository)가 널리 채택되면서 개발자들은 툴을 무료로 공급받기를 기대한다.
마지막으로 SmartNIC이 크게 성공하기 위해서는 Smart-NIC 애플리케이션을 위한 앱 스토어와 같은 중앙집중식 리포지토리가 필요하다. 이는 독립적인 서드파티 애플리케이션 개발자들이 코드를 제출할 수 있고, 이들이 설치되거나 실행될 때 보상받을 수 있다. 또한 이러한 카탈로그를 큐레이트하고, 게시하여 사용자가 쉽게 이용할 수 있도록 해준다. 앱 스토어가 없다면, 사용자는 NIC 제공업체의 앱을 구매해야 하거나 서드파티 공급업체의 애플리케이션을 구매해야 한다.
만약 스마트폰의 모든 앱을 서드파티 웹사이트에서 구매해야 한다면, 그 모델이 성공적이었을까? 그렇지 않았을 것이다. 브로드컴(Broadcom)이나 인텔(Intel), 멜라녹스, 자일링스와 같은 회사의 차세대 SmartNIC은 매우 다양한 컴퓨팅 리소스를 활용하고 있다. 이러한 회사들은 자체 환경에 부합하는 프로그래밍 툴을 출시하면서 호응을 얻고 있으며, 서드파티들도 자사 플랫폼에 맞는 프로그래밍을 시작하고 있다.

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정