슈퍼컴퓨터로 톺아보는 ‘HPC’
상태바
슈퍼컴퓨터로 톺아보는 ‘HPC’
  • 이건한 기자
  • 승인 2019.09.20 09:00
  • 댓글 0
이 기사를 공유합니다

슈퍼컴퓨터의 역사부터 구조, 순위, 쓰임새까지

[테크월드=이건한 기자] HPC(High Performance Computing, 고성능 컴퓨팅)는 대량의 데이터를 빠르게 연산하기 위해 처리 속도에 중점을 둔 고성능 컴퓨터를 말한다. HPC로 정의하기 위한 특별한 조건이 있는 건 아니지만, 주로 정부나 기업이 소유한 슈퍼컴퓨터를 일반 PC와 구분되는 HPC로 본다.

또 2019년 6월 기준 세계 슈퍼컴퓨터 Top 500 리스트를 살펴보면 500위에 등재된 중국의 ‘인터넷 서비스 A’ 슈퍼컴퓨터의 실측 속도(Rmax)가 1021TFlop/s(테라플롭스), 즉 1PFlop/s(페타플롭스) 수준이므로 요즘 기준으로 페타플롭스 이상의 연산 속도를 지닌 컴퓨터를 HPC로 분류해도 크게 틀린 말은 아닐 것이다. 참고로 1TFlop/s는 초당 1000조 번, 1PFlop/s는 초당 1경 번의 부동소수점 연산이 가능함을 뜻한다.

 

‘빠르게, 더 빠르게’, 슈퍼컴퓨터의 역사

HPC=슈퍼컴퓨터라고 가정하면, 최초의 HPC는 1964년 미국의 CDC가 발표한 ‘CDC 6600’이다. 이 모델은 당시 CDC에 근무하던 세이모어 크레이(Seymour Cray)와 연구원들이 세운 “기존 컴퓨터보다 10배쯤 빠른 컴퓨터, 슈퍼컴퓨터라고 부를 만한 컴퓨터를 만들어보자”는 목표로 개발됐다는 이야기가 전해진다.

최초의 슈퍼컴퓨터 CDC 6600 (사진=위키피디아 ‘CDC 6600’)
최초의 슈퍼컴퓨터 CDC 6600 (사진=위키피디아 ‘CDC 6600’)

CDC 6600의 연산 속도는 1MFlop/s(메가플롭스)로, 현재의 RISC(Reduced Instruction Set Computer, 축소 명령어 집합) 방식과 유사한 명령어 처리 구조, 프로세서 병렬화와 배선 최적화 등의 기술을 적용해 그 당시 가장 빠른 컴퓨터였던 IBM의 ‘IBM 7030’보다 3배 이상 빠른 속도를 달성하는 데 성공했다. MFlop/s(메가플롭스) 성능을 달성한 최초의 컴퓨터이기도 하다.

CDC 6600은 당시 100여 대 이상 판매됐으며, 그중 절반 이상이 핵실험 연구에 쓰였다고 한다. 지금도 슈퍼컴퓨터의 다수가 무기 개발, 우주, 날씨 등 고도의 연산력이 필요한 특수분야에 집중적으로 쓰인다는 사실을 생각하면 CDC 6600은 성능은 물론, 목적 면에서도 근대 슈퍼컴퓨터의 기틀을 닦은 모델이라 부를 만하다.

슈퍼컴퓨터의 아버지 크레이는 이후 1972년 CDC를 떠나 지금도 세계에서 가장 유명한 슈퍼컴퓨터 제작사 중 하나인 ‘크레이 리서치(Cray Research, 현재 ‘크레이’)’를 설립했다. 메가플롭스에 이어 1998년 최초의 1GFlop/s(기가플롭스) 성능을 달성한 슈퍼컴퓨터도 크레이의 모델이며, 2019년 국내에서 가장 빠른 슈퍼컴퓨터인 기상청의 ‘누리온(Nurion)’ 역시 크레이에서 도입한 제품이다.

