当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
网络
当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
存储
当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
服务器
当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
架构
当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
芯片

正如我们之前所报道的那样,Google上周在Google I/O大会上推出了第二代TensorFlow Processing Unit(TPU2)。Google称这个新一代产品为“Google Cloud TPUs”,但仅仅提供了关于TPU2芯片和使用它的系统的很少的一部分信息,只有几张彩色照片。图片能够表达的信息是远远多于语言的,所以在这篇文章中,我们将对照片进行深入挖掘,并基于图片和Google仅提供的几个细节来发表我们的见解和看法。


首先,Google不太可能出售基于TPU的芯片、主板或服务器——TPU2是Google内部专属的产品。Google只能提供两条通道来直接访问TPU2硬件,一条是通过TensorFlow Research Cloud(TRC),这是一项“高度选择性”项目,旨在使研究人员可以分享他们关于TPU2可加速的代码类型的发现,另一条是通过Google Compute Engine Cloud TPU Alpha,我们假设这个方案也是高度选择性的,因为这两条市场化路线共享一个注册页面。


Google专门设计了TPU2,以加速深度学习工作负载背后面向消费者的软件,如搜索,地图,语音识别以及无人驾驶车辆训练等研究项目。我们对Google TRC目标粗略定位为,Google希望招募研究团体,以寻找能够与TPU2 hyper-mesh更好匹配的工作。Google表示,TRC项目在开始的时候是小型的,但随着时间的迁移会慢慢扩大。我们将无法直接访问tpu2直到谷歌的研究推广找到更普遍的应用,并且Google将TensorFlow硬件实例作为谷歌云平台公共云中的基础架构。


Google为深度学习和分类任务设计的原TPU——运行模式已经被训练在GPU上。TPU是通过两个PCI-Express 3.0 x8边缘连接器连接到处理器主板的协处理器(参见下面两张照片的左下角),总共有16 GB / s的双向带宽。TPU消耗高达40瓦,远高于PCI-Express电源规格,并为8位整数运算提供92兆操作(TOPS),或为16位整数运算提供23 TOPS。为了进行比较,Google声称TPU2在每秒45兆浮点运算(teraflops)时达到峰值,大概是FP16运算精度。


TPU没有内置的调度功能,也不能被虚拟化。它是一个直接连接到一个服务器主板的简单矩阵乘法协处理器。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

Google的第一代TPU卡:A,无散热片;B,带有散热片


在主板处理能力或其PCI-E 吞吐量超负载前,Google从不会透露有多少TPU连接到一个服务器主板。协处理器只需要做一件事,它需要以任务设置和拆卸的形式,从主机处理器获取大量信息,并管理每个TPU数据的传输带宽。


Google已将其TPU2设计用于四机架机柜,Google将其称为pod。机柜是相对于一组工作负载的标准机架配置(从半机架到多机架)。机柜有助于大型数据中心所有者更轻松,更便宜的进行购买,安装和部署。例如,Microsoft的Azure Stack标准半机架将会是一个机柜。


四机架机柜大小主要取决于Google正在使用的铜缆类型和全速运行的最大铜线运行长度。下图显示了机柜的高层次组织。


我们首先注意到,Google通过两根电缆将每个TPU2板连接到一个服务器处理器板。可能的是,Google将每个TPU2板连接到两个不同的处理器板,但即使Google也不希望混淆该拓扑的安装,编程和调度复杂性。如果在服务器主板和TPU2板之间存在一对一的连接,则要简单得多。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

Google的TPU2 stamp :A是CPU机架,B是TPU2机架,C是TPU2机架,D是CPU机架; 固体箱(蓝色):机架不间断电源(UPS); 虚线框(红色)是电源; 和虚线框(绿色):机架式网络交换机和机架式交换机顶部


Google显示其TPU2 stamp的三张不同的照片,所有三张照片的配置和布线看起来都一样。TPU2布线的Garish颜色编码有助于进行此比较。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

三个Google TPU2机柜


