[비교분석] Azure GPU VS 아마존 AWS GPU 스펙 비교(2018 버전)

비교분석
작성자
Roronoa
작성일
2018-08-28 15:51
조회
17748
1년전에 이미 GPU 서버 스펙 비교표를 작성했으나 이제는 기술의 변화로 인하여 모든것이 다 바뀐 상태라서 이 스펙 비교가 다시 한번 필요해서 이 글을 썼습니다. 가격비교는 없으며 스펙 비교만 있으며 공식문서에서 발췌했습니다.

 

Azure의 GPU  서버 스펙

002 compute-multi-vm

AWS의 GPU  서버 스펙

002 compute-multi-vm

현존하는 AWS와 Azure의 Nvidia 사양 (2018 Aug)

Tesla K80 http://images.nvidia.com/content/pdf/kepler/Tesla-K80-BoardSpec-07317-001-v05.pdf

Tesla P100의 사양  http://images.nvidia.com/content/tesla/pdf/nvidia-tesla-p100-datasheet.pdf

Tesla V100의 사양  https://www.nvidia.com/content/PDF/Volta-Datasheet.pdf

Tesla P40의 사양  http://images.nvidia.com/content/pdf/tesla/184427-Tesla-P40-Datasheet-NV-Final-Letter-Web.pdf

Tesla P40의 사양  http://images.nvidia.com/content/pdf/tesla/184427-Tesla-P40-Datasheet-NV-Final-Letter-Web.pdf

Tesla M60의 사양  http://images.nvidia.com/content/tesla/pdf/188417-Tesla-M60-DS-A4-fnl-Web.pdf

 

차이점과 사용 팁

  1. 현존하는 Nvidia GPU 아키텍쳐중에 AWS는 3개를 지원 Azure는 6개를 지원합니다.

  2. 실제적으로 스펙이 정확히 일치하지 않기 때문에 가격 비교는 불가능하며 가격 비교는 여기서 하지 않습니다

  3. Azure는 좀 더 다양한 Nvidia의 아키텍쳐를 지원합니다

  4. AWS는 한국 지역에서 사용 가능하나 Azure는 한국지역은 사용할수 없습니다.  자세한 지역 확인은 링크에 있습니다. https://azure.microsoft.com/en-us/global-infrastructure/services/

  5. AWS나 Azure는 지역마다 가격이 차이 나며 GPU 인스턴스는 30-40프로 가격이 차이가 납니다. 그러므로 어떤 지역에서 사용할것인지 "가격" 과 "내가 접속하는 지역에서 레이턴시" 를 꼭 확인 해야하며 컴퓨트 되어서 결과값만 전송한다면 무조건 가격이 싼 미국 지역에서 사용되어야 가성비가 좋습니다.

  6. AWS나 Azure의 경우 GPU 인스턴스는 가격이 비싸므로 AWS에서는 Spot Instance로 가격은 줄일수 있지만 컴퓨트 되지 않을때는 꺼놓는 방법이 가장 요금을 절약할수 있는 방법입니다. AWS의 GPU인스턴스는 Spot에서 한정적으로 사용할수 있으며 잘 뺏기므로 비용 줄이려다 망하는 수가 있으므로 조심해야합니다.

  7. GPU인스턴스는 빠르게 Nvidia 아키텍쳐가 바뀌므로 RI로 쓰는 바보같은 짓을 해서는 안됩니다. 쓴다 하더라도 1년 으로 쓰셔야 합니다.

  8. GPU 인스턴스는 리소스 자체가 한정적이라 원하는 만큼 맘대로 쓸수 없습니다. 실제로 많이 쓰기 위해서는 SKU를 늘려달라는 신청을 해도 거부당하는 경우가 많습니다.

  9. 여러가지 다양한 마켓플레이스의 AWS와 Azure의 Image를 쓰면 드라이버를 깔지 않아도 되는 수고를 덜할수 있지만 버전마다 이미지가 제공되는 것이 아니며 쓸대없는 모듈이나 이거저거 다 깔려있는 이미지를 사용한다면 컴퓨트 비용과 Ram을 낭비하는 단점이 있으므로 순수 EC2나 VM에 원하는 방법대로 설치하는것이 가장 좋습니다.

  10. 물론 설치하다 실패하면 이미지가 편합니다.

  11. Azure 에서 VM 생성시 Extension 기능으로 Nvidia GPU Driver 자동 설치 가능 합니다.


 

자 그렇다면 어떤 것이 더 낳은가?에 대한 결론은

사실 이부분에 대한 결론은 없습니다.  본인의 취향대로 쓰시는것이 가장 좋다고 생각합니다. 그렇지만 이글을 통하여 본인이 판단하시는게 좋을듯 합니다. 예를 들면 BMW가 좋냐 Benz가 좋냐 차이라고 개인적으로 생각하고 있습니다.

 

유용한 링크 모음

 

https://en.wikipedia.org/wiki/Nvidia_Tesla

https://www.quora.com/What-are-the-major-differences-between-the-Nvidia-Tesla-M60-and-K80

https://github.com/szilard/benchm-dl/blob/master/keras_backend.md

https://azure.microsoft.com/en-us/blog/azure-n-series-preview-availability/

https://azure.microsoft.com/ko-kr/blog/more-gpus-more-power-more-intelligence/

https://aws.amazon.com/ko/ec2/instance-types/p3/

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-gpu

 

여러 가지 방식이 있지만 가장 쉬운방법인 Azure에서  GPU 서버를 만들어 보자

밑에 유투브 동영상 튜토리얼이 있습니다~

  1. Azure Portal로 간다.

  2. GPU 사용 가능지역을 찾아본다. https://azure.microsoft.com/en-us/global-infrastructure/services/

  3. Resource Group을 만든다 GPUman

  4. VM 이름을 만든다 gpuserver001

  5. 관리자 이름을 gpuadmin001 입력한다.

  6. SSH나 비밀번호를 입력한다

  7. 사양을 선택한다

  8. Nvidia GPU 드라이버를 Extension으로 설치한다. (수동으로 설치도 가능)

  9. Extension으로 깔면 일반 리눅스를 설치할때 보다 늦게 배포된다. GPU 인스턴스 자체도 일반 리눅스 인스턴스보다 늦게 배포된다. 기달~

  10. VM의 진단기록 저장소를 만든다  gpuserver001diag

  11. xshell로 접속한다 (Xshell 라이센스 샀음) - 맥에서도 됬으면 좋겠음요.

  12. nvidia-smi 라고 명령어를 입력 한다