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라는 모델명을 읽을 수 있다.

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

---

이 글을 여기에 올릴 때까지는 몰랐는데, 최근 많은 사람들이 '민스키'라고 말을 할 때 마다 마음이 불편해 진다. 한낱 기계를 칭하는 이름으로 위대한 과학자의 이름을 빌려 쓰는 것이 옳은 일이 아니라는 생각마저 들었다. 그래서 본문의 'Minsky'를 'S822LC for HPC'로 변경했다. 그리고 'Minksy'의 유례를 짧게 적어 넣었다. (2016년 12월 28일)

Tuesday, October 04, 2016

어떤 매체의 원색적인 질문에 대한, 가벼운 답변

지난 봄, 어떤 IT 매체가 내가 속한 조직의 대표자에게 질의서를 보내어 왔다. 춘계특집물이었던 것 같다. 그 질의서에서는 'UNIX와 x86의 경쟁구도'로 서버시장을 설정하고 이런 저런 그다지 중요하지 않은 질의들이 담겨 있었는데, ‘누가 클라우드 컴퓨팅 시대에 승자가 되겠는가?’라는 원색적인 질문을 내가 맡아 답변서를 적게 되었다. IT에 대한 기본 지식은 물론이거니와 시장에 대한 해안도 없어 보였고 특집에 걸맞는 질문도 어니었지만, 아무튼

나의 답신은;

(의견 요청) 클라우드 시대에 어떠한 서버 플랫폼이 궁극적인 승자가 될 것으로 보십니까?

(회신 내용) 질의하신, ‘클라우드 시대’라는 것은 일반적으로 재화를 구입하여 직간접적으로 운영하는 시대에서 벗어나 계약 기간내 사용한 컴퓨팅 자원을 탄력적으로 사용하고 그에 대한 대가를 금전으로 치루는 것을 의미할 것으로 볼 수 있습니다. 이러한 시대에 서버 플랫폼을 이야기하는 것은 매우 어색할 수 있습니다. 서비스 제공자는 사용자와의 ‘계약조건’에 적합한 IT 인프라를 구성할 것이며, 사용자는 ‘비용효율’과 ‘서비스 수준’을 고려한 선택을 하게 됩니다. 이와 같은 새로운 경제구조에서 서버 플랫폼의 CPU 아키텍쳐와 OS의 종류를 종례와 같이 고려하지는 않습니다. 따라서, ‘클라우드 시대’에 ‘어떠한 서버 플랫폼’이 마지막 ‘승자’로 예상하는 것은 유효한 판단이라고 할 수는 없을 것입니다.
현재 많은 서비스 제공자들이 8x86 CPU 아키텍쳐에서 Linux 커널 기반의 GNU 운영 시스템을 권장하고 있지만, 이것은 지금의 경향일 뿐일 수 있습니다. ARM 그리고 OpenPOWER가 좋은 대안으로 고려되고 있고, UNIX 혹은 윈도 서버 또는 우리가 아직 언급하지 않고 있는 새로운 운영체제가 각광받을 수도 있습니다. 앞서 언급한 ‘비용효율’과 ‘서비스 수준’만 만족할 수 있다면 대안은 언제든지 등장할 것입니다.
무엇보다 분명한 것은, 입시문제처럼 ‘준식’에 의거한 ‘정답’이 존재하던 시대는, 이제 끝이 났다는 점입니다.