이 문서에서는 고성능 컴퓨팅 (HPC) 워크로드를 위한 Google Cloud 스토리지 옵션을 소개하고 HPC 워크로드에 병렬 파일 시스템을 사용하는 경우에 대해 설명합니다. 병렬 파일 시스템에서는 여러 개의 클라이언트가 병렬 I/O 경로를 사용하여 여러 네트워크 연결 스토리지 노드에 저장된 공유 데이터에 액세스합니다.
이 문서의 정보는 데이터 집약적인 HPC 워크로드의 스토리지를 설계, 프로비저닝, 관리하는 설계자와 관리자를 대상으로 합니다. 이 문서에서는 사용자가 네트워크 파일 시스템(NFS), 병렬 파일 시스템POSIX, HPC 애플리케이션의 스토리지 요구사항을 개념적으로 이해하고 있다고 가정합니다.
HPC란 무엇인가요?
HPC 시스템은 여러 컴퓨팅 리소스를 집계하여 대규모 연산 문제를 빠르게 해결합니다. HPC는 의료, 생명과학, 미디어, 엔터테인먼트, 금융 서비스, 에너지와 같은 산업 전반에서 연구와 혁신을 주도합니다. 연구원, 과학자, 분석가는 HPC 시스템을 사용하여 실험을 수행하고 시뮬레이션을 실행하며 프로토타입을 평가합니다. 지진 처리, 유전체학 염기서열, 미디어 렌더링, 기후 모델링과 같은 HPC 워크로드는 데이터 속도를 높이고 지연 시간을 감소시켜 많은 양의 데이터를 생성하고 액세스합니다. 고성능 스토리지와 데이터 관리는 HPC 인프라의 중요한 구성 요소입니다.
Google Cloud의 HPC 워크로드 스토리지 옵션
온프레미스에서 HPC 인프라를 설정하고 운영하려면 많은 비용이 들며 인프라를 계속 유지보수해야 합니다. 또한 일반적으로 온프레미스 인프라는 수요 변화에 맞게 빠르게 확장될 수 없습니다. 온프레미스에서 하드웨어를 계획, 조달, 배포, 사용 중단하는 데 상당한 시간이 걸리므로 HPC 리소스 추가가 지연되며 용량이 활용되지 않습니다. 클라우드에서 최신 기술을 사용하는 HPC 인프라를 효율적으로 프로비저닝할 수 있으며 주문형으로 용량을 확장할 수 있습니다.
Google Cloud와 기술 파트너는 클라우드에 HPC 인프라를 배포하고 온프레미스 HPC 인프라를 보강할 수 있는 비용 효율적이고 유연하며 확장 가능한 스토리지 옵션을 제공하고 있습니다. 과학자, 연구원, 분석가들이 필요할 때 프로젝트의 추가 HPC 용량을 빠르게 이용할 수 있습니다.
Google Cloud에 HPC 워크로드를 배포하려면 워크로드 요구사항에 따라 다음 스토리지 서비스 및 제품 중에서 선택하면 됩니다.
워크로드 유형 | 권장 스토리지 서비스 및 제품 |
---|---|
지연 시간이 짧은 데이터 액세스가 필요하지만 공유 데이터 세트에 극대화된 I/O가 필요하지 않고 클라이언트 간 데이터 공유가 제한된 워크로드 | NFS 스토리지를 사용하세요. 다음 옵션 중에서 선택합니다. |
안정적인 프로세스 간 통신을 위해 메시지 전달 인터페이스(MPI)를 사용하는 긴밀하게 결합된 HPC 애플리케이션과 같이 복잡하고 상호 의존적인 대규모 I/O를 생성하는 워크로드 | 병렬 파일 시스템을 사용하세요. 다음 옵션 중에서 선택합니다.
|
병렬 파일 시스템을 사용하는 경우
병렬 파일 시스템에서는 여러 개의 클라이언트가 병렬 I/O 경로를 사용하여 여러 네트워크 연결 스토리지 노드에서 공유 데이터를 저장하고 액세스합니다. 병렬 파일 시스템은 SAS 애플리케이션을 사용하는 데이터 집약적인 인공지능 (AI) 워크로드 및 분석 워크로드 등 긴밀하게 결합된 HPC 워크로드에 적합합니다. 다음 요구사항이 적용되며 지연 시간에 민감한 HPC 워크로드에는 Lustre와 같은 병렬 파일 시스템을 사용하는 것이 좋습니다.
- 긴밀하게 결합된 데이터 처리: 기상 모델링 및 지진파 탐사와 같은 HPC 워크로드는 여러 서버에서 동시에 실행되는 여러 상호 의존적인 작업을 사용하여 데이터를 반복적으로 처리해야 합니다. 이러한 프로세스는 일반적으로 MPI를 사용하여 정기적으로 데이터를 교환하고 체크포인트를 사용하여 장애를 빠르게 복구합니다. 병렬 파일 시스템을 사용하면 상호 의존적인 클라이언트가 지연 시간이 짧은 네트워크를 통해 대량의 공유 데이터를 동시에 저장하고 액세스할 수 있습니다.
- POSIX I/O API 및 시맨틱스 지원: Lustre와 같은 병렬 파일 시스템은 POSIX API 및 시맨틱스가 모두 필요한 워크로드에 적합합니다. 파일 시스템의 API와 시맨틱스는 독립적인 기능입니다. 예를 들어 NFS는 애플리케이션이
open()
,read()
,write()
와 같은 함수를 사용하여 데이터를 읽고 쓰는 방법인 POSIX API를 지원합니다. 하지만 NFS가 서로 다른 클라이언트 간의 데이터 액세스를 조정하는 방식은 머신의 여러 스레드 간의 데이터 액세스를 조정하는 POSIX 시맨틱스와는 다릅니다. 예를 들어 NFS는 클라이언트 간의 POSIX read-after-write 캐시 일관성을 지원하지 않습니다. NFSv3의 약한 일관성과 NFSv4의 open-to-open 일관성을 사용합니다. - 페타바이트 용량: 병렬 파일 시스템은 단일 파일 시스템 네임스페이스에서 용량을 페타바이트 단위로 확장할 수 있습니다. NetApp Volumes 및 영역별 Filestore는 데이터 세트당 최대 100TiB를 지원합니다. Cloud Storage는 자동으로 확장되는 낮은 비용의 안정적인 용량을 제공하지만 HPC 워크로드의 데이터 공유 시맨틱스 및 짧은 지연 시간 요구사항을 충족하지 못할 수 있습니다.
- 짧은 지연 시간 및 높은 대역폭: 매우 큰 파일 또는 수백만 개의 작은 파일에 대한 빠른 속도의 액세스가 필요한 HPC 워크로드의 경우 병렬 파일 시스템이 NFS 및 객체 스토리지보다 우수할 수 있습니다. 병렬 파일 시스템은 객체 스토리지보다 훨씬 짧은 지연 시간(0.5~10밀리초)을 제공하므로 최대 IOPS에 영향을 줄 수 있습니다. 또한 병렬 파일 시스템에서 지원하는 최대 대역폭이 NFS 기반 시스템보다 몇 자릿수 더 높을 수 있습니다. 예를 들어 Google Cloud 기반의 DDN EXAScaler는 IO500 벤치마크를 사용해 10Tbps 이상의 읽기 대역폭, 700GBps 이상의 쓰기 대역폭, 초당 190만 개의 파일
stat()
호출을 입증했습니다. - 극대화된 클라이언트 확장: NFS 스토리지는 수천 개의 클라이언트를 지원할 수 있지만 병렬 파일 시스템은 10,000개 이상의 클라이언트에서 공유 데이터에 대한 동시 액세스를 지원하도록 확장할 수 있습니다.
긴밀하게 결합된 HPC 애플리케이션의 예시
이 섹션에서는 병렬 파일 시스템에서 제공하는 지연 시간이 짧고 처리량이 높은 스토리지가 필요한 긴밀하게 결합된 HPC 애플리케이션의 예시를 설명합니다.
AI 기반 분자 모델링
제약 연구는 비용이 많이 들고 데이터를 많이 사용하는 프로세스입니다. 현대 약품 연구 조직은 AI를 사용하여 연구 개발 비용을 줄이고 운영을 효율적으로 확장하고 과학 연구를 가속화합니다. 예를 들어 연구원은 AI 지원 애플리케이션을 사용하여 약품 내 분자 간의 상호작용을 시뮬레이션하고 약품 내 화합물의 변화에 따른 영향을 예측합니다. 이러한 애플리케이션은 다량의 데이터를 로드, 구성, 분석하여 동시에 빠르게 완료하는 강력한 병렬 처리 GPU 프로세서에서 실행됩니다. 병렬 파일 시스템은 AI 애플리케이션 성능을 극대화하는 데 필요한 스토리지 IOPS 및 처리량을 제공합니다.
SAS 애플리케이션을 사용하는 신용 위험 분석
주택담보대출 기관 및 투자 은행과 같은 금융 서비스 기관에서는 고객과 투자 포트폴리오의 신용도를 지속적으로 분석하고 모니터링해야 합니다. 예를 들어 대형 주택담보대출 기관에서는 매일 잠재고객 수천 명의 위험 관련 데이터를 수집합니다. 신용 분석팀에서 분석 애플리케이션을 사용하여 각 고객의 데이터에서 소득, 신용 기록, 지출 패턴과 같은 다양한 요소를 공동으로 검토합니다. 분석에서 얻은 정보는 신용 분석가들이 정확하고 시기적절한 대출 추천을 제공하는 데 도움이 됩니다.
금융 서비스 기관에서는 대규모 데이터 세트의 분석을 가속화하고 확장하기 위해 SAS Grid Manager와 같은 그리드 컴퓨팅 플랫폼을 사용합니다. Google Cloud 기반의 DDN EXAScaler와 같은 병렬 파일 시스템은 멀티스레드 SAS 애플리케이션의 높은 처리량 및 지연 시간이 짧은 스토리지 요구사항을 지원합니다.
일기 예보
특정 지역의 날씨 패턴을 예측하기 위해 기상학자는 지역을 여러 셀로 나누고 지상 레이더 및 기상 관측 기구 등의 모니터링 기기를 모든 셀에 배포합니다. 이러한 기기는 대기 조건을 정기적으로 관찰하고 측정하며 HPC 클러스터에서 실행되는 일기 예보 애플리케이션에 데이터를 지속적으로 스트리밍합니다.
일기 예보 애플리케이션에서는 측정된 날씨 매개변수 간에 알려진 물리적 관계를 기반으로 하는 수학적 모델을 사용해 스트리밍된 데이터를 처리합니다. 개별 작업으로 해당 지역의 각 셀 데이터를 처리합니다. 애플리케이션이 새 측정값을 수신하면 모든 작업이 할당된 셀의 최신 데이터를 사용해 반복하고 해당 지역의 다른 셀 작업과 출력을 교환합니다. 날씨 패턴을 안정적으로 예측하기 위해서는 동시에 실행되는 수천 개의 작업이 생성하고 액세스하는 테라바이트 단위의 데이터를 애플리케이션에서 저장하고 공유해야 합니다.
항공기 설계용 CFD
전산유체역학(CFD)에서는 수학적 모델, 물리적 법칙, 전산 논리를 사용하여 움직이는 객체 주위의 가스 또는 액체에서 발생하는 동작을 시뮬레이션합니다. 항공기 엔지니어가 항공기 기체를 설계할 때는 기체 역학을 고려해야 합니다. CFD는 설계자들이 많은 비용이 드는 프로토타입을 빌드하는 데 시간과 비용을 투자하기 전에 설계 변경사항이 기체 역학에 미치는 영향을 빠르게 시뮬레이션할 수 있도록 지원합니다. 설계자는 각 시뮬레이션 실행 결과를 분석한 후 항공기 기체의 개별 구성요소의 부피 및 형태와 같은 속성을 최적화하고 기체 역학을 다시 시뮬레이션합니다. CFD를 사용하면 항공기 설계자가 수백 개의 설계 변경사항이 미치는 영향을 신속하게 시뮬레이션할 수 있습니다.
설계 시뮬레이션을 효율적으로 완료하려면 CFD 애플리케이션에서 공유 데이터에 밀리초 미만으로 액세스하고 최대 100GBps의 속도로 대량의 데이터를 저장할 수 있어야 합니다.
Lustre 및 EXAScaler Cloud 개요
Lustre는 긴밀하게 결합된 HPC 워크로드에 처리량이 높고 지연 시간이 짧은 스토리지를 제공하는 오픈소스 병렬 파일 시스템입니다. Linux의 표준 POSIX 마운트 지점 외에도 Lustre에서는 NetCDF, HDF5, MPI-IO와 같은 데이터 및 I/O 라이브러리를 지원하므로 다양한 애플리케이션 도메인에 병렬 I/O를 사용 설정할 수 있습니다. Lustre는 전역에서 대부분의 최대 HPC 배포를 지원합니다. Lustre 파일 시스템에는 다음 구성요소가 포함된 확장 가능한 아키텍처가 있습니다.
- 관리 서버(MGS)는 하나 이상의 Lustre 파일 시스템에 대한 구성 정보를 저장 및 관리하고 이 정보를 다른 구성요소에 제공합니다.
- 메타데이터 서버(MDS)는 메타데이터(예: 디렉터리 계층 구조, 파일 이름, 액세스 권한)를 사용하여 Lustre 파일 시스템의 네임스페이스에 대한 클라이언트 액세스를 관리합니다.
- 객체 스토리지 서버(OSS)는 Lustre 파일 시스템에 저장된 파일에 대한 클라이언트 액세스를 관리합니다.
- Lustre 클라이언트 소프트웨어를 사용하면 클라이언트에서 Lustre 파일 시스템을 마운트할 수 있습니다.
MDS 및 OSS 인스턴스 여러 개가 파일 시스템에 있을 수 있습니다. 필요한 경우 새 MDS 및 OSS 인스턴스를 추가할 수 있습니다. Lustre 파일 시스템과 작동 방식에 대한 자세한 내용은 Lustre 문서를 참조하세요.
EXAScaler Cloud는 Google 파트너인 DDN에서 제공하는 Lustre의 엔터프라이즈 버전입니다. EXAScaler Cloud는 고성능 데이터 처리와 AI, HPC, 분석 워크로드를 지원하는 데 필요한 대량의 데이터를 관리할 수 있는 공유 파일 솔루션입니다. EXAScaler Cloud는 Google Cloud의 딥 러닝 및 추론 AI 워크로드에 적합합니다. 하이브리드 클라우드 아키텍처에 배포하여 온프레미스 HPC 용량을 늘릴 수 있습니다. EXAScaler Cloud는 온프레미스 EXAScaler 배포에서 장기 애셋을 저장할 수 있는 저장소 역할도 할 수 있습니다.
Sycomp Storage Fueled by IBM Storage Scale 개요
Google Cloud Marketplace에서 Sycomp Storage Fueled by IBM Storage Scale을 사용하면 고성능 컴퓨팅 (HPC), 인공지능 (AI), 머신러닝(ML), 빅데이터 워크로드를 Google Cloud에서 실행할 수 있습니다. Sycomp Storage를 통해 수천 개의 VM에서 동시에 데이터에 액세스하고, 스토리지 등급을 자동으로 관리하여 비용을 줄이고, 온프레미스 또는 Google Cloud에서 애플리케이션을 실행할 수 있습니다. Sycomp Storage Fueled by IBM Storage Scale은 Cloud Marketplace에서 제공되며, 신속하게 배포할 수 있고, NFS 및 IBM Storage Scale 클라이언트를 통해 데이터에 액세스할 수 있도록 지원합니다.
IBM Storage Scale은 대용량 데이터 (PB)를 안전하게 관리하는 데 도움이 되는 병렬 파일 시스템입니다. Sycomp Storage Scale은 HPC, AI, ML, 빅데이터, POSIX 호환 공유 파일 시스템이 필요한 기타 애플리케이션에 적합한 병렬 파일 시스템입니다. 적응형 스토리지 용량 및 성능 확장을 통해 Sycomp Storage는 소규모에서 대규모 HPC, AI, ML 워크로드까지 지원할 수 있습니다.
Google Cloud에 클러스터를 배포한 후 이를 사용할 방법을 결정합니다. 기존 온프레미스 IBM Storage Scale 클러스터, 서드 파티 NFS NAS 솔루션 또는 기타 객체 기반 스토리지 솔루션에 연결하여 클러스터를 클라우드에서만 또는 하이브리드 모드로 사용할지 여부를 선택합니다.
다음 단계
- DDN EXAScaler Cloud 및 DDN과 Google의 파트너십에 대해 자세히 알아보세요.
- IO500 HPC 스토리지 시스템 순위에서 10개 이상의 Tbps, Lustre 기반 스크래치 파일 시스템을 보여주는 Google Cloud 제출에 대해 읽어보세요.
- Lustre에 대해 자세히 알아보세요.
- Sycomp Storage Fueled by IBM Spectrum Scale 자세히 알아보기
참여자
저자: Kumar Dhanagopal | 크로스 프로덕트 솔루션 개발자
기타 참여자:
- 바락 앱스타인 | 제품 관리자
- 카를로 보네티 | 선임 소프트웨어 엔지니어
- 딘 힐데브랜드 | CTO실 기술 이사
- 션 데링턴 | 스토리지 부문 그룹 아웃바운드 제품 관리자
- 와이트 고만 | HPC 솔루션 관리자