Showing posts with label OpenPOWER. Show all posts
Showing posts with label OpenPOWER. Show all posts

Monday, October 24, 2016

S822LC for HPC를 만나다! GTCx Korea 2016에서

최근 하드웨어 관련 컨퍼런스에서 이렇게 사람이 많이 모여 있는 것을 본 적이 없다. 하드웨어는 이제 어셈블리나 코볼이나 포트란처럼 존재하기는 하지만 거의 잊힌, 그런 모습이었다. 하지만, GTCx Korea 2016에서는 완전히 다른 분위기였다.


IBM Power Systems S822LC for High Performance Computing. 개발 코드 이름은 Minsky. 인공지능학계에 위대한 업적을 남기신 Marvin Lee Minksy 박사님의 이름을 따서 썼다. 그 분의 별세 소식을 접한 당시 개발팀에서 애도 표하고 업적을 기리는 의미로 Minsky라는 이름을 '감히' 따서 섰다.

S822LC for HPC는 세계 최초로 NVLink가 탑재된 서버이다. 잠깐만! DGX-1이라는 Nvidia의 레퍼런스 시스템에도 NVLink가 있지 않는가? 그렇다 맞다, 하지만 S822LC for HPC는 DGX-1과는 달리 GPU to GPU NVLink가 있는 것 뿐만 아니라, 최초의 설계 사상에 따른, CPU to GPU NVLink도 탑재되어 있다. 진정한 NVLink가 동작하는 최초의 하드웨어이다.


그렇다면, NVLink라는 것이 GPU 간의 버스로 동작하면 그만이지 굳이 CPU와 GPU간의 연결 버스로 설계되어야 하는가? 그렇다. 큰 차이를 만든다. GPU를 통한 연산을 할 때 가장 큰 병목이 발생하는 구간이 CPU와 GPU 간이다. 종례의 3세대 PCIe x16를 사용할 경우 사용할 수 있는 최대 I/O 대역폭은 32GB/s, 그러나 NVLink는 80GB/s의 대역폭을 지니고 있다. NVLink는 또한, 다른 모든 I/O가 사용하는 PCIe와는 달리, CPU - GPU - GPU만을 위한 독립 버스이다. 만약 당신의 GPU 기반의 병렬연산이 그렇게 빠르지 않은 것 같은 느낌이 있다면, 바로 제대로 된 NVLink가 필요하다는 뜻이고, S822LC for HPC를 지금 써 봐야 한다는 이야기가 된다.


S822LC for HPC는 이렇게 생겼다. 사진 하단이 정면이고, 전시를 위해 상부 덮개는 제거해 두었다. 아, 전면 덮개도 떼어 놓았다. 사진에서 보이는 것과 같이 공기 흐름는 메모리 > CPU + GPU > GPU + PCIe 를 단계로 거치게 된다. 메모리 모듈이 가장 먼저 '찬 공기'를 만나는 설계이다.

앞 쪽에 4개의 팬이 있다. 우측에 검은색으로 보이는 부분은 디스크 혹은 SSD가 장착되는 SFF 베이이며, 사진 속 전시 제품은 960GB SSD 두 개가 있었다. 우측에 전원 스위치와 USB 3.0 포트도 나란히 있다.



가운데 부분은 메모리 모듈이며, DIMM 4개가 한 보드에 장착되어 시스템과 연결된다. 전시 제품은 16GB DIMM이 장착되어 있었으며, 하나의 메모리 모듈 당 4개의 DIMM이 설치 될 수 있다. 그리고 메모리 모듈은 총 8개가 시스템에 연결된다. 16GB * 4 * 8 = 512GB 메모리가 장착되어 있었다. 이 제품은 4GB · 8GB · 16GB · 32GB DDR4 DIMM을 지원하니, 최대 1TB 메모리를 장착하여 사용할 수 있다. 전시제품의 DIMM 제조사는 삼성전자.


구리색 방열판 아래에 있는 칩이 Nvidia의 Tesla P100이다. 이 시스템은 최대 4개의 P100이 장착될 수 있고, 사진 속의 시스템도 그렇다. 은색 방열판 아래에 있는 칩은 POWER8 CPU이며, 8 core 3.25GHz 또는 10 core 2.86GHz POWER8 CPU가 2개 장착된다. 앞서 강조한 NVLink를 위한 GPU 소켓이 마더보드에 있고, 바로 옆에 CPU 소켓이 설계되어야 하기에 DIMM 슬랏이 제거되고 모듈 형태로 독립된 구역에 설계되었다. 흥미로운 구조이다.


뒷면에서 보면 이런 모습이다. 두 개의 전원공급장치가 위치하고 있다, 각 1300W라고 기억한다. 사진으로는 자세히 보이지는 않지만, Mellanox에서 제작한 IB 카드와 10Gb 이터넷 카드도 장착되어 있다. IBM · Nvidia · 삼성전자 · Mellanox, OpenPOWER 재단의 주요 회원사들간의 부품들이 있는 것이다.

옆 부스에서 DGX-1도 봤다.


