2020.12.14

메가플롭스에서 요타플롭스까지!··· 슈퍼컴퓨터 발전상 따라잡기

Steven J. Vaughan-Nichols | INSIDERPRO
컴퓨팅에서는 언제나 속도가 가장 중요했다. 허먼 홀러리스는 1880년 미국 인구 조사 작업을 수행했다. 수기로 진행된 해당 작업은 고통스럽고 느리며 오류에 취약했다. 그래서 홀러리스는 1890년대의 인구 조사 결과를 계수하기 위해 ‘Hollerith 1890 Census Tabulator’ 펀치 카드 시스템을 개발했다. 

그의 전기 기계 장치는 ‘불과’ 2년 만에 작업을 수행할 수 있었고 정부는 500만 달러를 절감했다. 그는 그 수익을 이용해 태블레이팅 머신 컴퍼니 (Tabulating Machine Company)라는 회사를 설립했다. 이 회사의 명칭은 IBM으로 더 잘 알려져 있다.

물론, 그의 기계가 진정한 컴퓨터는 아니었지만 이후의 모든 컴퓨터를 위한 패턴을 마련했다. 하지만 1964년에 세이모어 크레이가 CDC(Control Data Center) 6600을 설계하고 나서야 ‘슈퍼컴퓨터’라는 용어가 활용되기 시작했다.

CDC: 슈퍼컴퓨팅의 시작
크레이는 ‘현존하는 그 어떤 것보다 수백 배 강력한’ 기계에 대한 수요가 항상 있을 것이라고 생각했다. 이것은 그의 꿈이었으며 그의 노력에 힘입어 슈퍼컴퓨터가 탄생했다.

여정은 쉽지 않았다. 크레이는 이미 괴팍한 천재로 유명했고 CDC를 떠나라는 위협을 받았다. 그는 결국 자신의 팀이 CDC 6600을 개발할 수 있도록 허락을 받은 후에야 머무르기로 합의했다. 

40만 개의 트랜지스터와 100마일이 넘는 수작업 배선, 프레온 냉각을 통해 최소 40MHz의 속도 또는 초당 300만 회(메가플롭스(MegaFlops))의 부동 소수점 연산 속도를 달성할 수 있었다. 홀러리스는 주된 I/O 방법으로 펀치 카드를 이용했다. 이전의 가장 빠른 컴퓨터였던 IBM 7030 스트레치보다 훨씬 빨랐다.

오늘날 3메가플롭스는 고통스러울 정도로 느린 속도다. 라즈베리 파이(Raspberry Pi) 초기 모델조차도 42메가플롭스로 작동한다. 그러나 당시 CDC 6600은 가장 빨랐으며 크레이와 CDC가 1969년에 CDC 7600를 선보일 때까지 왕좌를 지켰다.

60년대의 다른 컴퓨터 제조사들은 속절없이 당했다. 이와 관련해 IBM의 CEO 토마스 왓슨 주니어가 남긴 다음의 메모가 유명하다. 

“지난주, CD(Control Data)가 ... 6600 시스템을 발표했다. 시스템을 개발하는 연구소에서 수위를 포함하여 34명 만이 근무하고 있다. 그 중에서 14명이 엔지니어이고 4명이 프로그래머이다. 우리는 개발을 위해 광범위하게 노력하고 있음에도 불구하고 다른 누군가가 세계에서 가장 강력한 컴퓨터를 개발한 것이다. 우리가 어떻게 업계의 선두 지위를 잃게 되었는지 이해할 수 없다.”

현재까지 IBM은 강력한 슈퍼컴퓨터 경쟁자이다.

크레이의 탄생
그러나 크레이와 CDC는 잘 지내지 못했다. 그의 디자인은 기술적으로 강력하고 상업적으로 성공적이었지만 비쌌다. CDC는 그를 완벽주의자라고 생각했다. 그는 CDC를 멍청한 중간 관리자라고 생각했다. 어떤 일이 벌어졌는지 짐작할 수 있을 것이다.

그래서 다음 세대 CDC 8600이 예산을 초과하고 일정을 맞추지 못하자 CDC는 다른 고성능 컴퓨팅 기계를 지원하기로 결정했다. 바로 ‘Star-100’이었다. CPU 외에 별도의 벡터 프로세서를 사용한 초기의 슈퍼컴퓨터 중 하나였다. 이를 통해 지금까지 이어지는 트렌드가 형성되었다. 

