AWS 기술 블로그

AWS가 제공하는 고성능 컴퓨터 서비스(HPC on AWS)를 사용해야 하는 이유

고성능 컴퓨팅 환경(HPC: High Performance Computing)은 CAE(Computer Aided Engineering)라 불리우는 전통적인 엔지니어링 시뮬레이션을 수행하기 위해, 엔터프라이즈 기업에서는 필수적인 R&D 인프라입니다. 최근에는 생성형 AI의 확산에 따라, 엔지니어링 시뮬레이션 이외에도 많은 기업들이 자사의 머신 러닝용 분산 트레이닝을 위해 HPC 클러스터를 구축하고 있습니다. 이번 블로그에서는 AWS 클라우드 기반의 HPC 클러스터에 대한 개념 및 장점에 대해 자세히 소개하도록 하겠습니다.

전통적인 온프레미스 기반의 HPC 시스템의 한계점

다수의 엔터프라이즈 고객들은 자사의 R&D 활동을 위하여, 데이터센터 또는 전산실에 HPC 클러스터를 구축하여 사용하고 있습니다. 물론 일부 기업에서는 여전히 개별 워크스테이션만을 이용하여 이러한 작업을 수행하고 있습니다만, 이번 블로그에서는 HPC 클러스터 관점에서 설명하도록 하겠습니다. 이러한 온프레미스 기반의 HPC 환경은 필연적으로 여러가지 제약 사항을 내포하고 있습니다.

  • 고비용: 기본적으로 HPC는 고사양의 인프라 환경을 요구하기 때문에, 적게는 수 억원에서 많게는 수 십/수 백 억원의 초기 투자 비용은 필수입니다. 또한 최고의 성능을 지속적으로 유지하기 위해 주기적으로 물리적 장비의 교체가 필요하며, 장비 도입시 수행하는 사이징 작업도 보수적으로 진행하기 때문에 오버사이징(oversizing)의 문제가 발생하기도 합니다.
  • 높은 인프라 획득 시간: HPC 인프라 도입이 결정되었다고 하더라도, 실제 전산실 또는 데이터센터에 물리적 장비가 도입되어 클러스터를 구축하기 까지는 보통 수개월의 시간이 필요합니다. 또한 공유 자원인 HPC 클러스터를 기업내 해석을 담당하는 여러 팀 또는 연구원들이 공동으로 사용하기 때문에, 개별 연구원들이 생성한 잡(job)이 바로 처리되지 않습니다. 보통은 잡(job)에서 정의한 리소스를 할당 받기 위해 상당 시간을 스케쥴러의 큐에 대기하게 됩니다. 대부분의 HPC 관련 설문 조사들에 따르면, 이 부분이 연구원들의 불만이 가장 많은 영역이기도 합니다.
  • 용량 확장성의 제한: 온프레미스에 구축된 HPC 클러스터 환경은 초기 투자 비용 때문에 용량 자체가 한정적일 수 밖에 없으며, 구축 후 확장 자체도 장비에 대한 감가상각이 끝나지 않았다면 현실적으로 매우 어렵습니다. 따라서 이러한 특성 때문에, 제한된 클러스터를 가지고 사용자들의 창의적인 다양한 연구 활동 진행이 매우 어렵습니다.
  • 복잡한 스케쥴링: 제한된 리소스를 여러 사용자들이 공유해서 사용해야 하기 때문에 복잡한 스케쥴링 기법이 요구되며, 때에 따라 HPC 클러스터 성능에 영향을 줄 수 있습니다.
  • One size fits all: 일반적으로 온프레미스 환경의 HPC 시스템은, 예를 들어, 32core 128GB 메모리와 같은, 단일 컴퓨팅 환경으로 구축되는 경우가 많기 때문에, 사내에서 사용하는 다양한 ISV 애플리케이션에 최적화된 아키텍처 구성이 어렵습니다.
  • 유연한 재택 근무 불가: 연구 활동을 위해 개별 연구원들이 개인 PC, 개인 및 공용 워크스테이션 등 다양한 장비들을 사용하기 때문에, 현실적으로 유연한 재택 근무가 매우 어렵습니다. COVID-19 이후 재택 근무가 보편화 됨에 따라, 재택 근무 여부는 이직의 중요한 요소로 자리 잡았습니다.