아랫쪽에 Intel Xeon과 DIMM이 장착되는 큰 서랍이 있고, 상부에 P100 8개가 장착되는 구조였다. 사진에서 느껴지는 것처럼 거대했다.


위 사진은 상판 덮개와 앞쪽 덮개. 자세히 보면, S822LC라는 모델명을 읽을 수 있다.

부스에서 방문객들의 질문을 받으면서 두 가지에 놀랬다. 하나는 질문의 수준이 매우 높았다는 것이고, 다른 하나는 그렇게 많은 사람이 찾아와 질문을 했다는 사실이다. 둘 다 '전혀' 예상하지 못했다. 어쩌면 이 기계는 기계가 잊힌 시대에 기억되는 기계가 될 수도 있겠다는 생각을 잠시 했다.

Friday, July 22, 2016

오픈소스, OpenPOWER 그리고 GPU

변화와 혁신의 진원, 오픈소스 운동과 OpenPOWER 그리고 GPU로 여는 새로운 컴퓨팅의 세계

세상은 변하고 있습니다. 지난 세대도 지금의 세대도 앞으로의 세대도 변할 것임이 분명합니다. 이런 일반원칙이 가장 잘 적용되는 곳이 바로 IT 세계라고 생각합니다.
초기의 컴퓨팅 환경은 매우 흥미로웠습니다. 한 번의 연산을 수행하기 위하여 책상 위에서 완성한 코드가 적힌 공책을 손에 쥐고 키 입력의 순서를 기다리는 프로그래머들의 모습은 구텐베르크 혁명 이전의 시대, 세상에 몇 없던 도서관에서 중요한 서책의 한 부분의 필사를 원하는 수도사들과 다르지 않았을 것입니다. 이러한 모습은 네트워크 장치와 통신 방법의 발전과 일반화로 변하게 되었고, 많은 사람들의 협업과 세속적 이윤을 추구하기 위한 노력의 결과로 조금씩 보편화 되었습니다. 그리고 이제는 거의 모든 컴퓨터가 항상 온라인 상태를 유지하고 심지어 지금 우리의 호주머니 속에 있는 휴대전화도 매우 훌륭한 정보단말기로서의 역할을 온종일 수행할 수 있게 되었습니다.


이런 통신의 발전은 컴퓨팅이라는 일반연산 수행 방법과 결과 조회의 상황에 많은 변화를 주었습니다. 서버 없는 서버 설계가 가능하게 되었고, 소유하지 않으면서 정보를 생성하고 조회하고 가공하여 가까운 미래를 누구보다 먼저 예측할 수 있는 사업 모델을 만들어 낼 수도 있게 되었습니다. 그리고 이 발전은 매우 급진적이고 눈부셔서 당장 다음 세대를 예견하는 것은 매우 힘든 일이 되었고, 어쩌면 다음 주의 IT 헤드라인이 무엇이 된다 하여도 아무도 놀라지 않을지도 모를 일입니다.
혁신에 혁신을 더 하고 그 혁신이 창조적인 방법을 만들어 내고 창조적 방법들이 미래를 오늘날로 당겨오는 과정을 빠르고도 빠르게 진행시키는 것입니다.

그렇다면, 이런 혁신의 주체는 과연 누구일까요?
아무도 아닐 수 있을 만큼 모두가 될 수도 있습니다. 종례의 시간에는 비즈니스 리더쉽에 의존한 몇몇 독점적 특허와 판매 모델로 무장한 소수의 사람들이 부를 장악하고 그 장악력을 바탕으로 자신이 제어할 수 있는 범위 내의 새로운 제품을 시장에 소개함으로써 기술의 방향성을 설정하고 미래를 이야기할 수 있는 권리를 획득했습니다. 몇몇 건전한 기업은 이를 통하여 전인류의 복리에 기여했겠지만, 대부분의 기업은 독점적 지위에 편승한 제한된 혁신을 매력적인 제품에 차등 주입함으로써 가까운 미래를 먼 미래로 돌려 보내는 일도 서슴지 않았습니다.

하지만, 오늘날의 혁신은 이와 같지 않게 되었습니다. 전세계에 산재(散在)되어 제자백가(諸子百家)의 소리를 내던 해커들이 차근차근 이어온 오픈소스의 작은 혁명은 새로운 협업의 좋은 예로 인식되기 시작했고, 기업들은 보다 개방적 혁신을 세상에 제공하기 위하여 이러한 사상을 수용하였습니다. 그렇게 오픈소스 프로젝트는 보다 실속 있고 현실 세계의 변화를 주도하는 주효한 역할을 지속적으로 수행할 수 있게 되었습니다. 지금의 세상 지금의 IT의 혁신은 바로 이 오픈소스 운동에 기반한다고 하여도 과언은 아닐 것입니다.

오픈소스 운동은 70년대를 거치면서 자가개발 운영체제에 탄생되었다고 할 수 있습니다. 어쩌면 최초의 설치가능한 운영체제와 소프트웨어는 모두 오픈소스였다고 해도 괜찮을 것입니다. 그리고 지금도 오픈소스 운동은 소프트웨어의 발전 동력으로 평가되고 있습니다. 하지만, 오픈소스 운동은 운영체제 커널을 비롯한 각종 소프트웨어에서만 찾아볼 수 있는 것은 아닙니다. 하드웨어 그것도 가장 핵심적인 중앙처리장치(CPU)에서도 이미 진행 중입니다.