하지만 예상할 수 있다시피 이로 인해 크레이는 CDC를 떠나 크레이 연구소(Cray Research)를 설립했다. 거기에서 경영진의 제약 없이 풍부한 월스트리트의 자금을 지원받은 그는 1976년 그의 이름을 딴 첫 번째 슈퍼컴퓨터를 개발했다. 바로 ‘크레이-1’이다.

80MHz 크레이-1은 통합된 회로를 사용하여 무려 136메가플롭스의 성능 등급을 달성했다. 크레이-1의 괄목할 만한 속도는 이례적인 ‘C’자 형태에서 기인했다. 이 형상은 속도에 큰 영향을 미치는 회로기판을 더욱 짧게 만들어 I/O 속도를 높이는데 적합했다.

CPU부터 시작하여 디자인의 모든 마지막 테일까지 신경 쓰는 것이 크레이만의 차별점이었다. 크레이의 디자인의 모든 요소는 가능한 빠른 속도를 위한 것이었다.

크레이는 또한 크레이-1에 벡터 처리를 도입했다. 크레이의 디자인에서 벡터 프로세서는 64비트 부동 소수점 숫자 벡터 선형 배열로 작동했다. 스칼라 코드와 비교하여 벤더 코드는 파이프라인 속도 저하를 최대 90%나 줄일 수 있었다.

크레이-1은 또한 지연 속도가 높은 자기 코어 메모리 대신에 트랜지스터 메모리를 사용한 최초의 컴퓨터였다. 이런 새로운 형태의 메모리와 처리를 통해 크레이-1와 그 후속작들은 70년대 말과 80년대 초 슈퍼컴퓨팅의 간판 스타가 되었다.

세이모어 크레이는 그 이후로도 슈퍼컴퓨팅을 주도했다. 크레이-1은 이전의 모든 기계와 마찬가지로 단일 메인 프로세서를 사용했다. 1982년의 크레이 X-MP를 통해 그는 크레이-1의 시그니처 C 본체에 4개의 프로세서를 추가했다. X-MP 105MHz 프로세서와 200% 이상의 메모리 대역폭 향상을 통해 최고 사양의 X-MP는 800메가플롭스의 성능을 제공할 수 있었다.

다음 단계는 1985년의 크레이 2였다. 이 모델은 8개의 프로세서가 탑재되고 ‘포어그라운드(Foreground) 프로세서’가 스토리지, 메모리, I/O를 관리하면서 ‘백그라운드(Background) 프로세서’가 실제 작업을 수행했다. 또한 최초의 액체 냉각 슈퍼컴퓨터이기도 했다. 그리고 전작들과는 달리 일반용 운영체제를 사용할 수 있었다. 맞춤식 아키텍처 전용운영 체제 대신에 추가적인 BSD 기능을 갖춘 UniCOS라는 크레이 전용 유닉스 시스템 V(Unix System V)를 사용할 수 있었다.

현재 슈퍼컴퓨터는 여러 가지 중대한 컴퓨팅 문제를 해결하는 데 사용되고 있다. 이런 작업에는 양자 역학, 일기예보, 기후 조사, 코로나19에 대한 생체 분자 분석이 포함된다. 하지만 70년대와 80년대 냉전 시대에는 핵폭발 시뮬레이션과 암호 해독을 위해 정부와 기업들이 돈을 썼다. 바르샤바 협정과 소련(Soviet Union)의 정보 공개 및 분리로 인해 크레이의 군수업 고객들은 더 이상 슈퍼컴퓨터에 수백만 달러를 지출할 이유가 사라졌다.

MPP의 등장
크레이는 자신의 벡터 아키텍처를 여전히 좋아했지만 프로세서가 매우 비쌌다. 기업들은 MPP(Massively Parallel Multiprocessing)를 사용하여 단일 컴퓨터에서 여러 개의 프로세서를 사용하는 방법을 연구했다. 예를 들어, CM(Connection Machine)의 글로벌 메모리를 갖춘 수만 개에 달하는 1비트 프로세서는 크레이의 디자인보다 비용이 훨씬 저렴했다.

MPP 머신 덕분에 슈퍼컴퓨팅이 더욱 적합해졌지만 크레이는 이를 거부했다. 그는 “밭을 경작할 때, 2마리의 튼튼한 황소와 1,024마리의 닭 중 무엇을 사용할까?"라고 표현했다.  대신에 그는 사용해 보지 않은 갈륨 비화물 반도체를 사용한 더 빠른 벡터 프로세서에 다시 집중했다. 이는 실수였다.

크레이 기업은 1995년에 도산했다. 단 슈퍼컴퓨터 설계자인 크레이는 끝이 아니었다. 그는 ‘SRC Computers’라는 기업을 새로 설립하고 자신의 접근방식의 최고의 특징과 MPP를 결합한 기계를 개발했다. 안타깝게도 그는 자신의 새로운 슈퍼컴퓨팅 접근방식을 테스트해보기도 전에 자동차 사고로 사망했다.

