Google Cloud Engine (GCE)与AWS的GPU产品对比

一、前言

看到下边这张图,能想起什么?

我第一时间想起,1991年卡梅隆导演《终结者2》中,研发Skynet原型的Cyerdyne Systems的Miles Dyson,他平时996周末在家还要007时候,桌面上那个神经网络模型,配合上1991年的电脑,5.25英寸软盘。。。

来两张图大家脑补下。

好了跑题了。

这次分析对比,将会对比GCE和AWS的GPU云服务产品。GCE即Google Cloud Engine,也就是Google云。以前对比比较多的是对比阿里云,对比Azure,对比Google较很少。这次存在一个特定需求,因此对比下GPU产品的简单信息。

二、Nvidia GPU产品

随着机器学习等需要大算力的应用广泛出现在多个行业,用CPU计算已经完全不满足需要。GPU在特定领域的计算性能是CPU的许多倍,此外Nivida官方在这里还给出了一个TCO的费用测算,显示GPU在总体综合成本上有绝对优势。

1、主要产品线

Nvidia在数据中心GPU领域(不是游戏卡)有绝对领先地位,主要数据中心用加速产品整理如下。

这里需要注意的是,由于官方一些老产品上没有明确标注双精度(FP64)的计算力,更老一些的型号官方也没有INT8整数计算力,因此这张表只拿单精度运算这个主要计算数值来做对比。

在整理这张表的过程中,发现Google Cloud家也有一个不错的对比表格,点这里看到(需要科学上网,网址在墙外)。我把它直接做截图过来。如下截图。

对比我自己整理的和GCE提供的信息,我整理的表格补充了芯片架构、功耗、发布年份、封装形式等参考信息。GCE网站上的对比资料,把双精度FP64,INT8整数计算也补充进去了,很完整。

这两个表格,其中有部分数据不一致,例如K80卡,Google家列出的是每个GPU 2496个CUDA Core,12GB显存。我列出的是Nvidia Tesla K80的数据,一个K80加速卡有两个GPU,总计4992个CUDA Core和24GB显存。我的数据来源是Nvidia官网这里。如下截图。

这个数据应该属于描述角度不一致的问题,我列出的是一块卡2个GPU,而Google列出的是单个GPU,Google Cloud可以单独申请一块K80上的一个GPU。因此数据不一致的问题不影响整体选型评估。

2、封装形式

以往GPU在封装形式上主要是全高度的双插槽“重型卡”,适合Workstation,但装在数据中心的机架服务器上,又占用很多插槽,功耗又高。和游戏卡的一个主要区别,就是数据中心GPU卡都是被动散热,不带风扇,靠机箱风道通风。

另外一种形式是数据中心专用的SXM2封装,GPU不再是外插显卡的形式,而是用类似CPU和主板的方式安装,之间具备高性能NVLink互联总线。外观可参考下图。

就SXM2封装形式而言,就是一个2U高度的机箱,里边简化的方式插满了GPU,每个GPU自带显存,可以说个精简的服务。当然,计算力一点不打折扣,价格也很可观。

3、功耗与计算里的平衡

从封装规格可以看出,T4、P4是半高的PCI-E扩展卡的封装,适合数据中心机架服务器,虽然单个GPU能力不高,但功耗超低,运营成本较低。P4是上一代产品,T4是新一代,在功耗基本没变化的情况下,性能提升50%,是自建私有云、自建数据中心购买服务器搭配的首选。

另外一个方面,目前的王牌型号是2017年发布的V100,虽然V100也是有双PCI-E插槽全高的封装形式,但V100更强大的还是SXM2形式,在普通PCI-E全高卡的形式上提升了性能,还做到了高密度。虽然功耗也高达300W,但是性能是低功耗PCI-E形式的T4卡的一倍,而且对比T4的上一代也是低功耗的PCI-E卡P4,几乎达到了的三倍。如此碾压的性能,是目前高性能计算最佳选择。

王牌型号V100的两种封装形式的对比如下截图。

最后说下P100。他是定位处于低功耗T4系列和高性能V100系列之间,是前几年发布的一款产品系列。定位有些不高不低,比较尴尬。但其实是因为P100是发布更早,是上一代GPU架构Pascal下的最后一代产品,还不支持光线追踪和Turing Tensor Core。能够达到这个位于中间地带的性能,当时也是拼劲全力和巨大的功耗才达成。今天再去新建GPU计算平台的话,那就不用考虑P100这个上一代产品了。

好了,看完了GPU的常见型号,我们看下Google(GCE)和AWS分别提供哪些GPU产品。

三、Google Cloud 产品

1、主要GPU型号

截止本文编写2019年9月1日,Google提供可在线申请的如下是如下品类的GPU。如下截图。

2、主要实例规格清单

GCE分别提供了图形加速用途和计算加速用途两种类型。

图形加速用途实例配置和可用区域如下。详细信息参考这里

