과거부터 현재, 미래를 향한 슈퍼컴퓨터의 진화
<KISTI의 과학향기> 제3037호 2024년 02월 26일
슈퍼 히어로, 슈퍼 카, 슈퍼 태풍 등 ‘슈퍼’라는 말은 여러 단어의 앞에 붙어 최강, 최상이라는 뜻을 나타낸다.
컴퓨터에도 마찬가지 의미로 쓰인다.
‘슈퍼’컴퓨터는 당대의 컴퓨터 중 가장 빠른 계산 성능을 갖는 컴퓨터를 뜻한다.
인간의 능력을 뛰어넘는 계산 능력을 보여주며 과학기술 발전의 핵심 동력이 되어주고 있다.
슈퍼컴퓨터는 어떻게 발전해 왔을까? 1960년대부터 시작된, 슈퍼컴퓨터의 끊임없는 성능 향상과 기술 발전의 역사를 살펴보자.
그림 1. 슈퍼컴퓨터는 당대 컴퓨터 중 가장 빠른 계산 성능을 갖는 컴퓨터를 말한다.
ⓒshutterstock
슈퍼컴퓨터의 등장과 발전
‘계산하다’는 뜻의 라틴어 ‘콤푸타레(computare)’에서 유래했듯,
컴퓨터는 원래 사람을 대신해 계산하는 용도로 개발된 기계였다.
제2차 세계대전 중 암호 해독이나 탄도 궤적 계산 등 군사적 목적으로 사용된 것이 컴퓨터의 시작이었다.
그러다 우주 탐사 등 과학기술 분야가 발전하면서 더욱 복잡하고 방대한 계산이 필요해졌다.
이러한 요구에 부응하기 위해 1964년, 최초의 슈퍼컴퓨터가 등장했다.
‘슈퍼컴퓨터의 아버지’라 불리는 미국의 공학자 시모어 크레이가 설계한 ‘CDC-6600’이 그것이다.
그림 2. 최초의 슈퍼컴퓨터로 꼽히는 ‘CDC-6600’.
1964년부터 1969년까지 세계에서 가장 빠른 슈퍼컴퓨터
의 자리를 지켰다. ⓒwikimedia
CDC-6600은 프로세서 병렬화와 배선 최적화 등의 기술을 적용해 최대 3MFlops(메가플롭스)의 연산 속도를 갖추고 있었다. ‘플롭스’는 슈퍼컴퓨터의 성능을 측정하는 단위로, 초당 부동소수점 연산 횟수를 뜻한다. 슈퍼컴퓨터가 1초 동안 부동소수점으로 저장된 수를 얼마나 많이 연산할 수 있는지를 나타내는 척도다. 3메가플롭스는 부동소수점 연산을 초당 300만 번 할 수 있다는 뜻이다.
여기서 잠깐, 부동소수점이 무엇인지 궁금한 사람들이 있을 것이다.
컴퓨터는 원래 소수점이 없는 정수만 표현할 수 있는데, 소수점이 있는 실수를 2진수로 표현하기 위해 부동소수점 표기법을 사용한다. 실수를 가수와 지수로 표현하는 것이다. 소수점을 제외한 숫자를 가수로, 소수점의 위치를 지수로 표기한다. 부동소수점 연산은 부동소수점 표기법으로 표현된 숫자들에 대한 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산을 의미한다.
CDC-6600은 당시 다른 모든 컴퓨터보다 약 10배 이상 성능이 뛰어났기 때문에 명실상부한 ‘슈퍼컴퓨터’로 불렸다. 총 100대 이상이 팔리며 미국의 리버모어 연구소와 로스앨러모스 연구소에서 핵물리학 연구를 수행하는 데 사용되었다. 크레이는 1972년 자신의 회사인 크레이 리서치를 설립해 슈퍼컴퓨팅 시장을 선도해 나가기 시작했다. 1985년 ‘크레이-2(Cray-2)’를 출시하며 최초로 기가플롭스(GFlops, 1초에 10억 번 연산)의 장벽을 깼다. 슈퍼컴퓨팅 성능의 새로운 기준을 제시한 것이다.
그림 3. 최초로 기가플롭스의 연산 속도를 보여준 ‘크레이-2’. ⓒwikimedia
이후, 슈퍼컴퓨터 제조사들은 다양한 기술을 도입하며 경쟁을 펼쳤다.
1990년대에는 병렬 처리 기술의 발전으로 슈퍼컴퓨터의 성능이 급격히 향상됐다.
병렬 처리란 쉽게 말해 복잡하고 큰 하나의 과제를 여러 개의 작은 과제로 나눠 여러 컴퓨터가 동시에 처리하는 방식이다. 여러 사람이 힘을 합쳐 일하면 그만큼 시간이 단축되는 것처럼, 아무리 복잡하고 양이 많은 작업이라도 수많은 CPU를 동시에 사용해 엄청나게 빠른 속도로 계산을 수행할 수 있다는 장점이 있다.
이로 인해 슈퍼컴퓨터에 사용되는 프로세서의 수가 급격하게 늘어났다.
크레이-2가 8개의 프로세서를 사용했다면, 1990년대에 등장한 슈퍼컴퓨터들은 수천 개의 프로세서를 갖추기 시작했다. 최신 슈퍼컴퓨터는 수백만 개의 CPU 코어와 함께 대용량 메모리, 스토리지 등으로 구성된 대규모 클러스터다.
엑사플롭스 슈퍼컴퓨터의 시대
급격한 기술의 발전으로, 현재 슈퍼컴퓨터들은 대부분 페타플롭스(PFlops)의 성능을 갖고 있다.
페타는 1015으로, 1초에 1000조 번의 계산을 수행할 수 있다는 뜻이다.
그렇다면 현존하는 슈퍼컴퓨터 중 가장 빠른 슈퍼컴퓨터는 어느 정도의 성능을 갖고 있을까.
전 세계 슈퍼컴퓨터의 성능은 ‘TOP500’이라는 웹사이트에서 확인할 수 있다.
프로그램을 이용해 슈퍼컴퓨터의 부동소수점 연산 성능을 측정하고, 매년 5월과 11월에 업데이트한다.
순위에서 빠지게 된다면, 아쉽지만 더 이상 슈퍼컴퓨터의 지위를 누릴 수 없다. TOP500은 슈퍼컴퓨터의 성능을 객관적으로 비교하고, 슈퍼컴퓨팅 기술의 발전을 추적하는 데 중요한 역할을 하고 있다.