고성능 컴퓨팅(HPC)은 단일 워크스테이션, 서버 또는 컴퓨터보다 높은 성능을 얻기 위해 컴퓨팅 리소스를 집계하는 방식입니다. HPC는 맞춤형 슈퍼 컴퓨터 또는 클러스터라고 하는 개별 컴퓨터 그룹의 형태를 취할 수 있습니다. HPC는 온프레미스, 클라우드 또는 이 둘의 하이브리드로 실행할 수 있습니다. 클러스터의 각 컴퓨터를 노드라고 부르는 경우가 많으며, 각 노드는 서로 다른 작업을 담당합니다. 컨트롤러 노드는 필수 서비스를 실행하고 노드 간 작업을 조정하고, 대화형 노드나 로그인 노드는 사용자가 그래픽 사용자 인터페이스나 명령줄을 통해 로그인하는 호스트 역할을 수행하며, 컴퓨팅 또는 워커 노드는 계산을 실행합니다. 알고리즘과 소프트웨어는 클러스터의 각 노드에서 병렬로 실행되어 주어진 작업을 수행하는 데 도움이 됩니다. HPC에는 일반적으로 컴퓨팅, 스토리지, 네트워킹이라는 세 가지 주요 구성요소가 있습니다.
HPC를 사용하면 기업과 연구원이 컴퓨팅 리소스를 집계하여 표준 컴퓨터가 개별적으로 처리하기에는 너무 크거나 처리하는 데 시간이 너무 오래 걸리는 문제를 해결할 수 있습니다. 이러한 이유로 슈퍼컴퓨팅이라고도 합니다.
HPC는 학술 연구, 과학, 설계, 시뮬레이션, 비즈니스 인텔리전스 분야의 문제를 해결하는 데 사용됩니다. 은행이 수백만 건의 신용카드 거래에 대한 사기를 한 번에 확인하고, 자동차 제조업체가 자동차의 충돌 안전 설계를 테스트하거나, 내일의 날씨를 파악하는 등 오늘날 사회의 가장 기본적인 측면을 뒷받침하는 것은 방대한 양의 데이터를 신속하게 처리하는 HPC의 기능 덕분입니다.
Google의 HPC에 대해 자세히 알아보세요.
고성능 컴퓨팅에는 세 가지 주요 구성요소가 있습니다.
기본적으로 HPC 시스템의 노드(컴퓨팅)는 다른 노드에 연결되어 알고리즘과 소프트웨어를 동시에 실행한 다음 데이터 서버(스토리지)와 연결(네트워크)하여 출력을 캡처합니다. HPC 프로젝트는 규모가 크고 복잡한 경향이 있으므로 일반적으로 시스템의 노드는 서로 계산 결과를 교환해야 합니다. 이는 노드와 스토리지 시스템 간에 빠른 디스크, 고속 메모리, 짧은 지연 시간, 고대역폭 네트워킹이 필요하다는 것을 의미합니다.
HPC는 일반적으로 클러스터 컴퓨팅과 분산 컴퓨팅이라는 두 가지 일반적인 설계 유형으로 나눌 수 있습니다.
병렬 컴퓨팅은 노드 간 지연 시간을 최소화하기 위해 물리적으로, 그리고 네트워크 토폴로지에서 서로 가깝게 배치되어 있는 연결된 서버 그룹과 같은 컴퓨터(클러스터) 컬렉션을 함께 사용하여 수행됩니다.
분산 컴퓨팅 모델은 단일 위치(주로 온프레미스)에 있거나 온프레미스 하드웨어 및 클라우드 리소스를 포함할 수 있는 여러 위치에 분산되어 있는 네트워크의 여러 컴퓨터의 컴퓨팅 성능을 연결합니다.
또한 HPC 클러스터는 동종 하드웨어 모델과 이기종 하드웨어 모델로 구분할 수 있습니다. 동종 클러스터에서는 모든 머신의 성능과 구성이 비슷하며 종종 동일하고 상호 교환 가능한 것으로 취급됩니다. 이기종 클러스터에는 다양한 특성(높은 CPU 코어 수, GPU 가속 등)을 가진 하드웨어 모음이 있으며, 노드에 각기 다른 장점을 최대한 활용할 수 있는 작업이 할당될 때 시스템이 가장 잘 활용됩니다.
HPC 환경의 워크로드는 일반적으로 느슨하게 결합된 유형과 긴밀하게 결합된 유형의 두 가지 유형으로 나뉩니다.
느슨하게 결합된 워크로드(병렬 작업 또는 높은 처리량 작업이라고도 함)는 시스템 전체에서 동시에 실행할 수 있는 독립적인 작업으로 구성됩니다. 이러한 작업은 공통 저장소를 공유할 수 있지만 컨텍스트에 종속되지 않으므로 완료될 때 서로 결과를 전달할 필요는 없습니다. 느슨하게 결합된 워크로드의 예로는 배경 및 3D 모델과 같은 동일한 입력 데이터를 공유하더라도 동영상의 각 프레임이 다른 프레임과 독립적으로 렌더링되는 장편 영화에서 컴퓨터 생성 이미지(CGI)를 렌더링하는 경우를 들 수 있습니다.
긴밀하게 결합된 워크로드는 클러스터의 여러 노드에서 각각 처리하는 여러 개의 작은 프로세스로 구성되며, 전체 작업을 완료하기 위해 서로 의존합니다. 긴밀하게 결합된 워크로드에는 일반적으로 노드 간 지연 시간이 짧은 네트워킹과 공유 메모리 및 스토리지에 대한 빠른 액세스가 필요합니다. 이러한 워크로드에 대한 프로세스 간 통신은 OpenMPI 및 Intel MPI와 같은 소프트웨어를 사용하는 메시지 전달 인터페이스(MPI)에서 처리됩니다. 긴밀하게 결합된 워크로드의 예로는 온도, 풍력, 기압, 강수량 등과 관련된 동적이고 상호 의존적인 시스템의 물리학 기반 시뮬레이션을 포함하는 기상 예측을 들 수 있습니다. 여기에서 각 클러스터 노드는 다양한 날씨 요인에 대한 부분적인 솔루션을 계산할 수 있으므로, 전반적인 예보에 기여할 수 있습니다.
HPC는 전용 장비를 갖춘 온프레미스, 클라우드, 또는 각각의 하이브리드에서 수행할 수 있습니다.
클라우드의 HPC는 고가의 전용 슈퍼컴퓨터를 구입하고 유지관리할 필요 없이 유연성과 확장성이라는 이점을 제공합니다. 클라우드의 HPC는 데이터 스토리지, 네트워킹 솔루션, 전문 컴퓨팅 리소스, 보안, 인공지능 애플리케이션 등 대규모의 복잡한 작업을 수행하는 데 필요한 모든 인프라를 제공합니다. 워크로드를 주문형으로 수행할 수 있으므로 조직은 필요할 때 필요한 리소스만 사용하여 장비 비용과 컴퓨팅 주기 시간을 절약할 수 있습니다.
클라우드에서 HPC를 실행하기로 선택할 때 고려해야 할 몇 가지 일반적인 사항은 다음과 같습니다.
지연 시간 및 대역폭: HPC 워크로드에서 실행되는 데이터의 양을 고려할 때 클라우드 제공업체는 지연 시간이 짧고 강력한 네트워킹 기능(> 100GB/s)을 제공해야 합니다.
성능: 클라우드의 HPC는 특히 컴퓨터 프로세서, 스토리지 솔루션, 네트워킹 기능 등 성능을 최적화하기 위해 시스템을 지속적으로 업데이트하는 제공업체에서 가장 잘 작동합니다.
지속 가능성: HPC는 리소스 집약적인 형식의 컴퓨팅으로 일반적인 워크로드에 비해 훨씬 더 많은 전력이 필요합니다. 온프레미스 고성능 컴퓨터에는 연간 수백만 달러의 에너지 비용이 발생할 수 있습니다. Google Cloud처럼 재생 에너지를 우선시하는 퍼블릭 클라우드를 사용하면 HPC가 에너지에 미치는 영향을 완화할 수 있습니다.
스토리지: 대부분의 HPC 작업 크기를 고려할 때 확장 가능한 데이터 스토리지는 HPC 워크로드를 실행할 때 중요한 고려사항입니다. 대용량 데이터를 쉽게 저장하고 관리할 수 있는 클라우드 제공업체(예: Cloud Storage Filestore High Scale 또는 DDN EXAScaler)는 HPC에서 이점이 있습니다.
보안: 비공개로 관리되는 글로벌 인프라를 갖춘 클라우드 제공업체는 데이터와 애플리케이션이 공개 인터넷에 가장 노출되지 않도록 합니다. 가상 프라이빗 클라우드(VPC) 네트워크는 노드 간 연결을 지원하며 HPC 애플리케이션의 방화벽을 구성할 수 있습니다. 컨피덴셜 컴퓨팅 기능을 통해 사용 중인 데이터 암호화는 물론 저장 데이터 및 전송 중인 데이터 암호화도 지원합니다.
속도 및 성능
고성능 컴퓨팅은 단일 서버 또는 컴퓨터보다 훨씬 빠르게 데이터와 작업을 처리할 수 있습니다. 일반 컴퓨팅 시스템에서는 몇 주 또는 몇 달이 걸릴 수 있는 작업을 HPC에서는 몇 시간 만에 처리할 수 있습니다.
유연성과 효율성
클라우드에서 HPC를 사용하면 워크로드에 따라 워크로드를 확장하거나 축소할 수 있습니다. HPC는 강력한 인터넷 연결을 통해 전 세계 어디서나 액세스할 수 있습니다.
비용 절감
클라우드에서 HPC의 속도, 유연성, 효율성 덕분에 조직은 컴퓨팅 리소스와 노동 시간에 드는 시간과 비용을 절약할 수 있습니다.
내결함성
HPC 클러스터의 한 노드에 장애가 발생하더라도 나머지 시스템이 다운되지 않을 만큼 복원력이 뛰어납니다. HPC에서 수행되는 크고 복잡한 작업을 고려할 때 내결함성은 큰 장점입니다.
R&D 가속화
HPC는 제약 모델링, 새로운 기계 및 부품 설계, 물리적 테스트 감소를 위한 실험 시뮬레이션 등 데이터 집약적인 프로젝트의 결과를 가속화하여 연구 개발을 수행하는 기업에 이점을 제공합니다.
초기 비용
온프레미스 HPC 클러스터와 슈퍼컴퓨터는 초기 비용이 높습니다. 온프레미스 HPC는 장비, 인건비, 소프트웨어, 구성 비용을 고려할 때 대부분의 조직에서 감당할 수 없는 수준입니다.
에너지 소비량
온프레미스 슈퍼컴퓨터 설치에 드는 에너지 비용은 상당할 수 있습니다. 친환경적이고 비용에 민감한 기업은 세계에서 가장 청정한 클라우드에서 HPC를 실행하여 HPC 에너지 소비를 지속 가능하게 유지할 수 있습니다.
유지보수
HPC는 최신 세대의 하드웨어와 최적화된 소프트웨어에서 가장 잘 실행됩니다. 최적의 성능을 보장하기 위해 온프레미스 HPC 클러스터 또는 슈퍼컴퓨터를 최신 상태로 유지하려면 지속적으로 많은 비용이 들 수 있습니다.
현대의 생태계는 데이터와 이를 분석하기 위한 컴퓨팅 집약적인 도구로 넘쳐납니다. HPC는 기업과 조직이 모든 데이터를 적시에 처리하여 새로운 인사이트, 혁신, 과학적 발견의 원동력이 될 수 있도록 지원합니다. 이를 통해 기업은 비즈니스 시나리오를 예측하고, 시장 변동을 예측하고, 권장사항을 제시할 수 있습니다. 한편, 의료 분야는 클라우드에서 HPC에 쉽게 액세스하도록 변화되면서 잠재적인 발병 가능성을 모델링하고, 암 세포의 게놈을 디코딩하고, 질병이 어떻게 진화하는지 파악하는 데 도움이 됩니다.
간단히 말해 HPC는 과학, 기술, 비즈니스의 발전 속도를 가속화하여 인류가 더욱 풍요로운 미래를 만드는 데 기여하고 있습니다.
다음은 고성능 컴퓨팅의 사용 사례입니다.
조사
HPC는 학계 및 과학 연구에서 위성과 망원경의 천문학 데이터, 새로운 물질 제작, 신약 발견, 단백질 모델링과 같은 대규모 데이터 세트의 분석 및 계산을 수행하는 데 사용됩니다.
시뮬레이션
HPC는 자동차 충돌, 비행기 날개 또는 엔진 내부의 기류 또는 잠재적인 신약이 인간의 세포와 상호작용하는 방식과 같은 물리적 시나리오를 시뮬레이션하는 데 사용됩니다.
디자인
제조업체는 물리적 프로토타입을 제작하기 전에 HPC와 인공지능을 사용하여 비행기, 자동차와 같은 새로운 머신을 소프트웨어로 설계하는 경우가 많이 있습니다. HPC의 컴퓨팅 성능이 없으면 잠재적 모델을 설계하고 렌더링하는 데 훨씬 더 오랜 시간이 걸리고 제조 프로세스가 느려질 것입니다. 컴퓨터 칩 제조업체는 파운드리에서 프로토타입을 제작하기 전에 HPC를 사용하여 새로운 칩 디자인을 모델링합니다.
최적화
HPC는 금융 포트폴리오 또는 배송 및 물류를 위한 가장 효율적인 경로와 같은 크고 까다로운 데이터 세트를 최적화하는 데 도움이 될 수 있습니다.
예측
HPC는 대규모의 복잡한 데이터 세트를 사용하여 적시에 예측할 수 있습니다. 많은 항공우주 기업에서 기계의 유지보수가 필요한 시기를 예측하는 데 HPC를 사용합니다. 대부분의 날씨 예측은 고성능 컴퓨팅으로 수행되므로 기상학자들은 폭풍의 경로를 예측하거나 기후 변화를 모델링할 수 있습니다.
데이터 분석
HPC는 가장 큰 데이터 세트를 분석할 수 있습니다. 머신러닝 및 인공지능 애플리케이션과 함께 HPC를 사용하면 신용카드에 대한 추천을 하거나, 신용카드 사기 감지를 수행하는 데 도움이 될 수 있습니다. HPC는 게놈 및 시퀀싱 속도를 크게 향상시켰습니다.