대한민국 슈퍼컴퓨터 ‘누리온’ (사진=과학기술정보통신부)
대한민국 슈퍼컴퓨터 ‘누리온’ (사진=과학기술정보통신부)

1970년대부터는 미국과 유럽을 비롯한 여러 선진국을 중심으로 슈퍼컴퓨터 도입량이 증가하기 시작했고 슈퍼컴퓨터를 개발하는 업체의 수도 함께 증가했다. 하지만 1990년대 중반 세계 경제를 뒤흔든 불황이 장기화되면서 시장이 축소되고 막대한 슈퍼컴퓨터 개발 비용을 감당하지 못한 여러 제조사가 차례차례 파산하거나 경쟁 업체에 인수되며 소수의 메이저 업체만이 살아남은 지금의 구조로 재편됐다.

현재 전 세계 주요 슈퍼컴퓨터 개발 업체로는 IBM, 인텔, 엔비디아, 크레이, 델 EMC, 레노버, 후지쯔, HPE 등이 있으며 기업을 제외하면 2016년 세계에서 가장 빠른 슈퍼컴퓨터를 개발한 중국의 국가병렬계산기공정기술 연구센터(NRCPC) 정도가 있다. 국내만 놓고 보면 슈퍼컴퓨터 개발 업체 코코링크가 2018년 1월 1.26PFlop/s 수준의 슈퍼컴퓨터 ‘클라이맥스-페타큐브’를 출시하고 해외 판매에 성공한 사례가 있다.

 

벡터에서 스칼라로, 병렬 슈퍼컴퓨팅

초기부터 비교적 근래에 이르기까지 슈퍼컴퓨터는 주로 벡터(Vector) 방식의 프로세서를 사용해왔다. 벡터 프로세서는 배열 데이터 구조로 이뤄져 한 번의 명령으로 여러 데이터를 동시 연산할 수 있는 특징을 갖고 있다. 또 슈퍼컴퓨팅에 적합한 반복 산술 연산 영역에서도 뛰어난 성능을 보인다.

하지만 규모의 경제면에서 범용 프로세서인 스칼라 방식 프로세서과 비교해 가격이 매우 비싸 병렬 컴퓨팅이 대세가 된 슈퍼컴퓨터 시장에서 점차 자취를 감추고 있다. 스칼라 프로세서는 한 번에 하나의 데이터만 처리할 수 있는 단순한 프로세서지만 가격이 싸고 범용성이 뛰어나 지금도 대부분의 PC는 스칼라 프로세서를 사용하고 있다.

현대 슈퍼컴퓨터의 구조를 이해하려면 먼저 병렬/분산 컴퓨팅에 대해 알아야 하는데, 병렬 컴퓨팅이란 쉽게 말해 크고 복잡한 문제를 여러 컴퓨터가 작게 나눠 가져 동시에 처리하는 방식을 말한다. 1대의 컴퓨터로 1시간이 걸릴 문제를 6대의 컴퓨터로 나누면 10분 만에 해결할 수 있는 것과 같은 이치다. 이 때문에 고성능 슈퍼컴퓨터일수록 많은 코어를 사용하는 게 일반적이다.

