[인터뷰] 맞춤형 '네이버클라우드' 실현한 하드웨어 연구원들

임민철 기자입력 : 2020-11-23 00:05
네이버클라우드 박종승 리더, 신경수 연구원 인터뷰 FPGA 결합한 '스마트닉' 개발…고효율 맞춤IDC 제공 7월 출시 '컨테이너 데이터센터' MS보다 3개월 앞서 네트워크 이어 컴퓨팅·스토리지 가속장치 개발 도전
네이버클라우드가 클라우드 운영환경을 고도화하기 위해 소프트웨어뿐아니라 자체 하드웨어 기술에도 투자하고 있다. 사내에 '버추얼라이제이션 테크서비스'라는 하드웨어 개발부서를 두고 네트워크 인프라 분야의 시스템 개발과 상품 출시에 필요한 기술을 연구한다. 아마존, 마이크로소프트(MS), 구글을 비롯한 다국적 기업들과 퍼블릭클라우드 세계에서 대등한 싸움을 벌이기 위한 노력이다. 고성능 네트워크 트래픽 처리 능력을 갖춘 '스마트닉(SmartNIC)'이 대표적인 성과다.

최근 네이버클라우드가 출시한 '뉴로클라우드(Neurocloud)'는 기업 고객사에 개별적인 IDC처럼 쓸 수 있는 '가상프라이빗클라우드(VPC)'를 제공한다. 기존 클라우드 소프트웨어뿐아니라 스마트닉 하드웨어의 힘을 함께 활용한 결과다. 뉴로클라우드는 아마존 '아웃포스트'나 MS '애저스택'과 유사한 서버랙 형태 상품뿐아니라 전원과 공조설비까지 갖춘 화물 컨테이너형 상품으로도 출시됐다. 이는 MS의 '애저 모듈러 데이터센터'보다 3개월 먼저 상용화된 모듈형데이터센터(MDC)다.

최근 네이버클라우드 하드웨어 부서 실무자를 만나 이 기술의 특징과 네이버클라우드에 적용해 거둔 효과를 직접 들었다. 버추얼라이제이션 테크서비스 부서장인 박종승 리더와 스마트닉 개발에 활용된 프로그래머블반도체(FPGA) 엔지니어인 신경수 연구원 두 사람을 인터뷰했다. 다음은 두 사람과 나눈 일문일답이다.

 

네이버클라우드 버추얼라이제이션 테크서비스 박종승 리더(왼쪽)와 신경수 연구원. [사진=네이버클라우드 제공]



Q. 간단한 본인 소개 부탁한다.

박종승: 지난 3년간 네이버클라우드 하드웨어개발조직 리더로 개발 활동에 참여했다. 그 이전에는 클라우드 사업조직의 다른 영역 기술이나, 상품 개발과 같은 일을 했다. 네트워크상품, 이 분야 시스템이나 네트워크 기술 개발을 담당했다.

신경수: 이전까지 LG전자에서 디지털TV용 시스템온칩(SoC)과 같은 주문형반도체(ASIC) 설계업무를 하다가 2017년 네이버클라우드에 오게 됐다. 이 부서에서 FPGA 개발과 하드웨어 관련 가속화 기술에 대한 전반적인 연구개발을 맡고 있다.

Q. 개발했다는 '스마트닉'이 뭔가.

박종승: 스마트닉의 특징적인 용도를 먼저 소개하는 게 이해하기 쉬울 것 같다. 퍼블릭 클라우드 서비스 가운데 가상프라이빗클라우드(VPC)라는 게 있다. 사용자 기업마다 독립된 인터넷데이터센터(IDC)처럼 쓸 수 있게 제공하는 유형의 상품이다. 이 VPC는 목적지가 다른 패킷(네트워크로 전달되는 데이터 조각)이 서로 간섭하지 않는 보안상 안전한 공간을 네트워크가상화 환경으로 구현한다. 성능을 높이고 지연시간을 줄이려면 스마트닉과 같은 하드웨어로 이를 처리하는 게 유리하다.