그의 아이디어는 일본에서 이어졌다. 거기에서 NEC, 후지쯔(Fujitsu), 히타치(Hitachi) 등의 기업들이 벡터 기반의 슈퍼컴퓨터를 개발했다. 1993년부터 1996년까지 후지쯔의 NWT(Numerical Wind Tunnel)가 최대 600기가플롭스의 속도를 가진 세계에서 가장 빠른 슈퍼컴퓨터였다. 1기가플롭은 10억 플롭스이다.

이 기계들은 1차원적 데이터 배열을 사용하는 전용 칩인 벡터 처리에 의존했다. 또한 그들은 MPP의 I/O를 활용하기 위해 다중 버스(Bus)를 사용했다. 이 MIMD(Multiple Instruction, Multiple Data) 접근방식의 전신 덕분에 오늘날의 CPU가 여러 개의 코어를 사용할 수 있다.

슈퍼컴퓨터 분야를 예의주시하던 인텔은 MIMD를 통해 특수한 벡터 프로세서 없이 더욱 합리적인 슈퍼컴퓨터를 만들 수도 있을 것이라 생각했다. 1996년, ASCI 레드는 인텔이 옳았음을 증명했다.

ASIC 레드는 6,000개 이상의 200MHz 펜티엄 프로를 사용하여 1테라플롭스(TeraFlop, 10조 플롭스)의 장벽을 돌파했으며, 수년 동안 세계에서 가장 빠르면서 신뢰성 있는 슈퍼컴퓨터의 자리를 지켰다. 

모두를 위한 슈퍼컴퓨팅 : 베오울프(Beowulf)
인텔이 수백만 달러를 들여 ASIC 레드를 개발했지만 나사(NASA)의 GSFC(Goddard Space Flight Center)에 있는 자금이 부족한 개발자들은 COTS(Commercial Off The Shelf) 하드웨어를 사용하여 자체적인 ‘슈퍼컴퓨터’를 제작했다. 나사의 돈 베커와 토마스 스털링은 1994년, 16개의 486DX 프로세스를 사용하고 ‘버스’에 10Mbps 이더넷 케이블을 사용해 베오울프를 완성했다.

그들은 최초의 베오울프 클러스터를 만들면서 오늘날의 가장 인기 있는 슈퍼컴퓨터 디자인의 콘셉트를 만들었다는 사실을 몰랐다.  그것이 바로 리눅스 기반의 베오울프 클러스터 슈퍼컴퓨터이다. 오늘날, 상위 500대의 가장 빠른 기계(TOP500)는 모두 리눅스로 구동한다. 2020년 11월 톱 500 슈퍼컴퓨팅 랭킹에서 492개의 시스템이 베오울프의 원리에 기초한 클러스터 디자인을 사용하고 있다.

최초의 베오울프는 1자리 기가플롭스 속도 밖에 달성하지 못했지만 베오울프는 슈퍼컴퓨팅이 누구든 이용할 수 있는 수준에 도달했다는 사실을 입증했다. 심지어 라즈베리 파이를 사용하여 베오울프 ‘슈퍼컴퓨터’를 제작할 수 있다!

오늘날의 슈퍼컴퓨팅
디자이너들이 디자인에 여러 개의 프로세스 유형을 사용하기 시작하면서 슈퍼컴퓨팅이 한 번 더 발전했다. 예를 들어, 2014년에는 텐허-2(Tianhe-2) 또는 밀키 웨이-2(Milky Way-2)가 인텔 제온 아이비브리지(Intel Xeon IvyBridge) 프로세서와 제온 파이(Xeon Phi) 프로세서를 사용하여 당시 가장 빠른 슈퍼컴퓨터가 되었다. 제온 파이는 고성능 GPU이다. 이런 ‘그래픽’ 칩은 부동 소수점 계산에 뛰어나다.

이 새로운 스타일의 2가지 유형의 COTS 프로세서를 조합하는 방법이 점차 보편화되고 있다. 2020년 11월 톱500 슈퍼컴퓨터 목록에서 대다수가 제온 파이, 엔비디아 테슬라(NVIDIA Tesla) V100 GPU, PEZY-SCx 가속기 등의 부동 소수점 GPU를 사용하고 있다. 오늘날, 톱500 슈퍼컴퓨터 중 149개 시스템이 가속기/코프로세서 칩에 의존하고 있다.