Google公布了TPU2板的顶视图,以及该板的前面板连接器的特写。TPU2的四个板象限中共享板配电系统。我们认为四个TPU2板象限也通过一个简单的网络交换机共享网络连接。它看起来像每个电路板象限是一个单独的子系统,而这四个子系统在电路板上没有彼此连接。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

TPU2板的顶视图:A是四个带散热片的TPU2芯片; B是每个TPU2两根BlueLink 25GB / s电缆; C是每个板的两条全向路径架构(OPA)电缆; D是电源连接器的背面,E最有可能是网络交换机


前面板连接看起来像一个QSFP网络连接器,其两侧有四个方形横截面连接器,这是我以前没有看到的。IBM BlueLink规范在最小25 GB / s配置(称为“子链路”)中的每个方向(总共16个通道)上定义了八个200 Gb /秒信号通道。Google是OpenCAPI的成员,也是OpenPowerFoundation的创始成员,所以BlueLink是有道理的。



当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

TPU2前面板连接


电路板正面中心的两个连接器看起来像带有铜双绞线的QSFP型连接器,而不是光纤。这就提供了两个选择——10 Gb /秒以太网或100 Gb /秒英特尔全向路径架构(OPA)。两个100 Gbps OPA链路可以组合成一个25 GB / s的聚合双向带宽,这与BlueLink速度是相匹配的,所以我们认为它是Omni-Path。


这些铜缆,蓝链或OPA都不能在最大信号速率下运行超过3米或10英尺。它以3米物理跨距将链接着CPU和TPU2板的互连拓扑结合在一起。Google使用彩色电缆;而我的猜测是,这使组装更容易,而且没有布线错误。请参见上图中最前面连接器下方的电缆颜色的贴纸。我们认为,颜色编码是Google计划大规模部署这些TPU2机柜的标志。


白色电缆最有可能是1 Gb /秒以太网系统管理网络。我们没有看到Google可以将管理网络连接到照片中的TPU2板。但是,基于白色电缆的路由,我们可以假设Google将管理网络从后端连接到处理器板。也许处理器板通过OPA连接管理和评估TPU2板的健康状况。


Google的TPU2机架机柜具有双边对称性。在下图中,我们翻转了处理器机架D以将其与处理器机架A进行比较。这两个机架是相同但相互镜像的图像。之后的图,很明显,机架B和C也是彼此的镜像。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

将两个CPU机架与机架D进行比较


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

将两个CPU机架与机架C进行比较


Google的照片中没有足够的可见的连线来确定确切的互连拓扑,但它看起来像是一种超网格互连。


我们相信,CPU板是标配英特尔至强双socket主板,适合Google的1.5英寸服务器外形尺寸。它们是当前一代主板设计,考虑到它们有OPA,它们可能是Skylake板(参见下面的功耗讨论)。我们相信它们是双socket主板,仅仅是因为我还没有听说过许多单socket主板是通过英特尔供应链的任何一部分发货的。但是随着新市场进入者,如具有“Naples”Epyc X86服务器芯片的AMD,和具有Centriq ARM服务器芯片的Qualcomm强调单socket配置,这种情况可能会有所改变。


我们认为Google将每个CPU板连接到一个TPU2板上,使用两条OPA电缆实现了25 GB / s的总带宽。这种一对一的连接解决了TPU2的一个关键问题——Google以TPU2芯片与Xeon插座的比例为2:1的方式设计了TPU2 stamp。也就是说,每个双插槽Xeon服务器都有四个TPU2芯片。


TPU2加速器与处理器的这种紧密耦合与深度学习训练任务中GPU加速器的4:1至6:1的典型比例大不相同。低2:1的比例表明,Google保留了原始TPU中使用的设计理念:“与GPU相比,TPU在理念上更接近于FPU(浮点单元)协处理器。”处理器在Google的TPU2架构中仍然有很多工作要完成,但它正在将所有的矩阵数学卸载到TPU2上去。


我们看不到TPU2 机柜中的任何存储。大概这是在下图中大束蓝色光缆所追踪的那样。数据中心网络连接到CPU板,但是并没有光纤电缆连接到机架B和C上,同样,TPU2板上没有网络连接。


当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

许多光纤带宽连接到Google数据中心的其余部分