신경수: 스마트닉은 평범한 랜카드(NIC·Network Interface Card)가 못하는 일을 할 수 있도록 개발된 서버용 부품이다. 네이버클라우드를 위한 네트워크 알고리즘·프로토콜을 프로그래밍한 FPGA와 상용 NIC의 주문형반도체(ASIC) 칩셋을 결합했다. 일반 NIC은 Checksum Offload, RSS, TCP Offload 등 일반적인 트래픽 처리 기능만 갖고 있다. 이 하드웨어가 (VPC용 네트워크 가상화같은) 특수한 기능을 수행할 수 없기 때문에, 데이터센터 서버의 소프트웨어가 그걸 맡아서 처리한다. 스마트닉은 특수한 기능을 처리하도록 맞춤화(Customize)한 기술을 FPGA 방식으로 탑재한 NIC이다. 통상 소프트웨어로 처리해야 했던 동작을 이 하드웨어에 넘겨줌(offload)으로써 전반적인 트래픽 처리성능을 높여 준다.

Q. FPGA를 선택한 이유는.

신경수: 소프트웨어로 처리하던 동작을 빠르게 처리하기 위해 프로그래밍된 하드웨어를 ASIC 칩셋으로 만들어서 쓸 수도 있다. 하지만 이건 한 번 제조된 뒤 동작을 바꾸지 못한다. ASIC의 기능을 업데이트하려면 하드웨어를 바꿔야 한다. 그런데 클라우드서비스 환경에서 고객의 니즈는 다양하고 예측하기 어렵다. 그래서 실시간으로 스펙을 업데이트하고 알고리즘을 보완해야 할 경우가 많다. FPGA는 필요에 따라 프로그램을 재조합할 수 있어, 이런 분야에 적합하다.

박종승: 스펙, 알고리즘이 계속 바뀌어야 하는 네트워크 장비와 같은 기기는 ASIC과 함께 FPGA를 사용해 제품을 만드는 사례가 많다. FPGA는 소규모 생산으로 투자수익(ROI)을 맞출 수 있어 ASIC보다 생산비용, 개발기간 부담이 덜 들기도 한다. 다수의 제조업 회사들도 사물인터넷(IoT) 제품, 반도체 검사 장비, 금융자동화기기(ATM), 디스플레이드라이버(DD)같은 제품에 FPGA를 많이 쓴다. 삼성LSI나 LG전자는 본격 ASIC 생산을 시작하기 전에 검증을 위해 FPGA를 많이 활용한다.

Q. 네이버클라우드에 어떻게 쓰이나.

신경수: 스마트닉은 데이터가 들어가는 입구를 넓혀서 한 번에 받아들일 수 있는 데이터량을 크게 늘려 준다. 스마트닉 기술을 적용한 서버는 100Gbps 또는 200Gbps의 수용량을 갖게 된다. 10배, 20배 트래픽을 안정적으로 처리할 수 있다. 이 덕분에 클라우드서비스 제공자 입장에서, 더 적은 수의 서버로 서비스를 제공할 수 있다. 서버 수가 적은 만큼 소비전력량과 비용이 절감된다.

Q. 서버를 늘리면 안 되나. 

신경수: 5세대(5G) 이동통신 기술이 상용화되면서 IDC에서 다루는 데이터량이 증가했다. 데이터 처리에 필요한 서버 수도 많아졌다. 그런데 서버 수를 늘리는 것만으로는 충분하지 않다. 예를 들어 서버 한 대가 원래 수용할 수 있는 데이터량이 초당 10기가비트(Gbps)면 서버가 20대일 때 전체 200Gbps를 처리할 수 있다고 생각하기 쉽다. 그런데 이건 모든 서버에 똑같이 10Gbps 트래픽이 들어간다고 가정할 때 얘기다. 특정 영역 서버에 트래픽이 한계 이상으로 몰리면 여전히 성능 부족으로 서비스 장애가 발생하기 쉽다. 이에 대비하려면 각 서버의 최대 처리성능도 더 높아져야 한다.

Q. 고객사에 좋은 점은.