왜 그럴까? 두 칩 스타일은 서로를 보완하기 때문이다. 오늘날의GPU는 여러 개의 작업을 동시에 처리하는 수 천 개의 코어로 구성된 대규모 병렬 아키텍처를 갖고 있다. 예를 들어, 여러 슈퍼컴퓨터에서 사용되는 엔비디아 V100 텐서 코어 GPU는 640개의 코어를 갖고 있다. 일반적인 CPU는 코어가 더 적지만 순차 직렬 처리에 최적화되어 있다. 이 둘을 합친 것이 훨씬 빠른 슈퍼컴퓨터의 기반이 된다.

톱500 중 90% 이상이 인텔 제온이나 제온 파이 칩을 사용하고 있다. AMD 프로세서, 특히 AMD 라이젠 9 젠 제품군은 데스크톱과 노트북 속도 기록을 장악했지만, 21개의 시스템만이 AMD CPU를 사용한다. 그렇다 하더라도 6개월 전과 비교해서는 2배나 늘어났다. AMD의 뒤를 이어 10개의 IBM 파워 기반 시스템과 5개의 Arm 기반 시스템이 있다.

하지만 Arm 결과는 오해의 소지가 있다. 현재 세계에서 가장 빠른 슈퍼컴퓨터인 일본의 후가쿠(Fugaku)는 7,63만 848개의 코어를 가진 Arm A64FX CPU로 구동한다. 그 세계 기록 속도는 HPL(High-Performance Linpack) 테스트에서 442페타플롭스, 즉 초당 1,000조 호의 부동 소수점 연산이다. 점수만 두고 보자면 가장 가까운 경쟁자보다 3배나 높다. 즉 인텔의 프로세서 지배력은 곧 AMD의 Arm의 도전을 받게 될 가능성이 아주 높다. 

내일의 슈퍼컴퓨팅
앞으로의 슈퍼컴퓨팅 목표는 엑사플롭(ExaFlop)이다. 엑사플롭은 초당 100경(1018)회의 부동 소수점 연산 도는1,000페타플롭스이다.  현재 시점에서 그 정도 수준에 도달하는 것이 기대됐지만 예상보다 어려운 상황이다.

하지만 인텔은 2021년에 오로라(Aurora)로 이를 가장 먼저 달성하기를 희망하고 있다. 한편, AMD와 크레이는 엘 카피탄(El Capitan)을 통해 먼저 이를 달성할 계획이다. 그리고 현재 엔비디아가 소유하고 있는 Arm도 빼놓을 수 없다. 후가쿠(Fugaku) 슈퍼컴퓨터의 설계자들도 엑사플롭 장벽 돌파에 집중하고 있다.

그리고 다음에 정복할 산은 1,000 엑사플롭스, 즉 제타플롭(ZettaFlop)이다. 제타플롭 컴퓨팅이 가능하기나 할까? 현재 인디애나대학교의 컴퓨팅 교수이자 베오울프 공동 발명자인 스털링은 불가능할 것이라고 생각했었다. “최소한 별도의 부동 소수점 연산을 하지 않는 한 절대로 제타플롭스에 도달할 수 없을 것이라 생각한다”라고 그는 말했다.

하지만 최근, 스털링은 생각을 바꾸었다. 스털링은 논리 회로와 메모리를 결합하여 I/O 속도를 늦추면 제타플롭스 이상의 속도를 달성할 수 있다고 말했다. 실제로 그는 비노이만형 뉴먼 아키텍처와 초전도를 사용함으로써 2030년까지 요타플롭(YottaFlop, 1,000제타플롭스) 슈퍼컴퓨터 속도에 도달할 수도 있다고 기대했다. 실제로 중국의 연구원들은 2035년에는 제타스케일(Zettascale) 시스템을 보게 될 수 있다고 주장하고 있다.

확실한 것은 컴퓨팅 속도 경쟁이 절대로 끝나지 않을 것이라는 점이다. 속도가 우리에게 어떤 의미가 있는지 지금은 이해하지 못할 수 있지만, 언젠가는 이해하게 될 것이다. 기억하자. 빌 게이츠는 한 때 “누구든 640K 메모리면 충분할 것이다”라고 말했다는 이야기가 있다. 우리는 분명 메모리로 할 일을 찾은 것처럼, 이 속도로 할 수 있는 유용한 일도 찾아낼 것이다. 

* Steven J. Vaughan-Nichols는 CP/M-80이 첨단 PC 운영체제였고 300bps 모뎀이 고속 인터넷 연결 수단이었던 시절부터 기술 분야에 대한 글을 써왔다. ciokr@idg.co.kr
 



