【IT168 应用】GPU可以说是高性能计算中最热门的趋势之一,它能在大大提高性能的同时减少系统的功耗。然而,由于GPU计算领域仍在应用开发和工具集创建这两个方向演变,因此GPU系统需要尽可能灵活。
本文将讨论Dell为GPU系统量身定制的基础构建块。我们将探讨可能的GPU配置以及如何应对快速演变的GPU生态系统。
Dell GPU配置
之前,我们探讨了能够用于创建GPU计算解决方案的各种Dell硬件组件。这些组件围绕一个解决方案战略进行设计,这一解决方案战略可以总结为一个词,那就是灵活性。新创建的解决方案需要能够轻松适应不断演变的应用以及不断演变的GPU工具。
Dell PowerEdge C410x是一个外部扩充机箱,能够容纳GPU以及满足该机架特定需求的任意PCIe设备。为了更新内存,Dell PowerEdge C410x能够在3U高机架,16个PCIe G2插槽内配置高达16颗GPU。同时还包括了8个与PCIe G2插槽连接,用于主机节点与Dell PowerEdge C410x机架进行连接。当前的PowerEdge C410x机架允许你将外部连接的数量减少到4个,这时每个x16连接将与4颗GPU相连。还可以将连接数减少的2,这时每个x16连接连接的GPU数量就变为了8颗。
Dell在创建GPU解决方案时采用的方法是研究“构建块”或者是“三明治”解决方案,整合各种组件并形成GPU计算解决方案。例如,如图1所示,你可以从使用配置了四颗两核CPU的2U高的Dell PowerEdge C6100服务器并与 Dell PowerEdge C410x扩充机箱建立连接开始。
▲图1:两台Dell PowerEdge C6100(顶部和底部)以及一台Dell PowerEdge C410x扩展机箱(中间)
上述组合的中部是Dell PowerEdge C410x扩展机箱,在前端你可以看到10个GPU插槽。Dell PowerEdge C410x扩展机箱的上方和下方是Dell PowerEdge C6100配置单元(每个配置单元包括了24块25英寸硬盘,当然也可以使用3.5英寸的硬盘)。总的来说,一共有8个基于双核Intel Westmere处理器的系统,每个配置了PCIe x8 QDR Infiniband卡以及PCIe x16 主机接口卡卡连接到总共配置了16颗GPU的Dell PowerEdge C410x扩展机箱上。
快速转移:在讨论GPU配置时使用(GPU的数量):(x16插槽的数量)这一术语可能是最好的方式。
和每个节点的GPU数量或者是每个插槽的GPU数量描述方式相比,上述表述方式更好,因为它表述了有多少颗GPU在共享一个PCIe G2 x16插槽。这可能非常重要,因为对于处于开发周期中的应用来说,它们高度依赖于CPU与GPU之间的数据传输效率,尤其需要大量的主机-GPU带宽。
使用图1的配置,我们可以创建1:1配置(每个x16 主机接口卡对应1颗GPU)。这意味着在Dell PowerEdge C410x扩展机箱中总共有8颗GPU,因为在两台C6100机架服务器中共包括了8个系统板。如果需要的话,能够为每颗GPU提供全速的x16带宽。
如果应用对GPU的需求更高,那么你也可以在上述配置的基础上再增加8颗GPU。这样的话,创建的配置为2:1(每个x16插槽对应2颗GPU)。在最好的情况下,每个GPU能够全面使用整个PCIe x16带宽。在最糟糕的情况下,两颗GPU在同时通过PCIe总线与主机进行通信,这时每颗GPU只能得到PCIe x8的带宽。然而,除了少数应用外,上述情况几乎不会发生。
回想一下Dell PowerEdge C410x扩展机箱最多只有8个主机接口卡连接,但是你不必使用所有的主机接口卡连接。所以,我们可以将图1的一个C6100计算单元移除,得到如图2所示的配置,也就是1台C6100机架服务器通过四个系统板连接到一个Dell PowerEdge C410x扩展机箱。
▲图2:1台C6100机架服务器(底部)与1个Dell PowerEdge C410x扩展机箱(顶部)连接
图1有时会被称为“三明治”,那么图2可以被称为“单片三明治”。在如图2所示的配置中,我们可以增加分配给每个系统板的GPU数。
使用图2所示的配置,通过为Dell PowerEdge C410x扩展机箱配置12个插槽,你就可以创建3:1的配置(每个x16插槽对应3颗GPU)。如果需要的话,这一配置同样提供了在今后增加4颗GPU的灵活性。通过为Dell PowerEdge C410x扩展机箱配置16个插槽,上述配置还可以扩展到4:1(每个x16插槽对应4颗GPU)。这时每个系统板将包括4颗GPU,2颗Intel Westmere处理器,一块QDR IB卡以及多达6块2.5英寸的硬盘。
采用升级的Dell PowerEdge C410x扩展机箱系统,该配置可以达到8:1(每个x16插槽对应8颗GPU),但是这意味着你将需要2个Dell PowerEdge C410x扩展机箱与一台C6100机架服务器进行连接,组合方式如图3所示。
▲图3:单台C6100机架服务器(中间)与两个C410x扩展机箱(顶部和底部)进行连接
继续与三明治进行类比,你可以上述配置称之为“颠倒的三明治”,也就是面包成为了填充物,而填充物变成了面包(尽管我认为我不会想要颠倒的花生酱三明治)。在图3中,每个x16 主机接口卡连接与8个GPU相连。在单个主机接口卡上应用竟然能够扩展所使用的GPU数量,这听起来令人难以置信。NVidia新版本的CUDA 4.0允许GPU之间直接进行通信,这样主机到GPU将不再是整合应用性能的瓶颈。
关于图3,我想说的另外一点就是你可以在当前的单个系统中使用的GPU最大的数目为8颗。这是当前CUDA驱动的一个限制,但是我敢打赌NVidia在未来会改进对GPU数量的限制。
你可以将使用主机节点与GPU制作三明治的观点扩展到Dell PowerEdge C6145机架服务器。Dell PowerEdge C6145服务器在2U高的机架内包括了两颗4核的AMD 61xx系列处理器以及4个CIeG2 x16插槽以及一个用于InfiniBand的PCIe G2 x8插槽。但是仍受限于每个C6145系统板只能使用8颗GPU,所以在图3的配置中,我们能够将两颗GPU与单个主机接口卡进行连接,或者是将4颗GPU与两个主机接口卡连接。这再次证明了Dell GPU解决方案的灵活性。
我们将Dell GPU解决方案与使用内部GPU的解决方案进行一下对比。如果GPU在内部的话,那么从一开始你就将受限于系统所提供的GPU的数量。最好从使用一颗GPU开始,然后在以后再增加第二颗GPU。但是增加GPU需要打开机架,才能安装第二颗GPU。希望不会出现什么意外,然后重启系统。而Dell 提供的GPU解决方案,只需要通过插槽增加GPU,然后将GPU分配给节点,最后重启节点即可。你不必打开机箱。如果你曾经经历过打开并关闭机箱后系统不能启动的情况的话,那么你应该知道我在说什么。
总结
GPU应用及工具在不断发展。在GPU应用与工具不断发展的过程中,允许应用以最高的效率运行的硬件需求也将随之发生改变。为达到非常好的的投资回报率,您的GPU配置需要足够灵活。这意味着要能够改变每个节点所使用的GPU的数量及其连接关系。这一情形将GPU与CPU进行了分离。
Dell已经开发了独特的外部PCIe总线,允许你将GPU放进一个单独的机架内,对GPU的高能耗以及制冷需求进行了优化。这一机架称之为Dell PowerEdge C410x扩展机箱,它能够根据您的需求通过主机接口卡和PCIe线缆与主机节点进行连接。这意味着你可以升级/更换主机节点,也就是GPU与主机节点是彼此独立的。
我们举例说明了使用Dell主机节点以及C410x构建的一些GPU配置。对于不断演变的GPU计算领域来说,Dell GPU解决方案提供的大量的灵活性恰恰是您所需要的。
了解更多内容可访问高性能计算社区。