따라서 이러한 여러 문제점들을 극복하기 위해, 최근에는 많은 엔터프라이즈 기업들이 클라우드 기반의 HPC 환경을 도입하거나 검토하는 경우가 늘어나고 있습니다.

AWS 클라우드 기반의 HPC 시스템, HPC on AWS

AWS에서는 이미 약 10여년 전부터 HPC 솔루션을 시장에 제공하고 있으며, AWS의 네이티브 서비스들로 구축된 HPC 시스템을 ‘HPC on AWS’ 라고 부릅니다. ‘HPC on AWS’에 대한 구체적인 정보가 궁금하다면, 그림1과 같이 관련 검색을 해보실 것을 추천 드립니다.

<그림 1. HPC on AWS 검색>

검색 결과를 통해 여러분들이 주목해야 할 점은, 그림2와 같이 바로 ‘HPC on AWS’는 단일 서비스가 아니라, AWS의 여러 네이티브 서비스들을 조합해서 구성해야 한다는 점입니다. 그림2의 빨간 박스에 속하는 서비스들이 HPC 클러스터를 구성하는데 사용되는 주요 서비스들이라고 할 수 있습니다. 따라서 AWS 환경에서 HPC 클러스터는 콘솔에서 별도로 존재하는 서비스가 아니며, 콘솔에서 몇 번의 클릭만으로 만들 수 있는 것이 아니라는 점을 이해하는 것이 중요합니다. HPC 클러스터를 구성하는 방법에 대해서는 다른 블로그를 통해 설명하도록 하겠습니다.

<그림 2. HPC on AWS 공식 웹페이지>

온프레미스 기반 HPC vs AWS 클라우드 기반 HPC

본격적으로 ‘HPC on AWS’에 대한 설명에 앞서, 온프레미스 기반의 HPC와 AWS 클라우드 기반의 HPC의 차이점에 대해 알아보도록 하겠습니다. 그림3에서 볼 수 있는 것처럼, 온프레미스 환경의 HPC 클러스터는 물리적 장비들로 구현되며, 보통은 기업내 IT전담 부서에서 HPC 리소스를 관리하게 됩니다. 이렇게 준비된 HPC 클러스터에, 다수의 해석 팀/연구원들이 1) 웹 포털 또는 2) 터미널을 사용할 경우 리눅스 명령어를 통해 클러스터에 접근하게 됩니다. 이러한 클러스터는 기업내 공유 자원으로써 사용됩니다.

클라우드 환경에서는 이와는 사뭇 다른 환경이 제공됩니다. 일단 클라우드 환경내 구성되는 HPC 클러스터는 그림3의 오른쪽에서 볼 수 있는 것처럼 모든 리소스는 코드 형태로 정의되며, 기본적으로 리소스가 정의 되기 전까지는 클러스터 자체가 존재하지 않습니다. 클러스터는 요청에 따라 MSP(Managed Service Provider) 또는 기업내 IT 전담부서에서 생성하는 것도 가능하지만, 때에 따라서는 연구원들이 직접 셀프 서비스 형태로 클러스터를 생성하는 것도 가능합니다. HPC 클러스터는 온프레미스 환경과는 달리, 개별 워크로드 또는 부서 등에 따라 별도 구성이 가능합니다. 또한 클라우드 환경에서 구성되는 HPC 클러스터는 손쉽게 생성, 변경, 삭제가 가능하다는 것도, 온프레미스 기반의 클러스터와의 가장 큰 차이점 중에 하나입니다.

<그림 3. 인프라 관점에서 온프레미스 기반의 HPC 와 AWS 클라우드 기반의 HPC와의 비교>

Why HPC on AWS?