2020.12.14

메가플롭스에서 요타플롭스까지!··· 슈퍼컴퓨터 발전상 따라잡기

Steven J. Vaughan-Nichols | INSIDERPRO
컴퓨팅에서는 언제나 속도가 가장 중요했다. 허먼 홀러리스는 1880년 미국 인구 조사 작업을 수행했다. 수기로 진행된 해당 작업은 고통스럽고 느리며 오류에 취약했다. 그래서 홀러리스는 1890년대의 인구 조사 결과를 계수하기 위해 ‘Hollerith 1890 Census Tabulator’ 펀치 카드 시스템을 개발했다. 

그의 전기 기계 장치는 ‘불과’ 2년 만에 작업을 수행할 수 있었고 정부는 500만 달러를 절감했다. 그는 그 수익을 이용해 태블레이팅 머신 컴퍼니 (Tabulating Machine Company)라는 회사를 설립했다. 이 회사의 명칭은 IBM으로 더 잘 알려져 있다.

물론, 그의 기계가 진정한 컴퓨터는 아니었지만 이후의 모든 컴퓨터를 위한 패턴을 마련했다. 하지만 1964년에 세이모어 크레이가 CDC(Control Data Center) 6600을 설계하고 나서야 ‘슈퍼컴퓨터’라는 용어가 활용되기 시작했다.

CDC: 슈퍼컴퓨팅의 시작
크레이는 ‘현존하는 그 어떤 것보다 수백 배 강력한’ 기계에 대한 수요가 항상 있을 것이라고 생각했다. 이것은 그의 꿈이었으며 그의 노력에 힘입어 슈퍼컴퓨터가 탄생했다.

여정은 쉽지 않았다. 크레이는 이미 괴팍한 천재로 유명했고 CDC를 떠나라는 위협을 받았다. 그는 결국 자신의 팀이 CDC 6600을 개발할 수 있도록 허락을 받은 후에야 머무르기로 합의했다. 

40만 개의 트랜지스터와 100마일이 넘는 수작업 배선, 프레온 냉각을 통해 최소 40MHz의 속도 또는 초당 300만 회(메가플롭스(MegaFlops))의 부동 소수점 연산 속도를 달성할 수 있었다. 홀러리스는 주된 I/O 방법으로 펀치 카드를 이용했다. 이전의 가장 빠른 컴퓨터였던 IBM 7030 스트레치보다 훨씬 빨랐다.

오늘날 3메가플롭스는 고통스러울 정도로 느린 속도다. 라즈베리 파이(Raspberry Pi) 초기 모델조차도 42메가플롭스로 작동한다. 그러나 당시 CDC 6600은 가장 빨랐으며 크레이와 CDC가 1969년에 CDC 7600를 선보일 때까지 왕좌를 지켰다.

60년대의 다른 컴퓨터 제조사들은 속절없이 당했다. 이와 관련해 IBM의 CEO 토마스 왓슨 주니어가 남긴 다음의 메모가 유명하다. 

“지난주, CD(Control Data)가 ... 6600 시스템을 발표했다. 시스템을 개발하는 연구소에서 수위를 포함하여 34명 만이 근무하고 있다. 그 중에서 14명이 엔지니어이고 4명이 프로그래머이다. 우리는 개발을 위해 광범위하게 노력하고 있음에도 불구하고 다른 누군가가 세계에서 가장 강력한 컴퓨터를 개발한 것이다. 우리가 어떻게 업계의 선두 지위를 잃게 되었는지 이해할 수 없다.”

현재까지 IBM은 강력한 슈퍼컴퓨터 경쟁자이다.

크레이의 탄생
그러나 크레이와 CDC는 잘 지내지 못했다. 그의 디자인은 기술적으로 강력하고 상업적으로 성공적이었지만 비쌌다. CDC는 그를 완벽주의자라고 생각했다. 그는 CDC를 멍청한 중간 관리자라고 생각했다. 어떤 일이 벌어졌는지 짐작할 수 있을 것이다.

그래서 다음 세대 CDC 8600이 예산을 초과하고 일정을 맞추지 못하자 CDC는 다른 고성능 컴퓨팅 기계를 지원하기로 결정했다. 바로 ‘Star-100’이었다. CPU 외에 별도의 벡터 프로세서를 사용한 초기의 슈퍼컴퓨터 중 하나였다. 이를 통해 지금까지 이어지는 트렌드가 형성되었다. 

