미국 에너지 부의 슈퍼 컴퓨터 역사
미국 DOE(Department of Energy, 에너지 부)는 70년 동안 최첨단 슈퍼 컴퓨터를 사용해온 부서입니다. 아래는 슈퍼컴퓨팅 2018 전시회에서 전시된 몇 가지 제품입니다.
이 곳은 1977년에 공식적으로 설립됐으나, 원래 육군 공병대가 관리하던 미국 정부의 맨해튼 프로젝트에서 시작됐습니다. 이 프로젝트는 2차 세계 대전이 끝날 무렵 세계 최초의 원자 폭탄을 만들었지요. 여전히 핵무기의 설계, 제작, 시험을 진행하고 있으나 다른 에너지 연구와 개발 프로그램도 이끌고 있습니다.
에너지 부의 첫 작업은 트랜지스터의 시대가 열리기 전인 1945년에 핵무기를 연구하면서 시작됐습니다. 진공관을 넣어 만든 그 유명한 컴퓨터, 에니악(Electronic Numerical Integrator and Computer)을 활용했지요. 이후 1960년부터 1989년에는 크레이-1 같은 커스텀 프로세서와 벡터 프로세서를 내장한 시스템을 사용했습니다.
1992년에서 2005년까지 이곳의 슈퍼 컴퓨터는 싱글 코어 프로세서와 SMP(symmetric multiprocessing)로 발전했으며, 2005년에는 멀티코어/SMP 프로세서가 탑재된 최초의 슈퍼컴퓨터가 나왔습니다. 그리고 지금은 슈퍼 컴퓨터 세계에 큰 영향을 미친 GPU 가속기 시대에 왔지요.
미국 에너지 부는 슈퍼컴퓨터 성능 1위와 2위를 차지한 서밋과 시에라 슈퍼 컴퓨터 시스템을 운영 중입니다. 설립 후 70년이 지난 지금은 세계 최초의 엑사스케일 급 슈퍼 컴퓨터를 구축하고 있습니다. 1초에 10억번 이상의 계산이 가능하며, 기존의 페타스케일 슈퍼컴퓨터의 1000배 높은 성능을 냅니다.
미국 에너지 부는 알라모스, 오크리지, 샌디아를 비롯한 17개의 국립 연구소를 관리합니다. 이 시설들은 지구에서 가장 발전한 슈퍼컴퓨터를 갖췄습니다.
MANIAC
에니악(Electronic Numerical Integrator and Computer)은 유명하지만, MANIAC은 그만큼 널리 알려지지 않았습니다. 로스 알라모스 국립 연구소에서 1949~1952년에 수학 분석과 수치 분석 분야에 운용한, 에니악의 선배 겪인 슈퍼컴퓨터입니다.
트랜지스터가 나오기 이전의 컴퓨터이기에, 연산 장치에 2850개의 진공관과 1040개의 다이오드를 썼습니다. 시스템 전체를 통틀어서 5190개의 진공관과 3050개의 반도체 다이오드가 들어갑니다. 무게 453kg의 이 컴퓨터는 폰 노이만 아키텍처를 기반으로 한 최초의 컴퓨터였으며, 열핵 반응을 정확히 계산해 냈습니다.
CDC 600
1966년의 CDC(Control Data Corp.) 6600은 지구상에서 가장 빠른 슈퍼컴퓨터로, 무려 3메가플롭스의 성능을 뽐냈습니다. 1초에 3백만 개의 부동 소수점을 연산해 낸다는 소리죠. 프레온으로 열을 식히는 이 슈퍼 컴퓨터는 여러개의 기판으로 구성돤 단일 CPU가 장착된 캐비넷 4개로 구성됩니다. 또 입출력 작업을 처리하는 10개의 보조 프로세서도 달려 있었습니다.
크레이 슈퍼컴퓨터를 개발한 것으로 명성이 높은 Seymour Cray가 만든 작품이기도 합니다.
크레이-1
크레이(Cray)-1은 가장 잘 알려진 슈퍼 컴퓨터일 겁니다. C자 모양의 디자인과 그 주변을 둘러싼 가죽 의자 때문에, 세계에서 가장 비싼 의자라는 별명도 붙었지요. 1976년에 로스 알라모스 국립 연구소에 처음으로 설치됐습니다.
C자 모양으로 디자인해 각각의 구성 요소를 연결하는 전선의 길이를 줄여 대기 시간을 낮췄고 성능을 향상시켰습니다. 의자 아래엔 115KW 급의 전원 공급 시스템이 숨겨져 있습니다. 이 기계의 무게는 6.8톤에 달하며, 면적은 1.25제곱m입니다.
프레온을 사용해 냉각하는 싱글 프로세서의 속도는 80Mhz, 16 뱅크에 8.39MB 메모리가 탑재됩니다. 저장 장치의 용량은 303MB. 가격은 790만 달러, 성능은 160메가플롭스였습니다.
미사일에 탑재된 Strap SANDAC
미사일 내비게이션에 슈퍼 컴퓨터가 필요하다면 어떻게 해야 할까요? SANDAC(Sandia National Labs Airborne Computer)은 앞에서 본 크레이-1의 모든 기능을 제공하지만, 무게는 9kg 이하로 줄었습니다. 6.8톤이 9kg가 되기까지 걸린 시간은 9년입니다. 이 미사일 항법 장치는 1985년에 나왔거든요.
SANDAC은 모토로라의 커스텀 MIMD 프로세서 15개로 구성해 최고 225MIPS의 성능을 제공합니다. 이는 초기의 병렬 컴퓨터 중 하나이자, 미사일에 탑재돼 날아간 최초의 병렬 컴퓨터이기도 했습니다. 지금까지 나온 다른 슈퍼컴퓨터와 마찬가지로 자체 메모리가 있으며 입/출력 작업을 위한 모듈도 포함됩니다.
미사일에 들어가는 물건이니 내구성이 중요하겠지요. 격렬한 진동, 가속, 최고 95도의 온도까지 견딜 수 있도록 설계됐습니다.
생각하는 기계
TMC(Thinking Machines Corporation)의 CM(Connection Machines)은 1991년에 등장했습니다. 위 사진은 썬 마이크로시스템의 워크스테이션에서 만든 1024개 SPARC RISC 프로세서를 탑재한 CM-5 시스템의 보드 일부입니다. 초기 슈퍼 컴퓨터의 현대적인 대규모 병렬 아키텍처로 향하는 길을 열었고, MIT의 대니 힐리스 박사의 연구를 기반으로 한 시스템이자, 폰 노이만 아키텍처의 대안을 모색한 제품이기도 합니다.
1993년에는 CM-5 슈퍼컴퓨터가 TOP500에 이름을 올렸습니다. 당시에 세계에서 가장 빠른 슈퍼컴퓨터로 131기가플롭스의 성능을 냈습니다. 이후 몇 년 동안 계속해서 10위 안을 지켰습니다.
인텔 파라곤 노드
인텔은 1992년에 오크 릿지 국립 연구소에 파라곤 GP 노드(Paragon General-Purpose)를 제공했습니다. 각 노드에는 2개의 i860 XP 프로세서(RISC)를 탑재합니다. 하나는 애플리케이션 전용, 다른 하나는 메세지 처리 전용입니다.
시스템 전체에는 1024개의 노드에 2048개의 i860 프로세서가 설치됩니다. 각 노드는 16MB 메모리와 백플레인 메쉬 라우터에 연결된 B-NIC 인터페이스가 탑재됩니다. 이 시스템은 1994년 6월에 143.4기가플롭스의 성능을 내 TOP500 1위를 차지했습니다.
파라곤 XP/S 노드는 이제 어디서나 쓸 수 있게 된 x86 명령어 세트를 활용해 코드를 개발했습니다.
인텔, ASCI 레드와 함께 테라플롭스의 벽을 깨다
슈퍼 컴퓨터가 진화하면서 테라플롭스, 1초에 1조 개의 부동 소수점을 연산하는 장벽이 깨졌습니다. 인텔과 Sandia 국립 연구소가 1996년에 이룬 성과지요. ACSI Red 시스템은 48제곱m의 공간 위에 놓여진 104개의 캐비닛으로 구성됩니다. 그 중 76개는 '무려' 200Mhz로 동작하는 펜티엄 프로 9298개를 탑재했는데, 나중에 펜티엄 2 제온 333Mhz로 업그레이드됐습니다.
이 시스템은 스위칭 전용 캐비닛 8개와 디스크 스토리지 전용 캐비닛 20개를 포함하며, 총 1.2TB의 메모리를 운용합니다. 스토리지는 테라플롭스의 성능을 돌파하기 위한 PFS(Parallel File System)로 최고 1GB/s의 처리량을 냅니다. 시스템 전체는 최대 850kW의 전력을 소비합니다.
테라플럽스의 장벽을 깼을 때엔 75%만 완성된 상황이었고, 메모리와 프로세서를 업그레이드를 마친 후인 19990년에는 최고 3.1테라플롭스의 성능을 냈습니다. TOP500의 선두 위치는 1997년부터 2000년까지 지켜냈습니다. 또 이 시스템은 ASCI (Accelerated Strategic Computing Initiative)에 의해 구축된 최초의 시스템이기도 합니다. 1992년 핵 실험 중단 후 미국의 핵무기를 유지하기 위한 프로그램이었죠.
Cray T3E-900 연산 모듈
1997년에 로렌스 버클리 국립 연구소에 설치된 '마리 퀴리' 크레이 T3E-900 시스템의 모듈 2개입니다. 2176개의 프로세서를 탑재, 450Mhz의 클럭으로 작동, 512 DEC 알파 21664A 마이크로 프로세서를 사용합니다. 각각의 모듈에는 최대 2GB의 DRAM과 6방향 연결 라우터가 있습니다.
부동 소수점 성능은 린팩으로 측정하지만, 종합 성능은 데이터 전송을 비롯한 시스템의 다른 부분까지 고려해야 하기에 추측만 가능합니다. 오크릿지 국립 연구소에선 실제 애플리케이션을 처리할 때 657기가플롭스에 도달, 1998년에 고든 벨 상을 받았습니다. 나중에는 크레이 공장에서 T3E를 써서 1.02테라플롭스의 성능을 돌파, 과학 응용 분야에서 1테라플롭스의 성능을 뽑아낸 최초의 기록을 세웠습니다.
IBM '파워' 등장
파워 3 아키텍처를 사용한 IBM 이글 RISC 시스템(RS)/6000 SP 슈퍼 컴퓨터가 1999년에 오크릿지 국립 연구소에 설치됐습니다. 이 시스템은 124개의 프로세서를 내장해 993기가플롭스를 달성하고, 나중에는 704개의 프로세서로 확장됐습니다.
위 사진은 270제곱mm 크기의 다이를 갖춘 파워 3 프로세서입니다. IBM은 CMOS-6S2 프로세스(250nm에 해당)로 이를 제조했고, 처음에는 200Mhz로 동작했으나 후속 모델인 파워3-II는 450MHz까지 성능을 높였습니다.
ASCI 화이트
ASCI 화이트 슈퍼컴퓨터는 512개의 IBM RS/6000 시스템을 묶어 만들었습니다. 앞에서 소개한 시스템이죠? 1개의 노드에 16개의 IBM 파워3 프로세서가 장착되며, 8192개의 프로세서가 375Mhz로 실행되고, 6TB의 메모리에 160TB의 디스크 스토리지를 사용합니다. 전체 시스템은 3가지 종류의 캐비닛으로 구성되는데, 512노드 화이트, 28노드 아이스, 28노드 프로스트입니다.
무게 100톤의 이 시스템은 2001년에 1억 1000만 달러를 들여 제작됐습니다. ASCI 화이트 슈퍼컴퓨터가 연산하는데만 3MW의 전략이 필요했는데, 이걸 쿨링하는데 또 3MW가 필요했습니다. 성능은 12.3테라플롭스로, 2000년 11월부터 2002년 6월까지 TOP500의 가장 빠른 슈퍼컴퓨터 자리를 지켰습니다.
파란 거인 IBM의 Blue Gene/L
IBM은 단백질 접힘과 유전자 발달을 연구하기 위해 블루 진/L을 설계했습니다. 478.2테라플롭스의 성능을 내는 이 시스템은 2004년 11월부터 2008년 6월까지 TOP500에서 1위를 차지했습니다.
하나의 ASIC와 다수의 DRAM 메모리 칩이 장착된 컴퓨팅 카드 여럿으로 이 슈퍼컴퓨터가 구성됩니다. 각각의 ASIC는 2개의 PowerPC 440 임베디드 프로세스를 장착, 컴퓨팅 카드 한장에 최고 5.6기가플롭스의 성능을 냅니다. 상대적으로 느린 임베디드 프로세서를 사용한 대신, 대규모 병렬 설계 시스템을 구축해 전력 소비량을 낮췄습니다.
위 연산 카드 중 16개가 1개의 노드에 삽입됩니다. 2개의 추가 카드는 I/O 작업을 처리합니다. 이런 고밀도 설계로 1개의 19인치 서버 랙에 최대 1024개의 컴퓨팅 노드를 설치합니다. 블루 진/L은 최대 65,536개로 노드를 확장할 수 있었습니다.
크레이 레드 스톰
유명한 슈퍼 컴퓨터 제조사인 크레이(Cray)는 2005년에 레드 스톰을 개발했습니다. 3D 메시 네트워킹 토플러지와 라우터, NIC를 하나의 실리콘에 통합한 커스텀 시스타 칩은, 현대적인 슈퍼컴퓨터의 데이터 이동 특징을 잘 보여주고 있습니다. 이 슈퍼컴퓨터는 10880개의 옵테론 싱글코어 3GHz CPU를 장착했습니다.
처음엔 140개의 캐비닛으로 시작, 91제곱m의 공간을 차지했으며 성능은 36.19테라플롭스였습니다. 이후 더 빠른 2.4GHz 듀얼코어 AMD 옵테론으로 확장되고, 다른 캐비닛을 더해 총 26000개의 프로세싱 코어를 갖췄습니다. 그 결과 101.4테라플롭스의 성능을 찍었고, 나중에 쿼드코어 옵테론과 1코어 당 2GB 메모리로 업그레이드하자 204.2테라플롭스에 도달했습니다.
레드 스톰(크레이 XT3)은 2006년부터 2008년까지 TOP500의 상위 10위 안을 차지했습니다.
호퍼
크레이 XE6 호퍼(Hooper)은 12768개의 AMD 매그니 쿠르 칩을 장착합니다. 각 칩에는 12개의 코어가 있어, 슈퍼컴퓨터 전체에선 153,408개의 코어가 됩니다. 호퍼는 미국 에너지부 과학 연구소에서 최초로 페타플롭스를 달성한 슈퍼컴퓨터이기도 합니다.
이 시스템은 6384개의 노드로 구성되며, 각각의 노드는 AMD 매그니 쿠르 프로세서 2개와 DDR3 64GB SDRAM 메모리가 장착됩니다. 한개의 캐비닛에 최대 3072개의 코어가 들어갑니다. 위에서 본 레드 스톰과는 달리 시스타 네트워킹 칩이 아닌 새로 만든 제미니 라우터 ASIC를 사용합니다.
호퍼는 2010년 11월 TOP500 순위에서 1.05페타플롭스의 성능으로 5위를 기록했습니다.
블루 진/Q 세쿼이아
96개 랙으로 구성된 IBM의 Blue Gene/Q Sequoia 시스템엔 1,572,864개의 코어가 탑재됩니다. 98,304개의 컴퓨팅 노드에 1.6PB의 메모리를 장착하며, 2.3GHz의 클럭으로 작동하는 IBM 16코어 A2 프로세서를 씁니다. 각각의 A2 코어는 동시에 4개의 스레드를 실행하는 SMT4 프로세서입니다.
ASC 세쿼이아 노드를 감싼 구리 튜브를 보면 알겠지만 수냉 쿨러를 사용하는 슈퍼컴퓨터입니다. 블루 진/Q는 Green500 순위에 상당 시간 동안 머물렀던 고효율 슈퍼컴퓨터이기도 합니다. 이 시스템은 블루 진/L보다 빠른 속도를 내도록 만들었으며, 동시에 17배 더 효율적인 시스템입니다.
2013년에 이 시스템은 1초에 580억 개의 이벤트를 처리해, 1초당 122건이었던 기존 기록을 넘어섰습니다. 세콰이어가 설치된 로렌스 리버모어 국립 연구소가 1시간 동안 수행한 연산은, 지구상의 67억명 인구가 하루 종일 320년 동안 쉬지 않고 계산한 것과 같은 수준입니다.
블루 진/Q는 2012년에 세계에서 가장 빠른 슈퍼컴퓨터라는 칭호를 얻었으며 17.17페타플롭스의 성능을 달성했습니다.
서밋. 세계에서 가장 빠른 슈퍼컴퓨터
가속 장치의 시대가 왔습니다. GPU라고도 부르는 것이죠. 오늘날의 슈퍼컴퓨터에 추가된 새로운 컴퓨팅 성능은 GPU에서 비롯됐습니다. 오크릿지의 서밋 슈퍼컴퓨터는 볼타 GV100 GPU를 사용합니다. 4600 노드의 이 슈퍼컴퓨터는 작년에 미국이 중국에게서 전세계 1위 슈퍼컴퓨터 보유국이라는 타이틀을 찾아오게 도와준 1등 공신입니다. 2,282,544개의 컴퓨팅 코어가 187,659 테라플롭스의 성능을 냅니다.
네이티브 NVLink 연결로 27,000개의 NVIDIA 볼타 GPU와 9,000개의 IBM Power9 CPU가 함께 동작합니다. 또 PCIe 4.0 인터페이스와 새로운 메모리를 비롯한 여러 신기술도 사용합니다.
이게 뭐죠?
이게 뭔지는 모르지만 인텔이 취소한 나이츠 힐을 기반으로 한 프로토타입 노드로 보입니다. 이 10nm 프로세서는 오로라 슈퍼컴퓨터에 탑재될 예정이었으나 인텔은 결국 취소했습니다. 오로라는 머신 러닝을 위한 고급 아키텍처를 위한 시스템이었지요.
인텔 제온 스케일러블 프로세서와 마찬가지로 나이츠 밀은 옴니 패스 인터커넥트가 칩에 직접 연결됐기에 위 사진에 나온대로 독특한 소켓이 필요했습니다. 이 보드는 인텔 제온 스케일러블 프로세서를 장착하기 위해 만든 소켓 LGA 3647 시스템일수도 있습니다. 또 옴니패스 컨트롤러와 6채널 메모리, 더 많은 것을 장착할 수 있는 물건이기도 합니다.
아스트라. 최초의 페타스케일 ARM 슈퍼컴퓨터
최초의 페타스케일급 ARM 슈퍼컴퓨터인 아스트라(Astra)가 거의 완성됐습니다. 1개의 랙에 18개의 쿼드 노드 HPE 아폴로 70이 들어가며, 총 36개의 랙으로 구성돼 2592개의 계산 노드를 구성합니다. 각 노드는 2GHz로 동작하는 2개의 28코어 Cavium Thunder-X2 ARM SoC가 있으며, 총 5184개의 CPU와 145,152개의 코어로 구성됩니다. 소켓마다 8채널 메모리를 지원해 1개의 노드에 128GB 메모리를 쓸 수 있습니다. 그러니까 총 용량은 332TB, 대역폭은 885TB/s입니다.
아직 완성되지 않은 시스템이지만 이미 1.5페타플롭스의 장벽을 깨고, 완성되면 2.3페타플롭스 이상을 기록할 것으로 예상됩니다. 또 데이터 트래픽을 감당하며 복잡하고 비싼 버스트 버퍼가 불필요한 244GB/s 대역의 플래시 스토리지 시스템도 있습니다.
ARM 시스템이란 점에서 예상했겠지만 낮은 전력 사용량이 이 시스템의 큰 특징입니다. 36개의 연산 랙에서 1.2MW의 전력을 사용하며,오직 12개의 팬 코일로 구성된 수냉 하이브리드 시스템으로 냉각합니다.
Perlmutter에 힘을 실어주는 AMD 밀라노
크레이 Shasta 슈퍼컴퓨터는 AMD가 아직 출시하지 않은 에픽 밀라노 프로세서를 사용합니다. AMD의 차세대 데이터 센터 프로세서죠. 또 NVIDIA의 볼타 다음 세대 GPU를 조합, 전 세계에서 가장 빠른 슈퍼컴퓨터가 될 엑사스케일 머신을 만들 것이라 기대됩니다.
이 슈퍼컴퓨터의 이름은 Perlmutter, CPU 노드와 GPU 노드를 혼합한 형태인데 이 사진은 CPU 노드만 나와 있습니다. 수냉 케이스 안에 8개의 AMD 밀라노 CPU가 있고, 그 위에 4개의 구리 워터 블럭이 장착됐습니다. 나머지 4개의 프로세서는 기판 반대편에 있습니다. 이 시스템은 높은 성능을 위해 설계됐기에 모든 메모리를 수냉으로 쿨링합니다.
미래는 엑사스케일
미국 에너지부의 차세대 슈퍼컴퓨터들입니다.
2019: NREL Eagle https://www.nrel.gov/hpc/eagle-system.html
2020: NERSC Perlmutter http://www.nersc.gov/systems/perlmutter/
2021: ANL Aurora https://www.alcf.anl.gov/articles/introducing-aurora
2021: LANL/Sandia Crossroads https://www.lanl.gov/projects/crossroads/
2022: ORNL Frontier https://www.olcf.ornl.gov/2018/02/13/frontier-olcfs-exascale-future/
2023: LLNL El Capitan https://www.llnl.gov/news/doe-announces-request-proposal-llnls-next-generation-exascale-supercomputer