每个机架有32个计算单位,无论是TPU2还是CPU都是如此。因此,每个机柜中有64个CPU板和64个TPU板,共有128个CPU芯片和256个TPU2芯片。


谷歌表示,其TRC包含1000个TPU2芯片,但是这一数字略有下降。四个机柜包含1024个TPU2芯片。因此,四个机柜是Google已经部署了了的TPU2芯片数量的下限。从Google I / O大会期间发布的照片中可以看到三个(业可能是四个)机柜。


不清楚处理器和TPU2芯片是如何通过一个机柜进行联合,以便TPU2芯片可以在超网格中跨链接有效地共享数据的。但我们几乎可以肯定,TRC不能跨越四个机柜(256个TPU2芯片)中的一个以上的单个任务。原始TPU是一个简单的协处理器,因此处理器处理所有数据流量。在这种架构中,处理器通过数据中心网络从远程存储器访问数据。


关于机柜模型也没有很多的描述。 TPU2芯片可以在OPA上使用远程直接存储器访问(RDMA)从处理器板上的内存中加载自己的数据吗?这好像是可以的。处理器板似乎也可能在机柜上执行相同操作,创建大型共享内存池。该共享内存池不会像Hewlett Packard Enterprise的机器共享内存系统原型中的内存池那么快,但是使用25 GB / s的链接,它的速度也不会太慢,内存依旧很大,这是在两位tb范围内的(每个DIMM 16 GB,每个处理器有8个DIMM,每个板有两个处理器,64个板产生16 TB的内存)。


我们推测,在一个机柜上安排一个需要多个TPU2的任务看起来像这样:


处理器池应该有一个机柜的超网格拓扑图,哪些TPU2芯片可用于运行任务。


处理器组可能联合编程每个TPU2以明确地连接位于两个相连接的TPU2芯片之间的网格。


每个处理器板将数据和指令加载到其配对的TPU2板上的四个TPU2芯片上,包括网状互连的流量控制。


处理器在互连的TPU2芯片之间同步引导任务。


当任务完成时,处理器从TPU2芯片收集所得到的数据(该数据可能已经通过RDMA存储在全局存储器池中),并将TPU2芯片标记为可用于另一任务。


这种方法的优点是TPU2芯片不需要理解多任务,虚拟化或多租户——处理器的任务是处理所有跨越机柜的这些任务。


这也意味着如果Google曾经提供Cloud TPU实例作为其Google Cloud Platform自定义机器类型IaaS的一部分,该实例将必须包括处理器和TPU2芯片。


还不清楚的是,工作负载能否可以跨stamp进行缩放,并保留超级网格的低延迟和高吞吐量。虽然研究人员可能可以通过TRC访问1,024个TPU2芯片中的一些,但跨stamp进行扩展工作负载看起来仍是一个挑战。研究人员可能有能力连接多达256个TPU2芯片的集群,这足以令人印象深刻,因为云GPU连接目前正在扩展到32个互连设备(通过Microsoft的Olympus HGX-1设计)。


Google的第一代TPU在负载下消耗40瓦特,同时以23 TOPS的速率执行16位整数矩阵乘法。Google将TPU2的运行速度提高到45 TFLOPS,同时通过升级到16位浮点运算来提高计算复杂度。根据一个粗略的经验法则来看的话,这至少是两倍的功耗——如果除了将速度提高两倍以及转移到FP16外,什么也不做的话,TPU2必须消耗至少160瓦。散热器尺寸显示出更高的功耗,某处甚至高于200瓦特。


TPU2板具有位于TPU2芯片顶部的巨大散热片。它们是多年来我看到的最高的风冷散热片。它们具有内部密封环液体循环。在下图中,我们将TPU2散热片与过去几个月看到的最大的可比散热片进行相比较。



当Google的TPU2横空出世后,我们来详细了解其用途吧芯片

散热片遍历:A是四路TPU2主板侧面视图,B为双IBM Power9“Zaius”主板,C为双IBM Power8“明斯基”主板,D为双英特尔至强Facebook“优胜美地”主板,E为Nvidia P100 SMX2 模块与散热片和Facebook“Big Basin”主板