박종승: 기존 환경에서 클라우드서비스 사용 고객이 원하는 기능을 제공하기에는 제한 조건이 많았고 제공이 불가능한 경우도 있었다. 하지만 FPGA 기반 스마트닉을 사용하면서 그런 제한 조건이 없어졌고 고객 요구에 즉각 대응이 가능해졌다. 특수 기능을 스마트닉의 하드웨어로 처리하면 서버에서 구동되는 소프트웨어의 처리를 기다리지 않아도 된다. 그만큼 전체 서비스 지연시간이 짧아지고 사용자가 체감하는 서버의 응답속도가 빨라진다.

신경수: 일반 장비 대비 20배 수준인 스마트닉의 뛰어난 네트워크 처리 기능과 성능으로 기업 고객에게 전용IDC처럼 (화물운송용 컨테이너로) 제공할 수 있는 VPC 상품을 만들었다. 구축에 필요한 하드웨어가 20분의 1로 줄어 가능해진 모델이다. VPC 안에서 기업 고객은 공용 IP 기반으로 제공되는 퍼블릭 클라우드의 자원에 자체IDC처럼 사설 IP를 할당해 운영할 수 있다. 이 복잡한 네트워크 환경에서 경로지정(라우팅)에 필요한 수십~수백배의 추가 연산 성능을 스마트닉이 처리한다.

Q. 실제 도입된 곳이 있나.

신경수: 네이버클라우드 가운데 VPC 고객사들이다. 업종에 특화된 '금융존' 전체가 VPC로 구성돼 있다. 우리 금융존을 이용하는 한화생명, 동양생명, 농협 등 금융사들이 모두 네이버클라우드의 FPGA 기반 스마트닉 기술을 활용한다고 보면 된다. 네이버클라우드 VPC를 2개월 전 일반 클라우드서비스 상품으로도 출시했는데 이 쪽에선 아직 외부에 공개할 수 있는 고객사가 없다.

Q. 다른 클라우드서비스에 유사한 사례가 있나.

박종승: MS가 자사 클라우드 서버에 적용하기 위해 '프로젝트 캐터펄트(Project Catapult)'라는 이름으로 FPGA를 활용한 스마트닉을 개발했다. 아마존웹서비스(AWS)는 자체 설계 ASIC으로 스마트닉 '니트로카드(Nitro card)'를 만들었다. 클라우드사업자는 아니지만 트위치가 FPGA를 활용해 비디오 트랜스코딩 성능을 높여 고품질 스트리밍서비스를 하고 있다. 한국에선 SK텔레콤이 AI스피커 '누구'에 GPU대비 저전력·고성능이 특징인 FPGA 기반 가속기를 적용했다.

Q. 개발이 쉽지 않았을 텐데.

박종승: 대표님 지시로 글로벌 기업들처럼 VPC를 만들어 보자는 계획으로 '맨땅에 헤딩'을 시작했다. 패킷을 어떻게 생성할지, 어떤 것을 VPC라고 할지, 이를 구현하려면 어떻게 (패킷을) 격리해야 할지부터 알아나갔다. 신 연구원이 합류하기 전부터 초창기 소수 멤버들이 어떻게 해야 진정한 VPC를 만들 수 있을까 고민하면서 설계만 2년 넘게 했다. 테스트 모듈을 만들었다가 백지화하고 재설계하는 과정을 반복하는 게 힘들었다.

신경수: 실 구현 과정에선, 모든 시스템과 장비에선 문제가 발생하기 마련이지만, 스마트닉의 장애 대응을 위해 100% 신뢰할 수 있는 신호발생기(event trigger)를 만들어야 하는데 그게 어려운 부분이었다. 스마트닉은 복잡한 로직(Logic)이 집약된 PCB카드로 제작됐고 FPGA는 'SEU(Single Event Upset)' 오류를 일으킬 수 있다. 여러 모니터링 로직을 개발해 이를 감지할 수 있는 시스템을 만들었고 현재까지 관련 장애 0건으로 서비스를 하고 있다. 또 이미 스마트닉을 적용한 수많은 서버가 가동 중인 상태에서 기존 서비스에 영향을 주지 않고 실시간 업데이트를 수행하고, 고객이나 운영상 실수를 확인해 서비스 관련 문의에 즉각 대응하려면 패킷 디버깅도 쉽게 가능해야 했다. 이를 해결하기 위해 네트워크에 소프트웨어정의네트워크(SDN)와 유사한 중앙화 소프트웨어 제어영역을 설계해 적용했다.