다만, 코어 숫자가 증가한다고 처리 속도가 무한대로 상승하진 않는다. 이를 설명하는 것이 반도체 업계에서 유명한 ‘암달의 법칙(Amdahl's law)’이다. 하드웨어 병렬화가 일정 수준 이상 이뤄지면 그 이후는 소프트웨어의 병렬화 수준이 속도에 영향을 미친다는 이론이다. 즉, 처리 프로그램이 100% 병렬화되지 않고 순차처리 하는 부분이 남아 있다면, 병렬로 빠르게 연산한 결괏값이 순차 처리 영역에서 병목 현상을 겪으며 속도의 한계가 발생한다는 말이다.

슈퍼컴퓨터의 내부 구조는 크게 각각의 노드(Node)와 여러 노드를 모아 놓은 랙(Rack), 랙과 랙 사이를 연결하는 네트워크 스위치, 연산 결과를 저장하기 위한 스토리지 노드로 구성된다. 우선 각각의 노드는 독립적인 프로세서와 메모리를 지닌 하나의 컴퓨터다. 과거엔 노드 속 여러 프로세서가 하나의 메모리를 공유하는 공유 메모리 시스템(SMP) 방식을 사용했다면, 요즘은 각 프로세서당 개별 메모리가 할당되는 분산 메모리 시스템(MPP) 방식이 사용된다.

SMP와 MPP 구조 설명 (자료=기상청)
SMP와 MPP 구조 설명 (자료=기상청)

각 노드는 할당받은 명령을 처리한 뒤, 네트워크 스위치를 통해 같은 랙 내에 입출력 노드(IO Node)로 결과를 보낸다. 이렇게 모인 연산 결과는 다시 랙과 랙을 연결한 네트워크 스위치를 거쳐 별도의 스토리지 노드로 이동해 저장되는 것이 기본이다. 이처럼 대량의 노드를 연결한 슈퍼컴퓨터는 엄청난 성능을 구현할 수 있지만 그만큼 넓은 공간과 높은 구동 전력을 요구한다.

2019년 6월 전 세계에서 가장 빠른 슈퍼컴퓨터로 선정된 미국의 ‘서밋(Summit)’에는 총 241만 4592개의 CPU 코어가 탑재됐으며 요구 전력은 1만kW에 이른다. 여기에 슈퍼컴퓨터에서 발생하는 열을 관리하기 위한 냉각 비용도 무시할 수 없는 수준이다. 일본의 경우 주요 슈퍼컴퓨터 유지에 연간 100억 엔(한화로 약 1144억 원) 이상이 소요되는 것으로 알려져 있다.

세계에서 가장 빠른 슈퍼컴퓨터 ‘Summit’ (사진=위키피디아 ‘Summit’)
세계에서 가장 빠른 슈퍼컴퓨터 ‘Summit’ (사진=위키피디아 ‘Summit’)

슈퍼컴퓨터의 순위 구분

슈퍼컴퓨터의 성능은 크게 연산 속도를 기준으로 한 ‘Top 500’과 1와트(W)당 성능비(전성비)가 기준인 ‘Green 500’이 있다. 1993년부터 1년에 두 번, 6월 국제 슈퍼컴퓨팅 컨퍼런스와 11월 ACM/IEEE 슈퍼컴퓨팅 컨퍼런스에서 독일 만하임 대학교의 한스 무이어(Hans Meuer), 녹스빌 테네시 대학교의 잭 돈게라(Jack Dongarra) 교수, NERSC/로렌스 버클리 국립 연구소의 에릭 스트로마이어(Erich Stromaier)와 허스트 사이먼(horst Simon)이 수집한 데이터를 토대로 리스트가 공개된다.

속도가 최우선이었던 과거부터 지금까지도 가장 상징적인 순위는 아무래도 Top 500이다. 랭킹에서 슈퍼컴퓨터의 속도는 ‘Rmax’와 ‘Rpeak’ 두 가지 수치로 표시된다. Rpeak는 해당 모델이 낼 수 있는 이론상 최대 속도이고, Rmax는 린팩(Linpack)이라는 고성능 컴퓨팅 벤치마크로 측정한 실측 속도다.

Top 500 리스트 中 (자료=Top500.org)
Top 500 리스트 中 (자료=Top500.org)

앞서 언급한 서밋은 Top 500 기준 Rpeak 20만 794.9TFlop/s, Rmax 14만 8600TFlop/s의 속도를 나타내고 있다. Rmax 기준 초당 14경 8600조번의 연산이 가능한 셈이다. 15위인 우리나라의 누리온은 Rpeak 2만 5705TFlop/s, Rmax 1만 3929TFlop/s를 기록 중이다.

그리고 얼마 전 기상청이 628억 원의 예산을 투입해 레노버로부터 차세대 슈퍼컴퓨터를 도입한다는 내용을 발표했다. 내년 연말께 시스템 구축이 완료될 예정이며, 성능은 50PFlop/s 수준으로 이르면 내년 11월 발표에선 우리나라의 슈퍼컴퓨터가 최초로 Top 500 중 10위 이내로 진입하는 모습을 볼 수 있을지도 모른다.

2019년 6월 Green 500에서 1위를 차지한 모델은 Top 500 469위를 차지한 미국의 DGX 새턴 브이 볼타(DGX SaturnV Volta), 2위는 미국의 서밋, 3위는 Top 500 8위 일본의 ABCI, 4위는 Top 500 393위 스페인의 메이어노스트럼 P9 CTE(MareNostrum P9 CTE)다.

대체로 상위권에 있는 모델이 전성비 측면에서도 괜찮은 것으로 나타나지만, 고성능이 꼭 높은 전성비로 나타나진 않는다는 사실을 알 수 있다. 겉으로 크게 부각되진 않지만 결국은 유지비도 슈퍼컴퓨터 총 도입 비용에 포함되는 것이므로 성능 외 전성비도 슈퍼컴퓨터의 주요 경쟁력에 포함된다.

이외에 2010년부터 집계가 시작된 Graph 500이란 비교적 새로운 순위도 있다. Graph 500은 슈퍼컴퓨터의 범용성과 데이터가 집약된 빅데이터 연산 능력 등에 중점을 둔 순위다.

Top 500을 결정짓는 린팩 벤치마크가 수학 집약적 계산에 사용되는 부동소수점 연산을 얼마나 효과적으로 수행할 수 있는가를 측정한다면, Graph 500은 비구조적인 대량의 데이터 집합과 불규칙한 메모리 접근에 대한 부하를 얼마나 효율적으로 처리하는지를 측정한다. 이는 현대 인공지능(AI)의 근간을 이루는 기계학습, 딥러닝 처리 능력과도 연관을 맺는 부분이다.

Graph 500 웹페이지 (자료=graph500.org)
Graph 500 웹페이지 (자료=graph500.org)

Graph 500은 Top 500과 측정법이 다르다 보니 순위도 전혀 다르다. Top 500의 1위인 서밋은 Graph 500에서 찾아볼 수 없고, 2011년 도입된 일본 후지쯔의 오래된 ‘K Computer’가 1위, 2015년 도입된 중국 NRCPC의 ‘선웨이 타이후 라이트(Sunway TaihuLight)’가 2위, 10위권까지 IBM의 블루진(BlueGene) 시리즈가 각각 3위, 4위, 6~8위, 10위를 차지하고 있는 모습이 관찰된다.

 

무기, 과학, B2C까지 다양한 활용 부문

슈퍼컴퓨터는 CDC 6600이 핵개발에 주로 사용됐던 것처럼 지금도 군사/모의 핵실험에 널리 사용되고 있다. 사실상 핵보유국으로 인정받고 있는 이스라엘과, 지금은 핵을 폐기한 남아프리카공화국의 경우 시뮬레이션을 통한 ‘핵실험 없는 핵개발 방법론’으로 핵무기 개발에 성공한 사례도 있다. 또 ‘바다 위 기지’, 해군 최고 전력인 이지스함에는 미사일 탄도 계산과 각종 무기 관제를 위해 각 함마다 별도의 슈퍼컴퓨터가 탑재된다.

과학 분야에서는 우리도 잘 아는 기상 예측이 있고, 우주 천문에 대한 대규모 시뮬레이션, 고분자 화학물질 분석과 가상합성, 물리학 연산 등에 사용된다. 사실상 ‘대규모 연산’이 필요할 것으로 생각되는 모든 분야엔 이미 슈퍼컴퓨터가 도입돼 있다고 생각하면 된다. 넓게 보면 구글, 애플, 아마존 같은 글로벌 대기업이 유튜브 등의 대규모 컴퓨팅 자원이 필요한 서비스 운영에 슈퍼컴퓨터급 기기와 대규모 데이터센터(IDC)를 운영하고 있다.

또한 구글, 아마존, 마이크로소프트 등의 대규모 B2C 클라우드 서비스를 통해 컴퓨팅 리소스를 빌리면 개인도 슈퍼컴퓨팅의 일부를 경험해볼 수도 있으나, 물론 그만큼 많은 비용이 발생한다. 사실 개인이 슈퍼컴퓨터 수준의 컴퓨팅 성능을 필요로 할 일은 없기 때문에 연구소나 산업체 등에서 비용 효율화를 위해 클라우드 슈퍼컴퓨팅을 활용하는 경우가 많다.

슈퍼컴퓨터가 탑재된 ‘세종대왕함’ (자료=위키백과 ‘세종대왕함’)
슈퍼컴퓨터가 탑재된 ‘세종대왕함’ (자료=위키백과 ‘세종대왕함’)

슈퍼컴퓨터는 결국 속도로 말한다

그렇다면 미래 슈퍼컴퓨터의 화두는 무엇일까? 역시 속도다. 슈퍼컴퓨터 업계는 이미 페타를 넘어 1초에 100경 회 이상의 연산을 수행할 수 있는 엑사플롭스(ExaFlops), ‘엑사스케일(Exa Scale)’ 시대를 준비하고 있다. 이는 현재 1위인 서밋과 비교해도 5~6배 이상 빠른, 그야말로 천문학적인 연산력이지만 빠르면 2021년 이후부터 엑사스케일 슈퍼컴퓨터가 미국과 중국을 중심으로 도입되기 시작할 전망이다.

슈퍼컴퓨터의 성능이 향상될수록 대규모 연산/시뮬레이션의 정확도는 더욱 높아지고 계산할 수 있는 분야의 폭도 넓어진다. 21세기 기술 경쟁은 데이터와의 싸움이다. 누가 더 양질의 데이터를 많이 확보하며, 그 안에서 더 값어치 있는 결과를 도출하는가에 따라 기술 경쟁력의 향방이 달라질 수 있다.

물론 단순히 슈퍼컴퓨터 성능만으로 그 경쟁에서 앞설 순 없겠지만 비슷한 방법이라면, 당연히 더 좋은 슈퍼컴퓨터를 지닌 국가나 기업이 유리할 수밖에 없다. 일종의 ‘기초체력’인 셈이다. 이는 미국과 중국, 일본 같은 전통의 슈퍼컴퓨터 강국들이 이미 차고 넘치는 컴퓨팅 능력을 보유하고서도 지금까지 단 한 순간도 경쟁의 끈을 놓지 못하는 이유이기도 하다.

한편 상황이 이런데도 우리나라의 슈퍼컴퓨터 투자 규모나 개발 수준은 여전히 높지 않다. 2021년 이후 엑사 시대가 개막함에도 2020년 말 우리나라는 여전히 페타를 바라보고 있을 것이다. 물론 이미 슈퍼컴퓨터 선진국들과 기술 격차가 크게 벌어진 상태에서 단기간의 투자로 이들을 따라잡는다는 건 무리겠지만, 국가 기술 경쟁력의 척도 중 하나인 슈퍼컴퓨터 도입과 자체 개발에 대한 노력은 현재 시류에 맞춰 더욱 공고히 해나갈 필요가 있어 보인다.

 

- 이 글은 테크월드가 발행하는 월간 <EMBEDDED> 2019년 9월호에 게재된 기사입니다.


관련기사

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.