하지만 예상할 수 있다시피 이로 인해 크레이는 CDC를 떠나 크레이 연구소(Cray Research)를 설립했다. 거기에서 경영진의 제약 없이 풍부한 월스트리트의 자금을 지원받은 그는 1976년 그의 이름을 딴 첫 번째 슈퍼컴퓨터를 개발했다. 바로 ‘크레이-1’이다.

80MHz 크레이-1은 통합된 회로를 사용하여 무려 136메가플롭스의 성능 등급을 달성했다. 크레이-1의 괄목할 만한 속도는 이례적인 ‘C’자 형태에서 기인했다. 이 형상은 속도에 큰 영향을 미치는 회로기판을 더욱 짧게 만들어 I/O 속도를 높이는데 적합했다.

CPU부터 시작하여 디자인의 모든 마지막 테일까지 신경 쓰는 것이 크레이만의 차별점이었다. 크레이의 디자인의 모든 요소는 가능한 빠른 속도를 위한 것이었다.

크레이는 또한 크레이-1에 벡터 처리를 도입했다. 크레이의 디자인에서 벡터 프로세서는 64비트 부동 소수점 숫자 벡터 선형 배열로 작동했다. 스칼라 코드와 비교하여 벤더 코드는 파이프라인 속도 저하를 최대 90%나 줄일 수 있었다.

크레이-1은 또한 지연 속도가 높은 자기 코어 메모리 대신에 트랜지스터 메모리를 사용한 최초의 컴퓨터였다. 이런 새로운 형태의 메모리와 처리를 통해 크레이-1와 그 후속작들은 70년대 말과 80년대 초 슈퍼컴퓨팅의 간판 스타가 되었다.

세이모어 크레이는 그 이후로도 슈퍼컴퓨팅을 주도했다. 크레이-1은 이전의 모든 기계와 마찬가지로 단일 메인 프로세서를 사용했다. 1982년의 크레이 X-MP를 통해 그는 크레이-1의 시그니처 C 본체에 4개의 프로세서를 추가했다. X-MP 105MHz 프로세서와 200% 이상의 메모리 대역폭 향상을 통해 최고 사양의 X-MP는 800메가플롭스의 성능을 제공할 수 있었다.

다음 단계는 1985년의 크레이 2였다. 이 모델은 8개의 프로세서가 탑재되고 ‘포어그라운드(Foreground) 프로세서’가 스토리지, 메모리, I/O를 관리하면서 ‘백그라운드(Background) 프로세서’가 실제 작업을 수행했다. 또한 최초의 액체 냉각 슈퍼컴퓨터이기도 했다. 그리고 전작들과는 달리 일반용 운영체제를 사용할 수 있었다. 맞춤식 아키텍처 전용운영 체제 대신에 추가적인 BSD 기능을 갖춘 UniCOS라는 크레이 전용 유닉스 시스템 V(Unix System V)를 사용할 수 있었다.

현재 슈퍼컴퓨터는 여러 가지 중대한 컴퓨팅 문제를 해결하는 데 사용되고 있다. 이런 작업에는 양자 역학, 일기예보, 기후 조사, 코로나19에 대한 생체 분자 분석이 포함된다. 하지만 70년대와 80년대 냉전 시대에는 핵폭발 시뮬레이션과 암호 해독을 위해 정부와 기업들이 돈을 썼다. 바르샤바 협정과 소련(Soviet Union)의 정보 공개 및 분리로 인해 크레이의 군수업 고객들은 더 이상 슈퍼컴퓨터에 수백만 달러를 지출할 이유가 사라졌다.

MPP의 등장
크레이는 자신의 벡터 아키텍처를 여전히 좋아했지만 프로세서가 매우 비쌌다. 기업들은 MPP(Massively Parallel Multiprocessing)를 사용하여 단일 컴퓨터에서 여러 개의 프로세서를 사용하는 방법을 연구했다. 예를 들어, CM(Connection Machine)의 글로벌 메모리를 갖춘 수만 개에 달하는 1비트 프로세서는 크레이의 디자인보다 비용이 훨씬 저렴했다.

MPP 머신 덕분에 슈퍼컴퓨팅이 더욱 적합해졌지만 크레이는 이를 거부했다. 그는 “밭을 경작할 때, 2마리의 튼튼한 황소와 1,024마리의 닭 중 무엇을 사용할까?"라고 표현했다.  대신에 그는 사용해 보지 않은 갈륨 비화물 반도체를 사용한 더 빠른 벡터 프로세서에 다시 집중했다. 이는 실수였다.

크레이 기업은 1995년에 도산했다. 단 슈퍼컴퓨터 설계자인 크레이는 끝이 아니었다. 그는 ‘SRC Computers’라는 기업을 새로 설립하고 자신의 접근방식의 최고의 특징과 MPP를 결합한 기계를 개발했다. 안타깝게도 그는 자신의 새로운 슈퍼컴퓨팅 접근방식을 테스트해보기도 전에 자동차 사고로 사망했다.

