AWS 기술 블로그
HPC(eVDI) 전문 MSP를 이용한 AWS 클라우드 기반의 R&D 환경 구성
많은 엔터프라이즈 기업들이 R&D 활동에 필수적인 CAE(Computer Aided Engineering) 및 CAD(Computer Aided Design) 워크로드 작업을 위하여, 데이터센터 또는 전산실에 HPC(High Performance Computing) 및 eVDI(engineering VDI) 환경을 구축하여 사용하고 있습니다. 그러나 이렇게 온프레미스(on-premise) 환경에 구축되는 인프라 환경들은 비용, 성능, 운영 편의성 등의 측면에서 많은 제약사항을 가지고 있습니다.
이에 따라 최근에는 사용량 기반의 합리적인 과금 및 탄력적인 인프라 리소스를 제공하여 성능을 획기적으로 증가시킬 수 있는 클라우드 기반의 HPC 및 eVDI 환경을 구축한 기업들이 점차적으로 증가하고 있습니다. 그러나 이러한 클라우드 기반의 엔지니어링 환경에 대한 기업내 구축 전문 인력의 부족으로 인해, 도입 자체에 어려움을 겪는 기업들이 여전히 존재합니다.
이번 게시글에서는 AWS 클라우드 환경에서 HPC 및 eVDI 환경 구축 및 운영에 전문성을 보유한 대표적인 MSP(Managed Service Provider)인 ISBC에서 제공하는 R&D 클라우드 오퍼링에 대해 소개하고, AWS 클라우드에 익숙하지 않은 다수의 엔터프라이즈 고객들이 어떻게 HPC 및 eVDI 환경을 클라우드로 마이그레이션 할 수 있는지 알아봅니다.
AWS 클라우드 기반의 고성능 컴퓨팅 환경(HPC: High Performance Computing)
본격적인 소개에 앞서 이해를 돕기 위해, AWS 클라우드 기반의 HPC에 대해 알아보겠습니다.
인프라 관점에서의 온프레미스 HPC와 AWS 클라우드 HPC와의 차이점
전통적인 온프레미스 환경에서는 그림1과 같이 서버, 스토리지, 네트워크와 같은 물리적인 장비를 사내 데이터센터 또는 전산실에 구성하고, 각 제품의 협력 업체와 함께 하드웨어 구성을 완료한 후, 그 위에 HPC 클러스터를 구성하게 됩니다. 이와는 달리 AWS 클라우드 환경에서는 모든 인프라가 코드 기반으로 생성되며 인프라에 대한 다양한 옵션을 고객의 워크로드에 맞게 직접 구성할 수 있습니다.
<그림 1. 온프레미스 및 AWS 클라우드 기반의 HPC 환경 비교>
엔지니어링 시뮬레이션(CAE)를 위해 기존의 온프레미스 환경을 사용한다고 가정해 보겠습니다. 이 경우에는 이미 전산실 또는 데이터센터에 마련된 HPC 클러스터를 기업내 다양한 연구팀과 인력이 공유해서 사용하게 됩니다. 반면, 기본적으로 클라우드 환경에서는 고객이 직접 필요한 HPC 클러스터 환경을 구축하여 사용할 수 있습니다. 즉, AWS 클라우드 환경에서는 연구원 또는 인프라 담당자가 워크로드에 최적화된 클러스터를 직접 구성하여 사용합니다. AWS에서는 다양한 워크로드를 지원하기 위한 다양한 인프라 옵션이 존재합니다. 예를 들어, 서버에 대해서만 한정해서 생각해 보더라도, AWS에서는 코어 수, 메모리 용량, 네트워크 속도 등 다양한 워크로드에 적합한 약 750종의 EC2 인스턴스(가상 서버)가 존재하고, 스토리지와 네트워크 인터페이스 옵션 역시 다양합니다. 이러한 AWS 클라우드가 제공하는 다양한 인프라 옵션이 있지만, 만약 AWS 클라우드 서비스에 익숙하지 않은 고객이라면 어디서부터 시작해야 할지 어려움을 겪을 수 있습니다. 바로 이러한 영역에서 전문 MSP는 기술 지원 서비스를 통해 고객을 지원합니다.
AWS 클라우드 기반의 HPC 스택 소개
AWS 클라우드 서비스로 구성된 HPC 솔루션을 ‘HPC on AWS’ 라고 정의합니다. 이러한 ‘HPC on AWS’ 기술 스택은 그림2와 같은 3개의 레이어로 구성이 되며, ISBC에서는 각 레이어에 존재하는 서비스들을 조합하여, 고객사에서 사용하는 소프트웨어를 최적의 환경으로 수행할 수 있도록 통합 패키지 형태의 서비스를 제공합니다. 따라서 연구원 또는 기업의 HPC 인프라 담당자들이 ISBC의 서비스를 이용하여, ‘HPC on AWS’ 에 대한 별다른 이해 및 고민 없이도 손쉽게 HPC 클러스터를 구축하여 해석 시뮬레이션을 수행하실 수 있습니다. 즉, 기업 입장에서는 변경되는 인프라 환경은 전문 기업에게 일임하고, CAE/CAD 성능 향상에만 집중할 수 있습니다. 개별 레이어에 대한 자세한 내용은 다음의 블로그를 참고하시기 바랍니다.
<그림 2. HPC on AWS의 기술 스택>
ISBC 소개
ISBC는 2011년에 설립되어 10년이상 eVDI와 HPC 부문의 컨설팅 서비스를 진행해 오고 있습니다. 수 백명 이상의 사용자를 수용할 수 있는 eVDI와 HPC 환경을 구축 및 운영해 온 경험을 바탕으로 고객에게 최적의 서비스를 제공하고 있는 AWS의 R&D 엔지니어링 클라우드 부분의 공인 파트너 중 하나입니다.
R&D 엔지니어링 플랫폼 전문 MSP인 ISBC는 SaaS 기반의 서비스가 아닌 매니지드(managed) 형태의 서비스로써, 고객과의 협의를 통해 고객의 업무 환경에 최적화된 커스터마이징된 서비스를 제공하고 있습니다. 또한, 다양한 상용 SW와 함께 추가적으로 고객사에서 개발한 인하우스(in-house) 코드도 수행할 수 있도록 통합 환경을 제공합니다.
전문 MSP가 제공하는 AWS 클라우드 기반의 엔지니어링 플랫폼 서비스 소개
ISBC가 제공하는 HPC 및 eVDI 관련 서비스 오퍼링은 아래와 같습니다. 특히 그림2에서도 소개된 AWS가 제공하는 일종의 웹포털 서비스인 NICE 엔진프레임(Enginframe) 및 원격 스트리밍 프로토콜인 NICE DCV 라는 제품을 10년 이상 국내에 소개 및 지원함으로써, 관련 분야에서 독보적인 기술력을 확보하고 있습니다. LG 전자와 UAM 분야 스타트업인 Plana가 ISBC의 오퍼링을 이용하여 자사의 R&D 혁신을 진행한 대표적인 사례입니다.
ISBC에서 제공 가능한 HPC/eVDI 기본 오퍼링
HPC Service
- 유체 해석(CFD), 구조 해석(FEA), 전자기 시뮬레이션(EM), 반도체 설계(EDA) 등 다양한 분야의 해석 소프트웨어를 활용하기 위한 환경을 제공하며, 원활한 연구 환경을 지원하기 위해 다양한 분야의 ISV 파트너들과 함께 비즈니스 협업 중에 있습니다.
- GPGPU를 사용해야 하는 AI/ML의 Python 환경에, GPU 자원을 좀 더 효율적으로 배치하여 사용할 수 있도록 하는 스케줄링 서비스를 제공하고 있습니다.
- 상용 스케쥴러(Scheduler)를 사용하고 있는 경우, AWS에서 기본 스케줄러로 제공하는 Slurm 환경으로의 마이그레이션 지원 서비스를 제공하고 있으며, HPC 자원 및 상용 SW 등의 통합 연계 지원 서비스도 제공 합니다.
- 고객사에서 인하우스로 개발한 소프트웨어 스택도 AWS 환경에서 사용할 수 있는 서비스를 제공합니다.
- Pre/post 프로세싱 작업 환경이 필요한 CAE 소프트웨어들이 AWS HPC 환경에서 잘 수행 될 수 있도록 지원하고 있으며, 시각화 작업을 위해 온프레미스 환경에서 클라우드로 데이터를 업로드 및 다운로드가 필요없는 환경을 제공하고 있습니다.
eVDI Service
- CAD, Design, 영상 작업 등 GPU 가속이 필요한 애플리케이션을 클라우드에서 사용할 수 있는 서비스를 제공하고 있습니다.
- 클라우드에 워크스테이션 노드 자원을 풀(pool) 형태로 운영하면서 자원을 필요로 하는 사용자에게 가용한 노드를 랜덤 할당함으로써 높은 자원 활용율을 보장합니다.
- NICE 엔진프레임에서 기본 제공하는 기능으로, 사용자가 작업 도중 도움을 받고 싶을 때에 자신의 화면을 다른 사용자에게 공유함으로써 공동작업 및 작업 효율성을 높여 드립니다.
AWS 클라우드 기반의 HPC 환경을 고려하기 위한 FAQ
HPC 및 eVDI 환경에 대한 클라우드 마이그레이션을 어떻게 시작하면 좋을까요?
- 중소기업의 경우에는 일반적으로 엔니지어링 시뮬레이션 환경이 워크스테이션 또는 PC에서 수행하기 때문에, ‘HPC on AWS’ 효용성이 PoC를 통해 확인된다면 AWS 클라우드 기반으로 모든 엔지니어링 시뮬레이션 환경을 마이그레이션할 것을 권장드립니다. 이 경우, 보유 라이선스를 클라우드 환경에서도 사용할 수 있도록 클라우드 혹은 네트워크 형태로 변경이 필요합니다.
- 대기업의 경우, 이미 고객사에 대규모 HPC 환경이 구성되어 있는 경우가 많기 때문에 기본적으로 하이브리드 환경을 추천드립니다. 즉, 우선적으로 버스팅(bursting) 용도로 클라우드 환경 사용을 권장드립니다. 이후 클라우드의 이점에 대해 충분히 경험하였다면, 장비 교체 시점이 도래할 경우 기존처럼 장비를 추가 구매할지 아니면 클라우드로 점진적으로 마이그레이션 할지 의사 결정하면 됩니다. 하이브리드 환경은 1) 전용선 또는 VPN과 같이 네트워크를 통해 온프레미스 환경과 연결하거나 2) 이러한 네트워크 연결없이 사내 거버넌스를 통해 독립적으로 사용할 수 있습니다. 예를 들어, 부서 A는 온프레미스, 부서 B는 클라우드를 사용하던지, 아니면 솔버 A는 온프레미스 환경을, 솔버 B는 클라우드를 사용하도록 사내 거버넌스를 통해 지정할 수 있습니다. 이러한 하이브리드 구성에 대해 ISBC와 협업을 통해 전략적인 방향성을 결정할 수 있습니다.
기본적으로 ISBC는 고객이 어떠한 애플리케이션을 얼마나 사용할 지, 그리고 각 애플리케이션의 요건을 반영하여 CPU, IO, MEM 등의 최적화된 구성사항을 적용하여 사용자들이 불편함이 없이 사용할 수 있도록 마이그레이션 서비스를 제공하고 있습니다.
<그림 3. 기업 환경에 따른 HPC 마이그레이션 전략>
HPC on AWS 도입을 위한 고려 사항은 무엇이 있을까요?
HPC 전문 MSP와 함께 프로젝트를 진행할 경우, 기존 물리 클러스터 사용자 환경을 AWS에 최적화하며 스케쥴러 또한 마이그레이션 지원을 원활하게 받을 수 있어, 사용자들이 보다 쉽게 AWS 클라우드 기반 HPC 환경을 사용할 수 있도록 돕고 있습니다. 위에 언급한 시나리오에 따라 고객은 MSP와 함께 다음의 항목에 대해 논의하게 됩니다.
네트워크 연동을 통해 하이브리드 환경을 구성할 경우 | 거버넌스를 통해 하이브리드 환경을 구성할 경우 | AWS 독립 자원으로 클러스터를 구성할 경우 |
|
|
|
공통 사항
|
<표 1. 자원 연동 방법에 따른 지원 내역>
현재 AWS 클라우드에 대한 경험이 없습니다. 어떤 도움을 받을 수 있나요?
ISBC는 고객이 AWS 클라우드에 대한 경험이 없어도, R&D 업무 환경에 필요로 하는 구성, 운영 정책, 보안, 자원 관리 등의 요구 사항을 파악하여 컨설팅 서비스를 제공하고 있습니다. 상세한 내용은 상단의 ISBC에서 제공하는 기본 오퍼링 내용에서 확인하실 수 있습니다. ISBC와의 협력을 통해 HPC 클라우드 여정을 성공적으로 달성한 플라나 고객사례를 참고해 보세요.
자체 구축보다 MSP 도움을 받을 경우의 이점이 궁금합니다.
‘HPC on AWS’를 전문으로 하는 MSP와 함께 HPC 자원을 운용할 경우, AWS 인스턴스, 리눅스 환경, HPC 소프트웨어 라이브러리, 시뮬레이션 소프트웨어, eVDI, 스토리지 설계, 네트워크 서비스 (VPN) 등 다양한 부문에서 도움을 받을 수 있으며, 업무 환경에 필요한 다양한 AWS 서비스를 HPC 환경에 최대한 활용하게 함으로써, 고객의 연구 활동을 지원합니다. 사용자들은 백엔드의 HPC 및 eVDI 환경에 대한 운영 부담없이 애플리케이션 구동 및 엔지니어링 시뮬레이션 해석 결과에 집중할 수 있습니다. 일반적으로 아래의 순서대로 컨설팅 서비스를 받을 수 있습니다.
- 고객사에서 사용하는 연구용 소프트웨어를 확인하여 해당 SW의 특징을 파악합니다.
- MPI / Compiler / Math Library 등 다양한 부문을 고려합니다.
- 라이선스 형태 혹은 수량 등을 확인합니다.
- 연구환경에 필요한 컴퓨팅 용량에 대한 사이징을 논의하여 최적의 EC2 인스턴스(가상 서버)를 제안드립니다.
- CPU / Memory / DISK / Network / GPU 등 다양한 요소를 고려합니다.
- 애플리케이션 또는 사용자들의 사용 패턴에 따른 최적의 네트워크 및 스토리지 구성에 대한 가이드를 제공합니다.
- 고객사 IT 팀과 협의하여 보안 연동에 따른 VPN 혹은 ACL 등 접근 제한 방법관련 구성 및 서비스를 지원합니다.
현재 온프레미스에서 사용자들이 웹포털을 사용하여 HPC 환경에 접근하고 있습니다. 동일한 환경을 MSP에서 제공해 줄 수 있나요?
AWS에서도 연구원들의 HPC 사용 편의성을 제공하기 위해, 웹 포털을 제공하고 있습니다. 사용자가 그림 4와 같이 웹 포털을 사용하면 클러스터의 리소스 관리, eVDI (Pre/Post 업무 환경 포함) 세션 관리, 제출된 잡(Job)의 상태 관리, 사용자 그룹 및 자원 모니터링 등을 사용할 수 있습니다.
AWS에서 제공하는 웹포털의 기능에 대해 궁금하다면 다음의 기술 블로그 및 데모 영상 확인을 추천드립니다. 이러한 웹 포털에 HPC 및 eVDI 환경을 연동하는 작업은 매우 까다롭지만, ISBC는 앞서 언급한 것처럼 관련된 고도의 전문성을 보유하고 있습니다. 고객이 원할 경우에는 웹포털에 대한 커스터마이징도 지원합니다.
그림 4와 같이 웹포털을 사용하여 2가지 형태의 업무를 진행할 수 있습니다.
- 로그인 진행 이후 그림 중앙의 리눅스 데스크탑 사용시, NICE DCV 를 사용하는 환경에서 고객이 사용하는 애플리케이션이 OpenGL 가속 환경이 필요한 경우 그래픽 작업을 원활하게 사용할 수 있도록 지원합니다. 또한 Gnome-Terminal 에서 HPC Job 제출도 가능합니다.
- 로그인 진행 이후 Ansys와 같은 애플리케이션 메뉴 사용시, GNOME-Terminal이 익숙하지 않는 사용자의 경우, 웹 기반으로 Job 제출을 할 수 있습니다.
<그림 4. NICE 엔진프레임을 이용한 HPC 및 eVDI환경을 위한 통합 포털 서비스>
클라우드를 HPC 버스팅 용도로 사용하는데 관심이 많습니다. 어떻게 네트워크 연결을 통해 하이브리드 환경을 구성할 수 있는지 궁금하고 MSP로부터 어떤 도움을 받을 수 있는지 궁금합니다.
고객이 온프레미스 환경에서 스케쥴러로 Slurm을 사용하고 있을 경우, ‘HPC on AWS’의 기본 스케쥴러인 Slurm과 연동하여, Slurm 멀티 클러스터 환경(온프레미스 + 클라우드)을 구성하고, 클러스터를 선택하여 Job을 제출할 수 있는 기능을 제공하고 있습니다.
만약, 고객이 온프레미스 환경에서 상용 스케쥴러를 사용하는 경우, 해당 스케쥴러에서 Slurm으로 1차 마이그레이션을 완료한 후에, AWS환경의 Slurm과 연동하여 사용하게 됩니다. 이 때에 기본적으로 Slurm에서 제공하는 어카운트(accounting)기능을 함께 사용하여, 사용자 마다 컴퓨팅 자원을 어느 정도 사용했는지 관련 부가 데이터 추출이 가능합니다. 아래 그림 5의 예시처럼, MSP의 지원을 받아 멀티 클러스터 환경 구성이 완료되면, 온프레미스 환경과 AWS 클라우드의 클러스터 자원 사용 현황을 확인할 수 있습니다. 이후 자원 사용 현황을 바탕으로 ‘sbatch’ 혹은 ‘srun’ 명령어를 사용하여 온프레미스 또는 AWS 자원을 선택하여 Job 제출이 가능합니다.
<그림 5. Slurm의 멀티 클러스터 구성 예시>
온프레미스 HPC 환경에서 상용 스케쥴러를 사용하고 있습니다. AWS 클라우드에서 기존 스케쥴러 사용이 가능합니까?
‘HPC on AWS’ 구성 시, 기본적으로 오픈 소스 기반의 Slurm을 제공하고 있습니다. 만약 기존 환경에서 Slurm 이외에 다른 스케쥴러를 사용하고 있다면 기존에 사용하고 있는 스케쥴러를 AWS 에 구성하여 (이 경우, 기존 스케쥴러 라이선스에 대한 BYOL이 필요합니다.) 사용은 가능하나, 제약 사항으로 인해 일반적으로 이 방식을 추천 드리지는 않습니다. AWS에서 제공하는 모든 서비스를 연동 및 활용하기 위해서는 Slurm으로 스케쥴러 마이그레이션이 필수적이며, ISBC에서는 기존 스케쥴러에 대한 마이그레이션 서비스를 제공하고 있습니다. 이 때 스케쥴러를 Slurm으로 변경 시, 명령어 셋이 어떻게 변경되는지에 대한 가이드도 함께 지원하고 있기 때문에, 손쉽게 스케쥴러를 변경할 수 있습니다.
상용 스케쥴러 | AWS 표준 스케쥴러 |
|
|
<표 2. 스케쥴러에 따른 고려 사항>
MSP의 도움을 받아서 HPC 또는 eVDI 환경을 구축할 경우, 어느 정도의 비용이 소요되나요?
HPC 및 eVDI 환경을 구성하기 위해서는, 연구소에서 필요로 하는 시스템 사양과 제일 유사한 EC2 인스턴스를 선정하고, 해당 인스턴스들이 필요로 하는 공유 스토리지 및 네트워크 환경에 대한 비용 등을 AWS Price Calc 툴로 산정할 수 있습니다. 이를 통해 AWS 자원 사용에 대한 비용을 확인할 수 있고, 해당 비용을 기반으로 MSP 서비스 비용을 합산하여 비용을 산정하게 됩니다.
초기 도입 고려시, eVDI + HPC 환경에서 24×365 로 클러스터를 유지하기 위한 헤드 노드 혹은 GUI 터미널 노드의 경우에는 온디맨드(On-demand) 가격 보다는 세이빙스 플랜(Savings Plan) 혹은 예약형 인스턴스(Reserved Instance) 형태로 20~30% 할인된 금액으로 선결제하여 비용을 최적화할 수 있습니다.
아래의 표3은 AWS 비용 계산기(Pricing Calculator)를 사용하여, HPC 클러스터를 구성하는데 필요한 비용을 예시로 들어보았습니다. 상세한 비용 상담이 필요한 경우, ISBC로 연락하여 도움 받을 수 있습니다.
<표 3. 소규모 HPC 환경 구성에 따른 예상 참고 비용>
전체 서비스비용 구조는 어떻게 되나요?
아래의 비용을 기반으로 크게 두가지 형태로 사용 가능합니다. 첫번째로는 월 사용량 기반으로 매월 결제하는 것이 가능하며, 두번째로는 1년에 1,2회 정도 크레딧을 구매하여 차감하는 형태로 사용할 수 있습니다.
<그림 6. MSP(ISBC)를 이용한 전체 서비스 비용 구조>
맺음말
이번 게시글에서는 전문 MSP를 활용하여 HPC 및 eVDI 환경을 구축하는 방법에 대해 알아보았습니다. ‘HPC on AWS’를 구축하기 위해서는 AWS의 다양한 서비스의 사용은 필수적이기 때문에, AWS 클라우드에 익숙하지 않다면 이를 직접 구현하기 어려울 수 있습니다. MSP의 전문적인 서비스를 받는다면 백엔드의 HPC 및 eVDI 환경에 대해서는 크게 신경 쓸 필요가 없게 되며 고객은 비즈니스 가치를 창출하는데 집중할 수 있습니다. 또한, 클러스터 운영 중에 발생되는 다양한 기술적인 이슈들에 대해서도 전문적인 기술 지원을 받을 수 있습니다. AWS 클라우드 기반의 HPC 환경구성에 ISBC의 도움을 받고 싶다면, 이메일 주소로 연락주세요.