硬件提供打开数据加速大门的钥匙
扫描二维码
随时随地手机看文章
日益增长的分布式加速需求
在云计算和边缘计算中,业界渴求能够支持各种应用的高性能。为了满足这一需求,数据中心、网络集群和边缘计算站点的运营商正在转向定制化的加速器技术。
对于需要高性能计算平台的用户,专用加速器在实践中被常用来应对各种挑战;这些用户不再依靠诸如Intel Xeon系列CPU这样的传统通用CPU来支持数据吞吐量不断增长这一需求。通用CPU的核心问题在于,尽管摩尔定律一直在以大约每两年就会使每平方毫米硅片中集成的晶体管数量增加一倍的速度演进,但它不再支持时钟速率的增长。此外,CPU内的并行性很快达到了天花板。因此,其他技术更适合支持新型工作负载,包括如机器学习、基因组研究、数学和统计分析、语音和图像识别以及数据挖掘和搜索。
与传统由数据库驱动的应用相比,这些新的工作负载通常无法很好地映射到传统CPU流水线上;例如一些神经网络的训练已被验证可以在GPU上运行良好,这些算法可以利用数百个并行浮点着色器内核通过所需的数万亿个步骤来迭代更新一个大型网络。另一方面,基因组研究和数据搜索需要利用大量的对比步骤,并需处理低分辨率的整数数据。尽管这些工作负载可以利用CPU或GPU来完成处理,但是在这些平台上运行时,这些任务的计算效率和能效相对较低。自定义的基于ASIC或FPGA的加速器能够以更低的功耗提供更大的吞吐量,这是因为它们支持设计人员去构建针对这些操作和数据类型进行优化的专用电路。
互联网搜索和社交媒体等领域内的超大规模数据中心运营商已采用加速器概念来保障其服务器载荷的高效运转。语音响应系统现在已经被用于日常生活中,并得到了运行在传统刀片服务器与自定义加速器组合上的人工智能算法的支持。随着对这些基于机器学习和数据挖掘等技术的应用的需求不断增长,大量的企业用户正在转向基于加速器的方案,以使他们自己能跟上需求的步伐。据研究机构Research and Markets的分析预测,仅数据中心加速器这一市场的规模,就将从2018年的28亿美元增长到2023年的212亿美元,复合年增长率接近50%。
在这种增长之外,加速器的应用还注定将扩展到数据中心之外。诸如虚拟现实、自动驾驶、机器人技术和工业4.0等领域无法忍受信息在经过远程数据中心中继后带来的电信延迟。越来越多的计算能力将需要被部署在边缘计算机架中,而被安装于路边机柜中、移动基站旁或校园柜子内。
在各种数据中心和边缘计算用例中,有诸多常见的需求驱动因素,比如能效,快速转型,以及可扩展性。能效是降低冷却成本和复杂性以及将电费花销降到最低的核心要求。低功耗操作在边缘计算装置中至关重要,因为其中的环境温度的控制功能较弱,并且还需将维护的需求保持在最低限度。
在许多领域中,快速转型是不可避免的,并会创造新的需求,以便在变化出现时能够根据要求对应用进行调整和再加工。它不仅仅是对现有应用的更新;通常,新的用例在出现时,都会挑战用户及时做出反应的能力。而这些用例可能需要开发将不同的技术和概念结合在一起的应用,例如将人工智能(AI)功能添加到数学建模和数据挖掘系统中。为了应对这些转型,用户需要调用可以很好地进行协同工作的加速器技术,并且各个组件可以通过网络连接来进行高速通信。
可扩展性同样重要。随着面向特定服务的客户群不断增长,运营商需要知道他们能够轻松地增加容量。同样至关重要的是,具有高效通信能力的高度可编程解决方案通过增加并行性来支持其扩展能力。对诸如100 Gbps以太网和更快的链路等协议的支持,可确保能够使用分布式处理去适应增长。例如,边缘应用可能会调用云支持,直到本地机柜升级到具有额外的处理能力。
用于加速的硬件平台
加速器的硬件可以有多种形式。理想的配置是提供PCI Express(PCIe)和高速以太网连接的组合,并可以选择添加自定义连接以支持诸如环形、网状和菊花链结构等各种拓扑结构,以满足应用的各种数据吞吐量需求。对PCIe的支持通过内存映射接口将加速引擎与主处理器和其他加速器紧密集成。能够在诸如PCIe之类的接口上存储共享结构来交换数据,就可以极大地简化分布式应用的开发。
以100 Gbps或更高速率运行的以太网连接进一步提供了扩展范围。通过使用它们自有的以太网端口,而不是通过主机的主网络接口来路由数据包,加速器可以彼此间高效地相互协调。例如,在一个分布式存储配置中,加速卡可以被直接连接到嵌入式非易失性存储器(NVMe)模块上,每个模块中的独立搜索引擎使用通过其以太网连接发送的消息,来识别分散在多个节点上的数据,从而可以很容易地进行协调。
无论是作为主要的加速技术还是与GPU和其他技术配合使用,FPGA都非常适合数据中心和边缘计算应用的需求。FPGA的一个关键优势是可以在系统中来对其进行编程,以创建各种各样的数字电路。软件可以为目标应用选择配置比特流,并将其发送以配置FPGA。通过将新模式加载到器件上的逻辑阵列中,FPGA可以根据需要进行动态更新以承担新的任务。可编程性创建了由软件定义的硬件,从而完全支持用户不仅能够动态更改应用,还可以动态更改支持它们运行的硬件。将硬件可编程性与连接多个加速器的能力相结合,为用户提供了极大的灵活性。
许多计算类用户已经意识到FPGA在加速应用中的强大功能。例如,微软的Catapult项目使用FPGA为其搜索服务构建加速器,并且在其BrainWave项目中使用FPGA进行高速人工智能推理。亚马逊通过其F1服务提供了可在云端使用的FPGA,这使得到远程用户可以容易地部署这项技术。
在其他领域选择使用FPGA加速也已有一些时间。例如, FPGA逻辑阵列多年来一直被用于军事和航空航天领域的雷达处理,以及医学领域的实时成像。随着工业领域接受了实时机器设备健康监测等概念,以作为迈向工业4.0的一部分,用户可以转向使用FPGA来提高其算法的质量和响应能力。
相对于使用GPU来进行数据加速,采用FPGA的实现方式通常受益于较低的延迟和更高的能效。GPU的一个关键问题是:它们的计算效率通常只是其理论吞吐量的一小部分。因为GPU针对3D图形渲染流水线进行了优化,基于数据高度重用的执行流水线设计,导致着色器内核往往会在相对较小的本地存储以外运行。数据流式工作负载提供的数据重用机会更少,这就意味着需要更频繁地用新数据来填充存储器,而这会影响处理时间。CPU中面向缓存的子系统也同样受制于类似的问题。FPGA可以实现数据自由流动的完整流水线,因此可以提供了远远高于GPU或者CPU的计算效率。例如,基因组研究应用的基准测试表明,与基于CPU的实现方式相比,基于FPGA的硬件可将速度提高80倍。
在高性能计算和云计算环境中,架构师正在转向FPGA加速以避开系统中其他部分出现的瓶颈。通过将更多工作移交给存储子系统本身,数据中心用户可以在效率上得到大幅提升。数据库加速、数据分析和其他适用于计算型存储的处理形式可以与加密、去重复数据和安全擦除编码等低层级服务功能一起被部署在加速器上。
随着诸如软件定义网络(SDN)和网络功能虚拟化(NFV)等概念的流行,刀片服务器在数据中心内部和数据中心之间的通信管理任务中正发挥着更为重要的作用。但是,随着线速增加到100 Gbps甚至更高,Xeon级服务器处理器的处理负担是非常巨大的,数据中心运营商热衷于将许多SDN功能的处理工作卸载到附近的加速卡上。在新兴的架构中,通用服务器CPU被用于处理异常事件,而同时加速器则负责处理大量的网络流量。当新的需求、应用和安全威胁出现时,FPGA能够更新算法和网络协议处理,从而使它们成为网络加速的理想基础平台。
实施有效加速
被亚马逊(Amazon)、Facebook和微软(Microsoft)等超大规模用户采用的第一批加速器都是大幅度定制的设计。这些公司能够在打造自己的板卡设计中确保所需的规模经济,无论是基于自己设计的专用集成电路(ASIC),还是采用现成的FPGA和GPU。从成本和时间的角度来看,对于企业数据中心和边缘计算用户来说,他们难以在这种定制芯片级设计中找到合理的规模。然而,设计定制的ASIC和板卡并不是必需的。对诸如以太网和PCIe等标准接口的需求,不仅使使用标准板卡级产品成为可能,而且也是可取的。
作为一家长期提供硬件加速产品的供应商,BittWare一直在为从高性能计算到云加速到仪器仪表等众多领域内的客户设计采用PCIe尺寸的、基于FPGA的板卡,并在这方面积累了丰富的经验。现在,作为Molex集团的子公司,BittWare能够充分借助其全球供应网络以及与戴尔(Dell)和惠普企业(HP Enterprise)等服务器供应商的深厚关系。BittWare是唯一一家可与多家主流FPGA供应商合作的重要批量化供应商,能够满足企业客户的质量认证、验证、产品生命周期管理和支持需求,这些客户希望为关键任务型应用去大规模部署FPGA加速器。
在这些应用中,BittWare实现的一个重要差异化在于该公司为其基于FPGA的加速器提供了广泛的软件支持。每个加速卡均配有适用于Linux和Windows系统的驱动软件,可通过PCIe和以太网连接将其快速集成到各种系统中。除了支持主CPU和加速卡之间的通信外,该驱动还支持接入加速卡上的嵌入式固件。这个固件可以处理众多管理和自检功能。
它们使FPGA电路能够根据需要的新功能重新进行配置,此外还提供了一些对功耗、电压和温度的监测程序。如果主机系统中的冷却功能失效,那么担任管理者的固件可以关闭加速卡,以避免热过载。此外,软件组合包还包括各种参考设计,以便开发人员能够快速构建配置,使他们可以测试加速卡的功能并开始在其自己的应用上工作。
对于最新一代的加速卡,BittWare与Achronix紧密合作。Achronix是唯一一家能够同时提供独立FPGA芯片和嵌入式FPGA(eFPGA)半导体知识产权(IP)的FPGA供应商。VectorPath™S7t-VG6加速卡使用了Achronix采用7nm 工艺打造的、结合了很多功能的Speedster®7t FPGA芯片,不仅可以在内部提供高吞吐量数据加速,而且还支持现今从机器学习到先进仪器等系统所需的高度分布式、网络化的架构。