그의 아이디어는 일본에서 이어졌다. 거기에서 NEC, 후지쯔(Fujitsu), 히타치(Hitachi) 등의 기업들이 벡터 기반의 슈퍼컴퓨터를 개발했다. 1993년부터 1996년까지 후지쯔의 NWT(Numerical Wind Tunnel)가 최대 600기가플롭스의 속도를 가진 세계에서 가장 빠른 슈퍼컴퓨터였다. 1기가플롭은 10억 플롭스이다.

이 기계들은 1차원적 데이터 배열을 사용하는 전용 칩인 벡터 처리에 의존했다. 또한 그들은 MPP의 I/O를 활용하기 위해 다중 버스(Bus)를 사용했다. 이 MIMD(Multiple Instruction, Multiple Data) 접근방식의 전신 덕분에 오늘날의 CPU가 여러 개의 코어를 사용할 수 있다.

슈퍼컴퓨터 분야를 예의주시하던 인텔은 MIMD를 통해 특수한 벡터 프로세서 없이 더욱 합리적인 슈퍼컴퓨터를 만들 수도 있을 것이라 생각했다. 1996년, ASCI 레드는 인텔이 옳았음을 증명했다.

ASIC 레드는 6,000개 이상의 200MHz 펜티엄 프로를 사용하여 1테라플롭스(TeraFlop, 10조 플롭스)의 장벽을 돌파했으며, 수년 동안 세계에서 가장 빠르면서 신뢰성 있는 슈퍼컴퓨터의 자리를 지켰다. 

모두를 위한 슈퍼컴퓨팅 : 베오울프(Beowulf)
인텔이 수백만 달러를 들여 ASIC 레드를 개발했지만 나사(NASA)의 GSFC(Goddard Space Flight Center)에 있는 자금이 부족한 개발자들은 COTS(Commercial Off The Shelf) 하드웨어를 사용하여 자체적인 ‘슈퍼컴퓨터’를 제작했다. 나사의 돈 베커와 토마스 스털링은 1994년, 16개의 486DX 프로세스를 사용하고 ‘버스’에 10Mbps 이더넷 케이블을 사용해 베오울프를 완성했다.

그들은 최초의 베오울프 클러스터를 만들면서 오늘날의 가장 인기 있는 슈퍼컴퓨터 디자인의 콘셉트를 만들었다는 사실을 몰랐다.  그것이 바로 리눅스 기반의 베오울프 클러스터 슈퍼컴퓨터이다. 오늘날, 상위 500대의 가장 빠른 기계(TOP500)는 모두 리눅스로 구동한다. 2020년 11월 톱 500 슈퍼컴퓨팅 랭킹에서 492개의 시스템이 베오울프의 원리에 기초한 클러스터 디자인을 사용하고 있다.

최초의 베오울프는 1자리 기가플롭스 속도 밖에 달성하지 못했지만 베오울프는 슈퍼컴퓨팅이 누구든 이용할 수 있는 수준에 도달했다는 사실을 입증했다. 심지어 라즈베리 파이를 사용하여 베오울프 ‘슈퍼컴퓨터’를 제작할 수 있다!

오늘날의 슈퍼컴퓨팅
디자이너들이 디자인에 여러 개의 프로세스 유형을 사용하기 시작하면서 슈퍼컴퓨팅이 한 번 더 발전했다. 예를 들어, 2014년에는 텐허-2(Tianhe-2) 또는 밀키 웨이-2(Milky Way-2)가 인텔 제온 아이비브리지(Intel Xeon IvyBridge) 프로세서와 제온 파이(Xeon Phi) 프로세서를 사용하여 당시 가장 빠른 슈퍼컴퓨터가 되었다. 제온 파이는 고성능 GPU이다. 이런 ‘그래픽’ 칩은 부동 소수점 계산에 뛰어나다.

이 새로운 스타일의 2가지 유형의 COTS 프로세서를 조합하는 방법이 점차 보편화되고 있다. 2020년 11월 톱500 슈퍼컴퓨터 목록에서 대다수가 제온 파이, 엔비디아 테슬라(NVIDIA Tesla) V100 GPU, PEZY-SCx 가속기 등의 부동 소수점 GPU를 사용하고 있다. 오늘날, 톱500 슈퍼컴퓨터 중 149개 시스템이 가속기/코프로세서 칩에 의존하고 있다.

