Amazon Web Services 한국 블로그

Amazon EC2 Elastic GPU 정식 출시

작년 re:Invent에서 미리 출시 계획을 밝혔던 Amazon EC2 Elastic GPU를 정식 출시합니다. Elastic GPU는 Amazon EC2 (Elastic Compute Cloud) 인스턴스에 GPU 자원을 추가하여 애플리케이션 그래픽 성능을 가속화 할 수 방식입니다. 추가 가능한 GPU는 medium (1GB), large (2GB), xlarge (4GB) 및 2xlarge (8GB) 크기로 제공되며, G3 또는 G2(OpenGL 3.3용)와 같은 전용 GPU 인스턴스 유형을 늘 사용하지 않는 경우 훨씬 저렴한 방법입니다. 여러분의 워크 로드에 맞게 Elastic GPU를 사용하면 애플리케이션에 적합한 컴퓨팅, 메모리 및 스토리지 균형을 유연하게 선택할 수 있습니다. 오늘 부터 미국 동부의 버지니아(us-east-1)와 오하이오(us-east-2) 리전에 정식 출시합니다.

Elastic GPU 중 eg1.medium의 경우 시간당 0.05 달러에서 시작합니다. 이를 t2.medium ($0.065/hour)에 연결하면, GPU 포함 인스턴스에 대해 시간당 총 12센트 미만을 지불합니다. 이전에는 가장 저렴한 그래픽 워크스테이션 (G2/G3 클래스)은 시간당 76 센트였습니다. 특정 그래픽 작업을 실행하기 위한 가격이 80% 이상 감소한 것입니다.

Elastic GPUs 활용 사례
Elastic GPU는 그래픽 가속 및 OpenGL 지원을 위해 작거나 간헐적 인 추가 GPU 자원이 필요한 애플리케이션에 가장 적합합니다. OpenGL 3.3 API 표준을 지원하며, 곧 확장 API 지원이 제공 될 것입니다.

Elasic GPU는 여러분이 만든 인스턴스의 포함되지 않고 대신 인스턴스를 시작할 때 만들어진 서브넷의 GPU 네트워크 인터페이스를 통해 연결합니다. 아래 그림은 GPU가 어떻게 부착되어 있는지 보여줍니다.

Elastic GPU는 네트워크에 연결되어 있으므로 애플리케이션을 지원할 수있는 적절한 네트워크 대역폭을 갖춘 인스턴스를 제공하는 것이 중요합니다. 또한, 인스턴스 보안 그룹이 포트 2007에서 트래픽을 허용하는지 확인하는 것도 중요합니다. OpenGL API를 사용할 수 있는 모든 애플리케이션은 Elastic GPU를 활용할 수 있으므로, Blender, Google Earth, SIEMENS SolidEdge 등이 모두 Elastic GPU로 실행될 수 있습니다.

자, 이제 인스턴스를 직접 실행하고 사용해 보겠습니다.

Elastic GPUs 사용하기
먼저 EC2 콘솔로 이동하여 인스턴스 실행을 클릭합니다. 다음으로 “Microsoft Windows Server 2016 Base”와 같은 Windows AMI를 선택합니다. 그런 다음 인스턴스 유형을 선택합니다. 그런 다음 “Elastic GPU”섹션을 선택하고 eg1.medium (1GB) Elastic GPU를 할당합니다.

또한, 고급 세부 정보 섹션에 일부 사용자 데이터가 포함하기 위해 Elastic GPU 소프트웨어를 다운로드하고 설치하기위한 간단한 PowerShell 스크립트를 작성합니다.

PowerShell

<powershell>
Start-Transcript -Path "C:\egpu_install.log" -Append
(new-object net.webclient).DownloadFile('http://ec2-elasticgpus.s3-website-us-east-1.amazonaws.com/latest', 'C:\egpu.msi')
Start-Process "msiexec.exe" -Wait -ArgumentList "/i C:\egpu.msi /qn /L*v C:\egpu_msi_install.log"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Amazon\EC2ElasticGPUs\manager\", [EnvironmentVariableTarget]::Machine)
Restart-Computer -Force
</powershell>

위의 코드를 통해  OpenGL API 호출을 첨부 된 Elastic GPU로 이 프로그램을 보냅니다.

그리고, 보안 그룹에 TCP 포트 2007이 VPC에 노출되어 있는지 확인합니다. 그러면 Elastic GPU가 내 인스턴스에 연결할 수 있습니다. 마지막으로 실행을 클릭하고 인스턴스와 Elastic GPU가 제공 될 때까지 기다립니다.  가장 좋은 방법은 GPU 인스턴스에 연결할 수있는 별도의 보안 그룹를 만들어 두는 것입니다.

아래는 전체 진행과정에 대한 스크린캡쳐입니다.

다음과 같이 AWS CLI을  통해 바로 시작할 수도 있습니다

Bash
$aws ec2 run-instances --elastic-gpu-specification Type=eg1.2xlarge \
--image-id ami-1a2b3c4d \
--subnet subnet-11223344 \
--instance-type r4.large \
--security-groups "default" "elasticgpu-sg"

Elastic GPU 소프트웨어 설치 가이드를 따라서 진행하셔도 됩니다.  설치가 완료되면, 윈도 작업 도구 모음에 Elastic GPU가 설치되어 운용되고 있는 모습을 보실 수 있습니다.

위의 화면 처럼 GPU 상태 상자의 왼쪽 하단에있는 Feedback 링크를 클릭하면 Elastic GPU 사용 경험을 제공해 주실 수 있습니다.

Elastic GPU 데모 보기
이제 Elastic GPU를 활용한 데모를 잠깐 살펴 보겠습니다. 대표적인 우주선 발사 시뮬레이션 3D 프로그램인 Kerbal Space Program (KSP)을 다운로드하고 -force-opengl 라는 매개 변수를 추가하여 OpenGL을 사용하여 렌더링을 수행하는지 확인할 수 있습니다.

Amazon CloudWatch 지표 항목을 확인하고, 데모 중에 사용한 GPU 메모리 양을 확인할 수 있습니다.

game.

정식 출시
오늘 부터 미국 동부 버지니아와 오하이오 리전에서 테스트 가능하며, 향후 리전 확장을 지속할 예정입니다. 또한, AWS 고객을 위한 훌륭한 경험을 지속적으로 제공하기 위해 Elastic GPU에서 OpenGL API를 활용하려는 경우, ANSYS 및 Siemens와 같은 3D 소프트웨어 파트너 인증을 하고 있습니다. 더 자세한 정보는 파트너쉽 정보와 Elastic GPU 가격 정보기술 문서 또한 참고하실 수 있습니다.

Randall

이 글은 New – Amazon EC2 Elastic GPUs for Windows 한국어 편집본입니다.