고성능 컴퓨팅이라고 불리는 HPC는 많은 리소스를 단시간에 생성 가능하게 할 수 있는 클라우드에서 실행하기에 최적이며 리소스를 추가해서 결과 추출 시간을 단축할 수 있으며 사용량에 대해서만 비용을 지불
작업이 끝나고 나면 전체 인프라를 파괴해서 요금이 나오지 않도록 할 수 있음
인스턴스가 수행하는 수많은 작업을 처리할 수 있음
유전체학, 컴퓨터 화학, 금융 위험 모델링, 기상 예측 등에 사용되며 머신 러닝, 딥 러닝, 자율 주행 등에도 사용됨
Data Management & Transfer
HPC의 작업을 돕는 AWS의 서비스 중, 데이터를 어떻게 관리하고 AWS로 보낼지
Direct Connect을 사용해 사설 보안 네트워크를 통해 클라우드로 초당 GB의 데이터를 옮김
Snowball이나 Snowmobile은 물리적 라우팅을 통해 클라우드로 PB 단위의 대용량 전송 데이터를 옮김
DataSync의 경우 에이전트를 설치해 대용량의 데이터를 온프레미스나 NFS, SNB, EFS, FSx로 옮기는 것을 도와줌
Compute and Networking
HPC의 작업을 돕는 AWS의 서비스 중,컴퓨팅과 네트워킹을 어떻게 할지
EC2 인스턴스를 사용해 실행하려는 작업에 따라 CPU,나 GPU에 최적화된 인스턴스인 스팟 인스턴스나 스팟 플릿을 사용해 비용을 크게 절약하고 계산에 기반해 플릿을 오토스케일링할 수 있음
EC2 인스턴스들끼리 서로 통신해야 하거나 분배된 형태로 작업을 해야 한다면 타입 클러스터의 EC2 배치 그룹을 사용하면 네트워크 성능이 가장 좋아 지연 시간이 짧은 10Gbps 네트워크를 사용할 수 있음 클러스터 배치 그룹은 랙을 가지며 모두 같은 AZ에 있게 됨
EC2 인스턴스의 성능을 향상하기 위해서는 EC2 Enhanced Networking를 사용하며 SR-IOV라고 불림 이를 사용하면 더 넓은 대역폭이 제공되고 초당 패킷인 PPS도 높아지며 지연 시간도 짧아짐
EC2 Enhanced Networking을 만들기 위해 Elastic Network Adapter (ENA)를 사용해 네트워크 속도를 100Gbps까지 올림 즉, ENA는 EC2 네트워킹 강화를 위한 것이며 대역폭과 초당 패킷을 증가시키며 지연 시간을 짧게 함
EC2 Enhanced Networking을 만들기 위해 인텔에서 82599VF라는 것을 사용하면 10Gbps까지 가능하게 함
EC2 Enhanced Networking을 만들기 위해더 나아가서는 Elastic Fabric Adapter (EFA)를 사용할 수 있음 이는 HPC의 고성능 작업을 위해 개선된 ENA로 Linux에서만 사용 가능하며 노드 간 소통이나 많은 워크 로드를 처리하기에 좋음 이는 분산 연산을 하기 때문에 Message Passing Interface (MPI) 표준을 사용하므로 Linux OS 하에서 우회하여 안정적이고 지연시간이 더 짧은 송신을 보장하므로 Linux 인스턴스가 있을 때 많은 워크 로드를 처리해야 한다면 EFA를 사용해 US를 우회하고 네트워크 성능을 더 높게 할 수 있음
Storage
HPC의 작업을 돕는 AWS의 서비스 중, 데이터는 어떻게 저장할지
인스턴스가 연결된 저장소를 사용 (Instance-attached storage)
EBS : EBS를 사용해 io2 Block Express를 쓰면 256000 IOPS까지 확장 가능
Instance Store : 인스턴스 저장일 수 있으며 수백만의 IOPS로 확장되며 지연 시간이 짧지만 인스턴스가 망가지면 손상됨
네트워크 저장소 (Network storage)
S3 : 대용량 블롭 데이터 저장에 쓸 수 있으며 이는 파일 시스템이 아니라 큰 오브젝트 저장을 위한 것
EFS : IOPS가 파일 시스템의 전체 크기에 따라 확장되며 프로비저닝된 IOPS 모드를 EFS를 써서 높은 IOPS을 얻을 수 있음
FSx for Listre : HPC만을 위한 파일 시스템이므로 Linux와 Cluster를 위한 것이며 HPC에 최적화되고 수백만의 IOPS 제공, 또한 백엔드에서 S3에 백업됨
Automation and Orchestration
다중 노드 병렬 작업을 수행하도록 서비스를 지원
다중 EC2 인스턴스에 걸쳐 작업 수행이 가능하게 됨
AWS Batch 배치 작업은 예약하기가 아주 쉽고 작업에 이어 EC2 인스턴스를 작동시키고 이들은 배치 서비스에 의해 관리되므로 배치가 HPC에 대해 많이 선택하는 방법
AWS ParalledCluster 오픈 소스 클러스터 관리 도구로 HPC를 AWS에 배포하며 텍스트 파일로 구성이 가능하며 VPC와 서브넷, 클러스터 타입과 인스턴스 타입 생성을 자동화함