왜 그럴까? 두 칩 스타일은 서로를 보완하기 때문이다. 오늘날의GPU는 여러 개의 작업을 동시에 처리하는 수 천 개의 코어로 구성된 대규모 병렬 아키텍처를 갖고 있다. 예를 들어, 여러 슈퍼컴퓨터에서 사용되는 엔비디아 V100 텐서 코어 GPU는 640개의 코어를 갖고 있다. 일반적인 CPU는 코어가 더 적지만 순차 직렬 처리에 최적화되어 있다. 이 둘을 합친 것이 훨씬 빠른 슈퍼컴퓨터의 기반이 된다.

톱500 중 90% 이상이 인텔 제온이나 제온 파이 칩을 사용하고 있다. AMD 프로세서, 특히 AMD 라이젠 9 젠 제품군은 데스크톱과 노트북 속도 기록을 장악했지만, 21개의 시스템만이 AMD CPU를 사용한다. 그렇다 하더라도 6개월 전과 비교해서는 2배나 늘어났다. AMD의 뒤를 이어 10개의 IBM 파워 기반 시스템과 5개의 Arm 기반 시스템이 있다.

하지만 Arm 결과는 오해의 소지가 있다. 현재 세계에서 가장 빠른 슈퍼컴퓨터인 일본의 후가쿠(Fugaku)는 7,63만 848개의 코어를 가진 Arm A64FX CPU로 구동한다. 그 세계 기록 속도는 HPL(High-Performance Linpack) 테스트에서 442페타플롭스, 즉 초당 1,000조 호의 부동 소수점 연산이다. 점수만 두고 보자면 가장 가까운 경쟁자보다 3배나 높다. 즉 인텔의 프로세서 지배력은 곧 AMD의 Arm의 도전을 받게 될 가능성이 아주 높다. 

내일의 슈퍼컴퓨팅
앞으로의 슈퍼컴퓨팅 목표는 엑사플롭(ExaFlop)이다. 엑사플롭은 초당 100경(1018)회의 부동 소수점 연산 도는1,000페타플롭스이다.  현재 시점에서 그 정도 수준에 도달하는 것이 기대됐지만 예상보다 어려운 상황이다.

하지만 인텔은 2021년에 오로라(Aurora)로 이를 가장 먼저 달성하기를 희망하고 있다. 한편, AMD와 크레이는 엘 카피탄(El Capitan)을 통해 먼저 이를 달성할 계획이다. 그리고 현재 엔비디아가 소유하고 있는 Arm도 빼놓을 수 없다. 후가쿠(Fugaku) 슈퍼컴퓨터의 설계자들도 엑사플롭 장벽 돌파에 집중하고 있다.

그리고 다음에 정복할 산은 1,000 엑사플롭스, 즉 제타플롭(ZettaFlop)이다. 제타플롭 컴퓨팅이 가능하기나 할까? 현재 인디애나대학교의 컴퓨팅 교수이자 베오울프 공동 발명자인 스털링은 불가능할 것이라고 생각했었다. “최소한 별도의 부동 소수점 연산을 하지 않는 한 절대로 제타플롭스에 도달할 수 없을 것이라 생각한다”라고 그는 말했다.

하지만 최근, 스털링은 생각을 바꾸었다. 스털링은 논리 회로와 메모리를 결합하여 I/O 속도를 늦추면 제타플롭스 이상의 속도를 달성할 수 있다고 말했다. 실제로 그는 비노이만형 뉴먼 아키텍처와 초전도를 사용함으로써 2030년까지 요타플롭(YottaFlop, 1,000제타플롭스) 슈퍼컴퓨터 속도에 도달할 수도 있다고 기대했다. 실제로 중국의 연구원들은 2035년에는 제타스케일(Zettascale) 시스템을 보게 될 수 있다고 주장하고 있다.

확실한 것은 컴퓨팅 속도 경쟁이 절대로 끝나지 않을 것이라는 점이다. 속도가 우리에게 어떤 의미가 있는지 지금은 이해하지 못할 수 있지만, 언젠가는 이해하게 될 것이다. 기억하자. 빌 게이츠는 한 때 “누구든 640K 메모리면 충분할 것이다”라고 말했다는 이야기가 있다. 우리는 분명 메모리로 할 일을 찾은 것처럼, 이 속도로 할 수 있는 유용한 일도 찾아낼 것이다. 

* Steven J. Vaughan-Nichols는 CP/M-80이 첨단 PC 운영체제였고 300bps 모뎀이 고속 인터넷 연결 수단이었던 시절부터 기술 분야에 대한 글을 써왔다. ciokr@idg.co.kr
 

X