고성능 컴퓨팅(HPC)은 최첨단 컴퓨터 시스템 그룹을 사용하여 표준 상용 컴퓨팅 시스템으로는 불가능한 복잡한 시뮬레이션, 연산 및 데이터 분석을 수행하는 과학이자 예술입니다.
HPC 컴퓨터 시스템은 고속 처리 능력, 고성능 네트워크, 대용량 메모리를 통해 방대한 양의 병렬 처리를 수행할 수 있는 것이 특징입니다. 슈퍼컴퓨터는 고도로 발전된 HPC 컴퓨터의 한 유형으로, 엄청난 연산 성능과 속도를 제공하며 고성능 컴퓨팅 시스템의 핵심 구성 요소로 자리 잡았습니다.
최근 몇 년 동안 HPC는 시뮬레이션 기반 과학 조사에 주로 사용되는 도구에서 시뮬레이션 및 머신 러닝(ML)을 실행하는 이중 역할을 담당하도록 진화되었습니다. 물리 기반 시뮬레이션과 ML의 결합은 기후 모델링, 신약 개발, 단백질 접힘, 전산 유체 역학(CFD) 등의 분야에서 과학적 인사이트를 도출하는 데 소요되는 시간을 단축하며 HPC 시스템의 활용 범위가 확장되는 데 모멘텀을 제공해 왔습니다.
슈퍼컴퓨터의 기본 시스템 아키텍처
이와 같은 HPC와 ML의 진화를 촉진하는 주요 원동력 중 하나는 그래픽 처리 장치(GPU) 기술의 발달입니다. GPU는 엄청난 양의 데이터를 병렬로 처리하도록 설계된 특수 컴퓨터 칩으로, 일부 HPC에 이상적이며 현재 ML/AI 연산을 위한 기본 자원으로 여겨지고 있습니다. 고성능 GPU와 소프트웨어 최적화의 결합으로 HPC 시스템은 기존 컴퓨팅 시스템보다 훨씬 더 빠르게 복잡한 시뮬레이션과 연산을 수행할 수 있게 되었습니다.
고성능 컴퓨팅이 중요한 몇 가지 이유는 다음과 같습니다.
HPC는 연구 및 엔지니어링의 수행 방식에 혁명을 일으켰으며 산업 프로세스의 효율성 개선부터 재난 대응 및 완화, 우리를 둘러싼 세상에 대한 이해 증진에 이르기까지 우리 삶의 여러 측면에 깊은 영향을 미치고 있습니다.
고성능 컴퓨팅은 단일 머신에서는 불가능한 대규모 작업을 수행하기 위해 여러 컴퓨터의 컴퓨팅 능력을 결합하는 방식을 말합니다. HPC의 작동 방식은 다음과 같습니다.
많은 컴퓨터의 집단 성능을 활용함으로써 HPC는 단일 머신에서 수행할 때보다 훨씬 짧은 시간 내에 대규모 시뮬레이션, 데이터 분석 및 기타 연산 집약적 작업을 완료할 수 있습니다.
고성능 컴퓨팅 클러스터는 긴밀하게 상호 연결된 컴퓨터 모음으로, 하나의 시스템처럼 병렬로 작동하여 대규모 컴퓨팅 작업을 수행합니다. HPC 클러스터는 고성능 및 확장성을 제공하도록 설계되어 이를 통해 과학자, 엔지니어, 연구자가 단일 컴퓨터로는 불가능한 복잡한 문제를 해결할 수 있습니다.
HPC 클러스터는 일반적으로 여러 개별 컴퓨팅 노드로 구성되며, 각 노드에는 하나 이상의 프로세서, 가속기, 메모리, 스토리지가 탑재됩니다. 이러한 노드는 고성능 네트워크로 연결되어 있어 정보를 공유하고 작업을 위해 협업할 수 있습니다. 또한 일반적으로 클러스터에는 작업 스케줄링, 데이터 분산, 성능 모니터링과 같은 리소스 관리를 위해 특수 소프트웨어 및 도구가 포함되어 있습니다. 작업을 병렬로 수행할 수 있도록 데이터를 분할하고 작업을 분산해 애플리케이션 속도를 높입니다.
전통적인 HPC를 사용한 훈련 데이터 속도 향상
출처: Convergence of Artificial Intelligence and High-Performance Computing on NSF-Supported Cyberinfrastructure | Journal of Big Data | 전문(springeropen.com)에 제시된 그래프 데이터를 수정했음
기후 모델은 대기, 해양, 지표면 등 지구 기후의 반응을 시뮬레이션하는 데 사용됩니다. 이러한 시뮬레이션은 연산 집약적일 수 있으며 많은 양의 데이터와 병렬 컴퓨팅이 필요하므로 GPU 가속 HPC 시스템에 이상적입니다. GPU와 기타 병렬 처리 기술을 사용하면 기후 과학자가 더 상세하고 정확한 시뮬레이션을 실행할 수 있어 지구의 기후와 인간 활동의 영향을 더 잘 이해할 수 있습니다. 이 사용 사례가 지속적으로 발전함에 따라 예측 역량이 향상되어 효과적인 완화 및 적응 전략을 설계하는 데 활용될 수 있을 것으로 예상됩니다.
신약의 발견과 개발은 질병을 치료할 잠재력이 있는 물질을 파악하기 위해 수백만 가지 화학 화합물을 시뮬레이션해야 하는 복잡한 프로세스입니다. 전통적인 신약 발견 방법은 연산 성능의 부족으로 한계에 부딪혔지만, HPC 및 GPU 기술을 통해 과학자들은 더 상세한 시뮬레이션을 실행하고 더 효과적인 AI 알고리즘을 배포하여 신약을 더 빠르게 발견할 수 있게 되었습니다.
단백질 접힘이란 단백질이 3차원 구조로 접히는 과정을 말합니다. 이 구조는 단백질의 기능에 매우 중요한 역할을 합니다. 단백질 접힘에 대한 이해는 알츠하이머, 암과 같은 질병의 치료법을 개발하는 데 필수적입니다. HPC 및 GPU 기술은 과학자들이 단백질 접힘 시뮬레이션을 더 효율적으로 실행할 수 있도록 지원하여 이 프로세스에 대한 이해도를 증진하고 새로운 치료법의 개발 속도를 높이고 있습니다.
전산 유체 역학(CFD) 시뮬레이션은 항공기 주변의 공기 흐름과 같이 실제 시스템에서 유체의 동작을 모델링하는 데 사용됩니다. HPC 및 GPU 기술은 엔지니어가 더 상세하고 정확한 CFD 시뮬레이션을 실행할 수 있도록 지원하므로 풍력 터빈, 제트 엔진과 모든 유형의 운송수단을 비롯해 시스템의 설계를 개선하는 데 도움이 됩니다.
HPC와 ML/Al는 지구의 반응을 시뮬레이션하는 데 사용되는 기후 모델링에 큰 영향을 미치고 있습니다.
과학 및 엔지니어링 분야에서 가장 많이 사용되는 고성능 컴퓨팅의 응용 분야는 다음과 같습니다.
분자동역학(MD) 시뮬레이션에 사용되는 컴퓨터 코드는 많지만, 가장 자주 사용되는 몇 가지 코드는 다음과 같습니다.
CFD 시뮬레이션에는 여러 컴퓨터 코드가 사용되지만 가장 많이 사용되는 코드는 다음과 같습니다.
기후 모델링에는 많은 컴퓨터 코드가 사용되지만, 가장 많이 사용되는 코드는 다음과 같습니다.
컴퓨터 화학에는 여러 컴퓨터 코드가 사용되지만, 가장 많이 사용되는 코드는 다음과 같습니다.
머신 러닝에는 많은 컴퓨터 코드가 사용되지만, 가장 많이 사용되는 코드는 다음과 같습니다.
이러한 코드는 지도 및 비지도 학습, 딥 러닝, 강화 학습 등의 다양한 ML 알고리즘을 제공합니다. 사용 사례는 이미지 및 언어 인식, 자연어 처리(NLP), 예측 분석 등으로 광범위하며 컴퓨터 비전, 로봇, 금융 등의 분야에서 복잡한 문제를 해결하는 데 필수적인 도구입니다.
고성능 컴퓨팅은 다음과 같은 방법으로 시작할 수 있습니다.