기본 콘텐츠로 건너뛰기

엑사 스케일 슈퍼 컴퓨터





 현존하는 가장 강력한 슈퍼컴퓨터들은 이미 페타플롭스 (Petaflops) 의 벽을 뛰어넘은 상태입니다. 미국의 여러 정부 기관 및 회사들은 이미 이 단계를 더 뛰어넘는 컴퓨터인 엑사스케일 컴퓨팅을 생각하고 있고 이를 2018 년까지 현실화 시키기 위해 연구를 진행중에 있습니다. 


 페타플롭스란 1초에 부동소수점 연산을 1000 조회 (10의 15승) 정도 할 수 있는 연산 능력을 말합니다. 페타스케일 컴퓨팅을 이야기 할 때는 부동소수점 연산 능력외 페타플롭스급 스토리지를 언급하는 경우도 있기는 하지만 실제로 페타플롭스급 스토리지는 이제 그렇게 드물지는 않기 때문에 페타스케일 컴퓨팅이라고 하면 페타플롭스 슈퍼컴퓨터를 보통 이야기 합니다. 지금 이야기할 엑사 스케일은 10의 18 승으로 1초에 부동소수점 연산을 100 경회 시행할 수 있는 컴퓨터를 이야기 합니다. 


 페타플롭스급 슈퍼컴퓨터가 처음 등장한 것은 2008 년 5월 25일로, IBM 의 슈퍼컴퓨터 로드러너 (Roadrunner) 가 1.026 PFlops 를 기록한 이후 현재까지 일본의 K (Kei) 컴퓨터가 2011 년 8.162 FLOPS 의 기록을 수립했습니다. 물론 현재 개발되는 슈퍼컴퓨터들 가운데는 이보다 더 강력한 것들이 있어 앞으로도 기록은 새로 수립될 것입니다. 