Q. FPGA 활용한 다른 계획은.

박종승: FPGA 기술 연구·내재화를 통해 기존 상용 제품 대비 확장성을 높이고 차별화된 클라우드 기능을 갖췄다. 이를 통해 고객에게 더 많은 가치를 제공하게 됐다. 앞으로도 네이버클라우드는 다방면의 투자 및 연구를 진행할 예정이다. FPGA는 스마트닉뿐아니라 다양한 분야에 응용이 가능하다. 기존 CPU의 단점을 보완하거나 GPU로는 효율적으로 처리하기 어려운 분야에 FPGA가 사용되는 사례가 많다. 몇몇 클라우드 사업자들이 '서비스형 FPGA(FaaS·FPGA as a Service)' 상품을 내놓고 있다. 우리도 가상화된 FPGA 기술을 바탕으로 사용자가 쉽게 FPGA를 활용해 반도체 설계를 학습하고 개발·서비스구축을 하게 하는 것이 목표다. FPGA를 비롯한 기반 반도체 설계(Front-End) 기술은 대학교 학부과정에서 접근하기 어려운 부분이 많다. 국내에는 관련 분야 개발자들이 부족하다. 정부는 현재 이 인력을 확보하겠다면서 많은 투자를 하고 있다. FPGA와 반도체 설계 기술은 유사성이 크다. ASIC 개발 단계에서 반도체 파운드리에 맡기기 전에 FPGA로 프로토타이핑을 하는 과정으로 모든 것을 검증할 수 있다. 우리는 사용자들이 이런 FPGA에 더 쉽게 다가갈 수 있는 서비스를 만들겠다.

신경수: 이제까지는 FPGA로 클라우드서비스의 네트워크 처리 효율을 높였는데 앞으로는 스토리지와 컴퓨팅 성능도 높이겠다는 목표를 갖고 있다. FPGA가 연산을 나눠 맡아 전체 성능을 높이면 같은 값에 더 좋은 서비스를 제공할 수 있게 된다. 현재 고객들이 고성능을 원해 '베어메탈' 서비스를 쓰지만 그만한 비용 부담을 감수하고 있다. AWS가 작년 (EC2 인스턴스 계열 신상품) 니트로와 같은 수준으로 효율을 끌어올리겠다는 목표를 갖고 있다.

Q. 추가로 할 얘기가 있다면.

신경수: 클라우드서비스 회사 안에 하드웨어 전문 기술인력이 모여 있다는 것이 잘 알려져 있지 않다. 우리 회사가 이런 일을 하고 있다는 점, 서비스 품질을 높이기 위해 하드웨어에 투자하고 있다는 점을 알리고 싶다. 반도체 설계 역량을 보유하고 있는 전문가들에게 반도체 전문 기업뿐아니라 우리같은 기업에서도 중요한 역할을 할 수 있다는 얘기도 하고 싶다.

박종승: 사람 뽑고 있다. (초기 힘든 기간이 있었지만) 지금 잘 나가는 조직이다. 일반 소프트웨어 개발자들보다 업무는 훨씬 더 힘들 수 있다는 점 인정한다. 배워야 할 게 상대적으로 많고 그에 상응하는 결과물을 내기가 쉽지 않다. 하드웨어로 상품 하나 출시하기까지 1년에서 1년반 이상의 개발 기간이 필요하다. 그걸 견딜만한 인내와 끈기가 있는 분이면 맞을 것 같다. 또 여러 상품과 툴을 개발해야 하기때문에 독립적으로 연구만 할 수 없다. 협업을 많이 해야 하기 때문에 개방적이고 활달한 성격인 사람이 좋다.

컴패션_미리메리크리스카스

©'5개국어 글로벌 경제신문' 아주경제. 무단전재·재배포 금지

네티즌 의견 0
0 / 300

실시간 급상승

9.9초 더보기

아주 글로벌