지금까지 온프레미스 환경에 구축된 HPC 클러스터의 여러 제약 사항 및 클라우드 기반의 HPC 클러스터의 차이점에 대해 알아보았습니다. 그렇다면 HPC 환경을 클라우드로 마이그레이션 할 경우, 고객들은 기존 온프레미스 환경에 구축된 HPC 시스템의 제약 사항들을 어떻게 극복할 수 있을까요? 여러 장점들이 존재합니다만, 이번 블로그에서는 다음과 같이 크게 8가지로 구분해 보았습니다.

  • 상대적으로 무한한 리소스 용량: AWS와 같은 클라우드 기업들은 자사의 데이터센터에 다수의 불특정 사용자들이 접속하여 리소스를 프로비저닝 할 것에 대비하여 엄청나게 많은 컴퓨팅 자원들을 사전에 확보해 두고 있습니다. 따라서 클라우드 환경에서는 온프레미스 환경 대비 상대적으로 많은 컴퓨팅 리소스를 확보할 수 있기 때문에, 스케쥴러 큐에서의 잡(job) 대기 시간이 획기적으로 감소됩니다.
  • 민첩성: 온프레미스 환경에서 클러스터 구축에 수개월의 기간이 소요되는 것과 다르게, AWS 클라우드 환경에서는 15 분만에 HPC 클러스터 구성이 가능하며 언제든지 접근 가능합니다.
  • 사용량 기반의 과금: 인프라 구축에 대한 초기 투자 비용이 불필요하며, HPC 클러스터를 구성하는 서비스의 사용량에 기반하여 과금이 부과됩니다. 따라서 스타트업/중소/중견 기업에서도 초기 투자 비용 없이 사용량 기반으로, 대기업에 못지않은 최고 수준의 컴퓨팅, 스토리지, 네트워크 구성을 통해 자사의 R&D 역량을 획기적으로 개선시킬 수 있습니다.
  • 코드 기반의 인프라 구성: 앞서 언급한 것과 같이 모든 인프라는 코드 기반으로 구성할 수 있으므로, 언제든지 최신의 인프라를 적용하여 워크로드에 최적화된 HPC 클러스터 구성이 가능합니다.
  • 완전 관리형 병렬 파일시스템: AWS에서는 지구상에서 성능이 가장 좋은 병렬 파일시스템 중에 하나인 Lustre 파일시스템을 완전관리형 서비스로 제공하고 있습니다. 따라서 병렬 파일 스토리지에 대한 역량이 다소 부족하더라도 손쉽게 병렬 파일시스템을 구축하는 것이 가능합니다.
  • 스마트 워크의 구현: 해석 작업은 클라우드에서 수행되기 때문에, 인터넷만 연결된다면, 원격에서 PC를 포함한 다양한 디바이스를 이용하여 CAE뿐만 아니라 CAD 작업 수행도 가능합니다.
  • 탄력성: 클러스터를 구성하는 리소스들은 언제든지 변경/삭제가 용이하며, 워크로드에 따라서 탄력적으로 클러스터 규모를 확장하거나, 축소하는 것이 가능합니다.
  • 시뮬레이션 리스크 감소: 실제 물리적인 인프라를 구축하는 것이 아니라 코드 기반으로 인프라를 생성하기 때문에, 실패에 대한 부담 없이 다양한 연구 활동이 가능해 집니다. 실패할 경우는 인프라에 대한 변경 및 삭제가 가능합니다. 

HPC on AWS 이용한 엔지니어링 시뮬레이션의 혁신

지금부터는 AWS 클라우드로 HPC 클러스터를 전환하여, 어떻게 엔지니어링 시뮬레이션을 가속화 시킬 수 있는지에 대해 보다 구체적으로 알아보도록 하겠습니다. 우선 AWS 클라우드에서는 그림4와 같이 1) 코드 기반으로 항상 최신의 컴퓨팅 기술을 HPC 클러스터에 적용할 수 있을 뿐만 아니라 2) 온프레미스 환경 대비 상대적으로 많은 컴퓨팅 리소스를 이용하여 병렬 처리를 수행함으로써, 기존의 온프레미스 환경 대비 매우 빠른 해석 결과를 확보할 수 있습니다.

<그림 4. AWS 클라우드에서 시뮬레이션을 가속화 시킬 수 있는 이유>

앞서 ‘one size fits all’ 이라는 개념에 대해 소개하였는데, 그림5의 왼쪽과 같이 온프레미스 환경에서는 단일 서버 스펙으로 구성된 HPC 클러스터에서 다양한 워크로드를 수용하는 것이 일반적입니다. 그러나 클라우드 환경에서는 워크로드별로 최적화된 아키텍처 구성이 가능합니다. 예를 들어, 상대적으로 컴퓨팅 파워를 많이 요구하는 CFD 해석의 경우, Hpc7a나 Hpc7g와 같은 인스턴스를 이용하여 클러스터 구성이 가능합니다. 상대적으로 메모리 용량이 많이 필요한 구조 해석의 경우에는 Hpc6id나 r7iz와 같은 인스턴스를 사용하여 클러스터를 구성할 수 있습니다. 만약 분산 트레이닝을 위해 HPC 클러스터 구축이 필요하다면, GPU가 탑재된 인스턴스를 선택하면 됩니다. 모든 인프라가 코드 형태로 정의되기 때문에, 만약 PoC를 통해 정의된 현재의 인프라가 최적이 아니라고 판단되면, 언제든지 다른 인스턴스로 변경이 가능합니다.