按计算性能排序,先是P4型号。

然后是T4型号。

最后是P100型号。

对于计算加速场景,GCE提供了K80、P4、T4、P100、V100全系列的选择。详细信息参考这里

如下是用于计算加速的实例K80系列规格和可用地区。

如下是用于计算加速的实例P4系列规格和可用地区。

如下是用于计算加速的实例T4系列规格和可用地区。

如下是用于计算加速的实例P100系列规格和可用地区。

如下是用于计算加速的实例V100系列规格和可用地区。

3、实例规则选择

Google的页面交互逻辑和操作模式是,先选一个实例和配置,然后点击Add GPU。然后呢,为啥就加不上GPU呢。

原因是Google并没有把GPU作为独立的实例系列,只是作为一个option,选择的时候需要核对系列、vCPU大小等之后,方可操作,但这里并没有与配置好的规格,而是要利用几个特定规则去匹配尝试。例如T4 GPU最多只支持24个vCPU,V100在一个GPU时候最多只支持选择12个vCPU等。这些排列组合的选择对于不太熟悉的使用者是一个较大的体验缺陷。这些限制在产品一层的设计上不如AWS。

如下是配置组合的一个实例。一个较好的配置方式是,先选择实例系列和CPU系列(不要选CPU内存数量),然后GPU就会有筛选结果,再选择可用的GPU型号,再选择数量,这样就获得了筛选后有效的vCPU数量和内存数量。

4、专用镜像

GCE也提供了为Deep Learning预装的镜像,包括了TensorFlow, PyTorch, scikit-learn。详情请参考这里

四、AWS产品

1、GPU实例类型

AWS非常早就发布了GPU服务产品,至今已经升级了好几代。目前官网提供的主要是P3、P2、G3三种实例类型。下图中的F1是FPGA的,不是GPU类型。

在这其中,又分成计算加速和图形两种使用方式。主要规格整理如下。

通过以上整理的信息可以看出,AWS提供的GPU型号非常精简。

已发布型号

  • 跑3D图形的用G3规格,加速卡是M60,实例规格为G3
  • 跑计算用途的是V100型号,实例规格为P3
  • 跑计算的低配还有上一代老款K80 GPU,实例型号P2

内测型号

  • 采用Nvidia Tesla T4型号的实例G4正在Preview预览阶段,不能公开申请,需要填表邀请内侧,希望申请可以点击这里。另外,G4实例从命名上就归属为图形加速场景,当然也可以用于机器学习分析

未提供的型号

  • Nvidia Tesla T4 GPU的前一代,即P4 GPU,在AWS上没有提供对应机型
  • V100 GPU的前一代,即P100 GPU,在AWS上没有提供对应机型

考虑到这两款都是上一代GPU,发布时间比较早,AWS也不推荐在使用了,直接用新的V100 GPU对应的P3实例,更快的速度带来的是更短的运行时间,速度提升上去随运行时间减少成本也能降低下来。

2、常见规格配置

目前AWS上推荐做机器学习等GPU用途的是P3实例,其主要配置如下。

AWS提供的低配置的GPU实例采用的是E5-2684v4处理器,而最新发布的超强算力的是P3dn,是第五代Intel 白金级别8175处理器,配置达到8GPU,96vCPU,768GB内存,100Gbps局域网络,是目前AWS上最强大的计算能力之一。

需要注意的是,P3系列在全球多个地区,包括亚太的新加坡等等地都可以申请,但是P3dn这个顶配实例支持的区域比较少,目前亚太地区日本可以支持。以下列表描述了几个主要的Region支持的规格。

3、专用AMI

AWS上还提供了针对机器学习的专用AMI镜像,预装了多种常见的框架 TensorFlow, PyTorch, Apache MXNet, Chainer, Microsoft Cognitive Toolkit, Gluon, Horovod和Keras等。

如果有需要的话,也可以选择Windows版本Image。参考这里

关于使用Deep Learning的AMI镜像,请参考这里详细信息

五、小结

通过以上信息对比可以看到,GPU目前越来越普遍的用于多种场景。使用公有云服务上提供的GPU计算能力,比企业私有云和自建数据中心而言可降低许多成本,尤其是昂贵的采购成本、电费、运营管理成本等。在性能不断提升的同时,接下来可以关注Nvidia下一代数据中心加速的GPU会带来哪些全新特性了。

对比GCE和AWS的最高型号配置如下:

对比项目GCEAWS
最高端计算力V100V100
GPU数量88
显存(所有GPU总计)128GB256GB
实例最大vCPU9696
实例最大内存624GB768GB
数据中心内本地网络未标明100Gbps

可看出AWS在显存、内存、网络等方面有较大优势。

在以上基础上,除了直接使用GPU计算实例外,AWS还提供了托管的机器学习方案 SageMaker ,可显著简化机器学习搭建、训练、管理过程。详情请参考产品介绍页面这里

全文完。