(2011 년 11월 세계 탑 5 슈퍼컴퓨터. 엔비디아는 여기서 테슬라를 적극 밀고 있다. ) 


 미국의 에너지부 (DOE : Department of Energy) 및 국립 핵 안전 기구 (National Nuclear Security Administration) 등 여러 미국내 정부 기구들은 기초과학 연구부터 소재 과학, 생명공학, 핵물리학 등 여러 분야에 필요한 더 강력한 슈퍼컴퓨터 제작을 의뢰한 상태이고 미국 국방 고등 연구 계획국 ( Defense Advanced Research Projects Agency : DARPA )  는 이를 위해 와트당 50 GFLOPS 의 전력대 연산 효율을 요구하고 있습니다. 


 즉 다시 말해 20 MW 의 전력을 소모하면서 엑사플롭스급 연산 능력을 지녀야 한다는 의미인데 실제 20 MW 라고 해도 그 전력 소모가 엄청난 만큼 이 이상으로 전력을 소모하게 된다면 사실 비용이나 효율성 면에서 큰 문제가 됩니다. 솔직히 전력 소모와 비용에 대한 제한이 없다면 현재도 엑스플롭스급 컴퓨터를 구성할 수는 있습니다. 하지만 비용과 유지하는데 필요한 에너지를 생각하면 낭비적인 요소가 매우 큽니다. 사실 20 MW 도 엄청난 전력 소모량이라고 할 수 있습니다.


 이런 이유에서 현재 IBM, 엔비디아, 인텔 등 여러 제조사들은 와트당 성능비를 2018 년 근처까지 비약적으로 향상시키기 위해 여러가지 노력을 하고 있습니다. 


 엔비디아는 여기에 매우 적극적으로 나서는 업체 가운데 하나인데 이는 자사의 GPU 를 기반으로 한 GPGPU 에 집중하고 있기 때문입니다. 엔비디아에 의하면 현재의 GPU 들은 병렬 연산에 최적화되어 있으며 GPU 내의 쉐이더 유닛 혹은 스트림 프로세서들이 점차 범용성을 띄어감에 따라 그래픽 연산이외의 연산도 수행할 수 있게 되었습니다. 다만 슈퍼컴퓨터 혹은 HPC (High Performance Computing) 의 목적에 최적화 시키기 위해서 페르미와 같은 엔비디아의 GPU 는 그 다이 크기가 매우 비대해졌습니다. 왜냐하면 그래픽 연산과 HPC 연산을 위한 부분을 같이 포함하기 때문이죠. 





 엔비디아는 GPU 를 이용한 컴퓨팅, 즉 GPGPU ( General-purpose computing on graphics processing units  ) 가 CPU 로만 단일 병렬 컴퓨팅을 사용할 때 보다 더 나은 이유를 위와 같이 설명하고 있습니다. 본래 CPU 들은 기본적으로 싱글 쓰레드 연산을 빠르게 할 수 있는데 최적화 되어 있어 빠른 클럭과 깊은 파이프라인, 레이턴시에 최척화된 캐쉬, out of order 연산과 슈퍼스칼라 아키텍처 등을 가지고 있습니다. 이는 싱글 쓰레드를 빠르게 연산하는데는 적합하지만 에너지 효율적인 구조라곤 할 수 없어 만약 CPU 만으로 슈퍼컴퓨터를 구성하는 경우 와트당 50 GFLOPS 라는 목표를 달성하기가 매우 곤란해 진다는 것입니다. 


 이에 비해 GPU 는 CPU 보다 훨씬 단순한 구조들이 반복해서 병렬화를 이미 하나의 칩에서 이루고 있기에 병렬 연산이 대규모로 필요한 경우에 CPU 보다 더 에너지 효율적으로 연산을 시행할 수 있습니다. 다만 모든 연산에서 CPU 보다 빠른 것은 아니며 CPU 가 더 최적의 연산을 할 수 있는 Serial Code 의 연산에 있어서는 사실 CPU 가 더 빠릅니다. 이를 서로 협력하는 구조로 만든다면 더 빠른 연산이 가능하다는 게 엔비디아의 생각입니다. 



 따라서 미래에는 CPU + GPU 를 통한 하이브리드 컴퓨팅이 대세가 된다는 것이 엔비디아의 전략입니다.  단 엔비디아는 이것이 자신만의 전략은 아니라고 생각하고 있습니다. 이미 AMD 도 향후 fusion 의 미래가 CPU 와 GPU 의 완전한 통합이고 FSA (Fusion System Architecture) 라고 부르는 CPU + GPU 이기종 컴퓨팅을 컴퓨팅의 미래로 생각하고 있습니다. 



 인텔 역시 비슷한 아이디어를 도입하고 있는데 그것이 그래픽 카드 처럼 연결되는 인텔의 MIC 입니다. 인텔은 MIC 를 통해 단일 칩으로 1 TFLOPS 를 넘어설 수 있음을 보여주었습니다. (http://blog.naver.com/jjy0501/100143544525  참조) 결국 인텔 역시 CPU + GPU 와 비슷한 이기종 컴퓨팅을 고려하고 있지만 인텔은 자사의 칩을 GPU 용으로 출시하진 않고 있으므로 병렬 연산 전용의 이기종 컴퓨팅이라는 측면이 다릅니다. (그리고 사실 이 MIC 역시 x86 기반이라 엄밀히 말하면 이기종 컴퓨팅이라고 부르기도 다소 애매한 위치에 있기는 한데 그냥 병렬 연산 전용 하이브리드 컴퓨팅이라고 생각할 수 있을 듯 합니다) 


 참고로 엔비디아가 하나의 칩을 GPU 와 HPC 시장에 내놓으므로써 얻는 장점이 있습니다. 그것은 게임용으로 대량으로 양산하기 때문에 가격면에서 매우 저렴하게 만들 수가 있다는 점입니다. 사실 GPU 나 HPC 목적 한가지에 최적화된 칩이 아니기 때문에 각각에서 조금씩 손해를 보게 되지만 이는 대량 생산이라는 장점 앞에 충분히 상쇄가 된다는 게 엔비디아의 생각이고 실제 페르미 출시 이후 엔비디아의 행보를 보면 이는 어느 정도 맞는 이야기로 나타나고 있습니다. 



(인텔의 MIC 는 GPU 와 유사한 방식으로 CPU 와 하이브리드 컴퓨팅을 지원한다) 


 하지만 2018 년까지라도 엔비디아 역시 와트당 50 GFLOPS 의 벽을 넘기는 쉽지 않을 것으로 예상하고 있습니다. 물론 그 때가 되야 알겠지만 과연 실제로 20 MW 안쪽으로 엑사플롭스 컴퓨팅을 성공시킬 수 있을 지는 장담하긴 어려운 상태입니다. 하지만 결국 시장의 요구가 있는 만큼 그 해결책이 제시될 수 있을 것으로 기대합니다.

 참고





댓글

이 블로그의 인기 게시물

R 패키지 설치 및 업데이트 오류 (1)

R 패키지를 설치하거나 업데이트 하다보면 여러 가지 문제가 생기는 경우들이 있습니다. 이 경우 아예 R을 재설치하는 것도 방법이지만, 어떤 경우에는 이렇게해도 해결이 안되고 계속해서 사용자는 괴롭히는 경우도 있습니다. 이런 경우 중 하나를 소개합니다. 새로운 패키지를 설치, 혹은 업데이트 하는 과정에서 같이 설치하는 패키지 중 하나가 설치가 되지 않는다는 메세지가 계속 나왔는데, 사실은 백신 프로그램 때문이었던 경우입니다. 

 dplyr 패키지를 업데이트 하려고 했는데, 제대로 되지 않아 다시 설치를 진행했습니다. 그런데 일부 패키지가 제대로 설치되지 않는다는 메세지가 나왔습니다. 

> install.packages("dplyr") Error in install.packages : Updating loaded packages > install.packages("dplyr") Installing package into ‘C:/Users/jjy05_000/Documents/R/win-library/3.4’ (as ‘lib’ is unspecified) also installing the dependencies ‘bindr’, ‘bindrcpp’, ‘Rcpp’, ‘rlang’, ‘plogr’
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/bindr_0.1.1.zip' Content type 'application/zip' length 15285 bytes (14 KB) downloaded 14 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/bindrcpp_0.2.2.zip' Content type 'application/zip' length 620344 bytes (605 KB) downloaded 605 KB
trying URL 'https://c…

우분투 18.04 가상 머신에 VMware tools 설치

VMware에 우분투를 설치하고 나서 업데이트를 하거나 혹은 수동으로 우분투를 설치하는 경우 VMware tools을 다시 설치해야 VMware의 기능을 모두 사용할 수 있습니다. 사실 가상 머신에 우분투를 설치하는 과정은 그렇게 어렵지 않지만, VMware tools 설치 과정은 의외로 까다로울 수 있습니다. 

 일단 설치를 위해 WMware창에서 manage -> install VMware Tools 을 선택합니다. 그러면 바탕화면에 VMware Tools라는 DVD 아이콘이 생성됩니다. 





하지만 윈도우와 달리 이 아이콘을 클릭해서 VMware Tools가 설치되지는 않습니다. 그래서 아래 명령어로 설치를하려는 중 흥미로운 내용을 발견했습니다. 
tar xzf /media/`whoami`/VMware\ Tools/VMwareTools-*.tar.gz -C ~/
sudo ~/vmware-tools-distrib/vmware-install.pl
(터미널에 이 내용을 복사해서 붙이면 됩니다) 


 가능하면 open-vm-tools를 사용하라는 메세지가 나옵니다. 그래서 그렇게 해봤습니다. 방법은 간단합니다. 터미널에서 한 줄만 입력하면 됩니다. 

sudo apt install open-vm-tools-desktop (서버 버전은 sudo apt install open-vm-tools)

 입력하면 뭔가가 설치되면서 VMware Tools가 깔립니다. 뭔가 물어보기도 하는데 유지하는 걸로 이야기하면 끝납니다. 정상적으로 설치가 완료되면 재부팅 없이도 실행이 가능합니다. 실행 여부는 간단하게 파일 이동이나 화면 확대 (해상도가 자동 맞춤됨)가 가능할 것입니다. 아무튼 설치가 꽤 편리해졌습니다. 


통계 공부는 어떻게 하는 것이 좋을까?

사실 저도 통계 전문가가 아니기 때문에 이런 주제로 글을 쓰기가 다소 애매하지만, 그래도 누군가에게 도움이 될 수 있다고 생각해서 글을 올려봅니다. 통계학, 특히 수학적인 의미에서의 통계학을 공부하게 되는 계기는 사람마다 다르긴 하겠지만, 아마도 비교적 흔하고 난감한 경우는 논문을 써야 하는 경우일 것입니다. 오늘날의 학문적 연구는 집단간 혹은 방법간의 차이가 있다는 것을 객관적으로 보여줘야 하는데, 그려면 불가피하게 통계적인 방법을 쓸 수 밖에 없게 됩니다. 이런 이유로 분야와 주제에 따라서는 아닌 경우도 있겠지만, 상당수 논문에서는 통계학이 들어가게 됩니다. 

 문제는 데이터를 처리하고 분석하는 방법을 익히는 데도 상당한 시간과 노력이 필요하다는 점입니다. 물론 대부분의 학과에서 통계 수업이 들어가기는 하지만, 그것만으로는 충분하지 않은 경우가 많습니다. 대학 학부 과정에서는 대부분 논문 제출이 필요없거나 필요하다고 해도 그렇게 높은 수준을 요구하지 않지만, 대학원 이상 과정에서는 SCI/SCIE 급 논문이 필요하게 되어 처음 논문을 작성하는 입장에서는 상당히 부담되는 상황에 놓이게 됩니다. 그리고 이후 논문을 계속해서 쓰게 될 경우 통계 문제는 항상 나를 따라다니면서 괴롭히게 될 것입니다.

 사정이 이렇다보니 간혹 통계 공부를 어떻게 하는 것이 좋겠냐는 질문이 들어옵니다. 사실 저는 통계 전문가라고 하기에는 실력은 모자라지만, 대신 앞서서 삽질을 한 경험이 있기 때문에 몇 가지 조언을 해줄 수 있을 것 같습니다. 

1. 입문자를 위한 책을 추천해달라

 사실 예습을 위해서 미리 공부하는 것은 추천하지 않습니다. 기본적인 통계는 학과별로 다르지 않더라도 주로 쓰는 분석방법은 분야별로 상당한 차이가 있을 수 있어 결국은 자신이 주로 하는 부분을 잘 해야 하기 때문입니다. 그러기 위해서는 학과 커리큘럼에 들어있는 통계 수업을 듣는 것이 더 유리합니다. 잘 쓰지도 않을 방법을 열심히 공부하는 것은 아무래도 효율성이 떨어질 것입니다. 

 아무튼 수업을 들었는데 잘 기억이…