这些散热器的尺寸大多“每个超过200W”。很容易看出,它们比原始TPU上的40瓦散热器大得多。这些散热器填补了两个Google垂直的1.5英寸,Google外形尺寸单元空缺,因此它们几乎高达三英寸。(Google机架单元高度为1.5英寸,比行业标准1.75英寸U型高型号矮一点)。


这是一个很好的选择,每个TPU2芯片还有更多的内存,这有助于提高吞吐量并增加功耗。


此外,Google从单芯片TPU芯片(PCI-Express插槽向TPU卡供电)转移到单芯片TPU2板设计共享双OPA端口和交换机,以及为每个TPU2芯片提供两个专用的BlueLink端口。 OPA和BlueLink都增加了TPU2板级功耗。


Google的开放计算项目机架规格设备显示6千瓦,12千瓦和20千瓦的电力输送配置文件; 20千瓦的功率分配可以实现90瓦的CPU处理器插座。我们猜测,使用Skylake一代Xeon处理器和处理大部分计算负载的TPU2芯片,机架A和D可能使用20千瓦电源。


而机架B和C就是另一个不同的故事了。功率输送为30千瓦,能够为每个TPU2插座提供200瓦的功率输送;每个机架36千瓦将为每个TPU2插座提供250瓦的功率输送。36千瓦是一种常见的高性能计算能力传输规范。我们认为,每芯片250瓦功耗也是Google愿意为上述巨大的TPU2散热器支付的唯一原因。因此,单个TPU2 机柜的功率传输可能在100千瓦至112千瓦范围内,并且可能更接近较高数量。


这意味着TRC在满负荷运行时消耗将近一百兆瓦的功率。虽然四枚邮票部署成本昂贵,但却是一次性的资本费用,并不占用大量的数据中心空间。然而,半数兆瓦的电力是大量经营费用,持续资助学术研究,即使是一家Google规模的公司。如果TRC在一年内仍然运行,这表明Google正在认真研究其TPU2的新用例。


TPU2 机柜包含256个TPU2芯片。每个TPU2芯片的性能为45 teraflops,每个stamp产生总共11.5 petaflops的深度学习加速器的性能。这是令人印象深刻的,即使它确实是FP16的高峰表现。深度学习训练通常需要更高的精度,因此FP32矩阵乘法性能可能是FP16性能的四分之一,或者每个机柜约为2.9 petaflop,整个TRC为11.5 FP32 petaflops。


在峰值性能方面,这意味着在整个机柜上的FP16操作(不包括CPU性能贡献或位于机柜之外的存储),每千瓦跳跃到115吉比特每千瓦。


英特尔公布了双插槽Skylake生成Xeon核心计数和功耗配置后,可以计算Xeon处理器的FP16和FP32性能,并将其增加到每瓦特的总体性能。


关于Google的TPU2机柜行为还没有足够可靠的信息将其与像Nvidia的“Volta”这样的新一代商业加速器产品进行比较。架构的差别太大了,无需对同一任务中的两个架构进行基准测试。比较峰值FP16的性能就像将两台具有不同处理器,存储器和基于处理器频率的图形选项的PC的性能进行比较。


也就是说,我们认为真正的比赛不在芯片级别。挑战是将计算加速器扩展到普通比例。NVIDIA公司正在采用NVLink的第一步,从处理器上获得更大的加速器独立性。Nvidia正在将其软件基础架构和工作负载从单一GPU扩展到GPU集群。


Google选择将其原始TPU扩展为直接链接到处理器的协处理器。TPU2还可以进行扩展,作为以直接2:1比例的加速器进行处理任务。然而,TPU2超网格编程模型似乎没有可以将扩展任务做得很好的工作负载。但是,Google正在寻找第三方帮助来查找使用TPU2架构扩展的工作负载。


欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:418451831

分页:12
转载请注明
本文标题:当Google的TPU2横空出世后,我们来详细了解其用途吧芯片
本站链接:http://www.codesec.net/view/554916.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 商业智能 | 评论(0) | 阅读(145)