<그림 5. 클라우드 환경에서의 워크로드별 최적화된 클러스터 구성>

다음으로는 ISV 라이선스 관점에서 클라우드의 효용성에 대해 알아보도록 하겠습니다. 일반적으로 많은 엔터프라이즈 고객들은 코어 기반의 ISV 라이선스를 사용하고 있습니다. 이 경우 그림6과 같이, 장비 교체가 이루어지기 까지는 항상 동일 장비로 클러스터를 구성해야 합니다. 그러나 클라우드 환경에서는 매년 최신의 인스턴스가 런치(launch)될 때 마다 클러스터에 반영이 가능하기 때문에, 동일 ISV 라이선스 대비 더 높은 성능을 제공할 수 있는 장점이 존재합니다.

<그림 6. 최신 프로세서 사용을 통한 상대적 라이선스 비용 감소>

 다음으로는 해석 시간 관점에서 클라우드의 효용성에 대해 알아보도록 하겠습니다. 그림7과 같이 온프레미스 환경에서 320개의 코어를 가지고 26일이 걸리는 엔지니어링 시뮬레이션이 있다고 가정해 보겠습니다. 이러한 HPC 환경을 AWS 클라우드로 이전하여 1만개의 코어를 사용할 수 있다면, 시뮬레이션 시간은 기존의 26일에서 20시간으로 획기적으로 단축될 수 있습니다. 만약 극단적으로 4만개의 코어를 확보할 수 있다면 시뮬레이션 시간은 더욱 줄어, 불과 5시간만에 해석이 완료됩니다. 3가지 경우 모두, 시뮬레이션에 투입된 코어의 수는 모두 동일합니다. 동일한 스펙의 서버를 사용하여 비용 또한 동일하다고 가정할 경우, 동시에 최대한의 코어를 투입하여 해석을 빨리 끝내는 것이 유리합니다. 클라우드에서는 온프레미스 대비 상대적으로 많은 리소스 확보가 가능하기 때문에, 해석 시간 관점에서도 클라우드를 사용하는 것이 온프레미스 환경에 비해 압도적으로 유리하다는 사실을 확인할 수 있습니다.

<그림 7. 클라우드 HPC 사용을 통한 해석 시간의 획기적 단축> 

맺음말

이 블로그에서는 AWS의 네이티브 서비스들로 구성된 HPC 서비스인 ‘HPC on AWS’의 개념 및 장점들에 대해 다양한 관점에서 설명하였습니다. 엔터프라이즈 기업 조직내에서 ‘HPC on AWS’를 도입할 경우, 초기 투자 비용 없이 스타트업(startup)부터 글로벌 기업에 이르기까지 최고 사양의 HPC 클러스터를 구성할 수 있다는 점에서, 기술 민주화를 구현할 수 있게 됩니다. 바로 이러한 점이 ‘HPC on AWS’ 도입의 가장 큰 장점이라고 볼 수 있습니다. 여전히 클라우드 HPC의 효용성에 대해 의구심이 드시거나, 또는 마이그레이션에 대한 의지가 생기신다면 담당 AWS 어카운트 팀에 또는 저에게 연락을 주시면 보다 자세히 설명을 드리도록 하겠습니다.

다음 블로그에서는 실제로 ‘HPC on AWS’는 어떠한 서비스들로 구성되며, 어떻게 AWS 클라우드 환경에서 HPC 클러스터를 구성할 수 있는지 알아보도록 하겠습니다.

Sangman Cho

Sangman Cho

조상만 Solutions Architect는 AWS 입사 이후, 엔터프라이즈 제조 고객의 AWS 클라우드 기반 디지털 전환을 기술적으로 도와드리는 업무를 수행하고 있습니다.