IBM은 수년 전 자사의 가장 핵심적인 기술 중의 하나인 Power 프로세서를 오픈소스로 기술을 공개했습니다. 바로 OpenPOWER가 그 이름이고, 이를 유지하기 위한  재단도 설립하였습니다. 원천기술을 제공한 IBM을 비롯한 NVIDIA, Google, Mallanox, Tyan그리고 우리에게도 익숙한 삼성전자가 함께 시작한 이 OpenPOWER는 현재, 전세계 주요 IT 회사들 뿐만 아니라 연구소 등 단체와 개인들이 참여하여 함께 꾸려가는 또 하나의 거대한 오픈소스 프로젝트가 되었습니다.

단순히 CPU 설계 기술을 공개했을 것만 같은 이 오픈소스 프로젝트는 리눅스가 기반하는 컴퓨팅의 자유를 더 넓은 세상으로 확대하게 되었고, 주요 배포판 제작사들이 모두 참여하는 든든한 바탕이 완성되었으며, 이러한 결과로 IT 인프라를 설계하고 주요 워크로드의 적절한 배치를 고민하는 기획자들에게 유효한 선택자가 되었습니다. 이에 대한 아주 좋은 사례로 Google이 자사의 IT 인프라에 OpenPOWER를 선택했다는 것에서 찾을 수도 있겠습니다.
하지만, 더 빛나는 결과는 이제 곧 펼쳐질 예정입니다.

GPU, Graphic Processing Unit은 과거 단순한 연산의 결과를 화면에 출력하는 프레임버퍼 역할에서 독자적인 연산 즉, CPU와 버금가거나 어쩌면 그에 우월하는 일반연산 영역까지 확대되고 있습니다. 이에 대하여 이견을 제시하는 사람은 아마 없을 것입니다. 1999년 이 장(章)의 첫 쪽을 멋있게 연 Nvidia는 GeForce라는 이름을 게임을 즐기는 한정 사용자 뿐만 아니라 IT에 관심을 가지지 않았던 사람들에게까지 알리는 계기가 되었고, 누구보다도 앞서서 혁신을 거듭하고 있습니다.


1999년 이후 거듭 세상을 놀라게 했던 GPU는  그래픽 출력의 영역을 일찍이 넘어 CPU와 더불어 연산의 차원을 확장하는 역할을 수행하고 있습니다. CPU의 발전의 제한을 GPU를 통하여 뛰어넘는 결과가 펼쳐지고 있는 것입니다. 이를 위하여 Nvidia는  NVLink라는 놀라운 버스 기술을 선보였고, Pascal 마이크로아키텍처를 바탕으로 하는 Telsa P100 GPU를 발표했습니다. 그리고, 이 새로운 세대의 GPU, Pascal 마이크로아키텍처를 완성하는 NVLink는 OpenPOWER 재단을 중심으로 IBM과 Nvidia의 수 년간의 협업을 통하여 완성되었으며, 곧 출시될 코드네임, Minsky로 알려진 최신 Power Systems에 세계 최초로 탑재됩니다. 오픈소스 혁신은 이렇게 하드웨어의 영역에서도 빛나는 결과를 얻게 되었습니다.

NVLink는 CPU와 GPU 간 데이터 교환을 PCIe 인터페이스를 거치지 않고 CPU와 GPU 그리고 GPU와 GPU가 직접 통신할 수 있게 설계된 새로운 버스입니다. NVLink의 최대 대역폭은 80 GB/s로, 16GB/s인 최신 PCIe 3.0 x16과 비교하여 5배 빠른 속도를 보여주고 있습니다. 하지만, 전송 bit당 소모 전력은 PCIe 버스에 비해 낮다고 알려져 있습니다.


Power Systems는 NVLink로 완성되는 GPU의 혁신을 가장 먼저 세상에 선보입니다. 서버의 최고 성능을 담보하는 고차원 컴퓨팅의 가능성을 직접 만날 수 있습니다. 특히, 미국 에너지부(Unite States Department of Energy; DoE)에서 NVLink를 기반으로 하는 'Summit'과 'Sierra'라고 알려진 두 종류의 수퍼컴퓨터를 IBM과 Nvidia를 통하여 공급받기로 계약을 했다는 보도는 제품이 아직 출시되지 않았음에도 이 기술에 대한 높은 가능성을 실증하는 사례로 일컬어지고 있습니다.

OpenPOWER 재단의 IBM과 Nvidia가 여는 새로운 컴퓨팅의 세계에서 우리는, 고성능 연산(HPC)과 딥러닝(Deep Learning)으로 이상과 현실의 경계를 보다 모호하게 만들 것이며, 먼 미래로 약속했던 발전의 이정표를 가까운 시간대로 수정하는 멋진 일을 가능하게 할 것입니다.

(어느 회사의 온라인 잡지에 수록되는 것을 전제로 청탁받아 기고한 글을 여기에도 게시함)