什么是专用硬件,以及开源将如何推动采用?

2021-02-27 03:21:16

35年前,艾伦·凯(Alan Kay)在一个名为Creative Think的研讨会上作了一次著名的演讲,在演讲中他更著名地指出:“真正认真对待软件的人们应该自己制造硬件。”

历史已经反复证实了凯的论点,而如今,由云计算驱动的格局再次证明了非同质硬件的影响力是多么巨大。

在数字基础架构领域,正在出现一类新的硬件,其中包括SmartNIC,FPGA,DPU,TPU和基于Arm的定制CPU,每种硬件都旨在加速特定的工作负载或应用程序,并且比通用解决方案更高效。随着这些创新成为焦点,越来越多的用户开始将硬件包裹在他们的软件中(而不是反过来),我们正在观察同质CPU主导时代的缓慢终结,强大的创新工具的出现以及开源社区激动人心的集结点。

传统的服务器CPU和系统架构的“一刀切”方法对于许多现代工作负载而言效率越来越低,因为它们被设计为运行通用业务逻辑。对于需要以任何规模运行的应用程序,为该应用程序设计“自定义云”会更加有效。随着消费者对内容(如Netflix)和智能设备(如联网汽车)的需求日益升温,摩尔定律正在放慢脚步。

金融和生态可持续性都使功耗成为越来越重要的话题。针对特定用例进行了优化的专用硬件比通用CPU所需的功率更少。例如,尽管有很多关于GPU(更不用说ASIC或FPGA)用于挖掘加密货币的功耗的新闻了,但是与使用通用CPU来完成相同工作所需的能耗相比,这种消耗却微不足道。

即使在CPU市场中,我们也看到性能和功耗的优化是推动变革的主要因素。臂式CPU通常在功耗方面优于基于x86的体系结构,这主要是因为它们是针对特定用例而专门设计的。这就是Arm在对电池敏感的移动设备市场上如此成功的原因之一-但我们现在开始看到这些节能(和性能提升)已从Apple最近基于Arm的M1发布中转移到功能更强大的设备中,从AWS的Graviton 2一直到数据中心扩展部署,再到芯片初创公司Ampere的Altra系列。

功耗通常是一个重要的考虑因素,但有时纯粹是性能的主要驱动力。如上所述,对于某些工作负载(例如视频游戏和机器学习),GPU比通用CPU更高效。但是他们具有执行大规模并行计算的能力,这意味着他们现在正在生物信息学,入侵检测和视频转码等众多领域中得到采用。

专用集成电路(ASIC)与硬件一样专业。它是为执行一组特定任务而创建的芯片,仅此而已。它们是性能的最高峰,您可以在周围的所有设备中找到它们-但从开发人员的角度来看,它们很无聊,因为我们无法对其进行编程!

输入现场可编程门阵列(FPGA)。 “现场可编程”字面意思是在“现场”或制造后。 FPGA由成千上万的可配置逻辑块(CLB)和其他组件组成,可以对其进行编程以使其表现得像微处理器,加密单元,图形卡或您希望的任何其他功能。 FPGA代表了一种可编程的,尽可能接近ASIC的折衷方案,在高频交易和汽车领域(最近在Microsoft的领导下,在云计算领域)已被广泛采用。但是,FPGA的功耗可能会很差。

越来越多的人看到了对功耗敏感,高性能硬件的需求。这有两种方式,从每天收集和处理的数据规模呈指数级增长到我们在Equinix运营的较小规模的边缘数据中心。专门的硬件被用来帮助两者。

随着边缘计算逐步满足日益增长的分布式数据源的需求,边缘部署的局限性要求在设计它们时要考虑到各种效率。押宝边缘的公司无法在传统的数据中心中运行数千台服务器,因此他们运行的计算机将从专门针对工作负载的硬件中受益匪浅。

硬件对应用程序越专业,潜在的功耗,性能或可伸缩性就越好。但是,存在明显的权衡取舍可以阻碍专用硬件的广泛采用:即可访问性和兼容性。

由于已被广泛采用,因此几乎所有东西都可以在x86 CPU上运行,这提供了一种强大的动力,可以不尝试使用特殊的硬件类型。硬件制造商在解决兼容性问题时面临两个问题:

8月,我在WorksOnArm博客上写了关于云原生计算运动在过去四年中释放出的令人难以置信的能量。通过吸引开放源代码开发人员(自然而然地被吸引到令人兴奋的新问题领域)的注意力,Kubernetes及其云原生项目系列在短短4年内彻底改变了计算。

最好建议硬件制造商遵循Arm的领导。根据我之前的文章:WorksOnArm项目是“当Ampere的Altra系统进入数据中心时,所有主要的CNCF项目都将兼容的主要原因。”但是,利用开源社区并不是免费的午餐,因为需要鼓励他们并成功了。做到正确,您的新硬件启动公司可能能够抵销重大的开发成本,并一口气建立一个热切的采用者社区。那当然是,如果您还可以解决可访问性问题。

似乎很明显地说,为了使开发人员能够使用专用硬件进行创新,他们将需要访问它-实际上要复杂一些。整整一代的开发人员都在云中长大,这意味着他们希望在大多数情况下通过API来使用其硬件创新。

这意味着硬件制造商和供应链中的每个人(包括芯片设计师,系统设计师,数据中心架构师等)都面临着鸡与蛋的问题。他们需要云提供商采用其硬件,以将其投入渴望的开源开发人员手中,但是他们需要采用这种方法,以说服云提供商来存储他们的创新技术。

无论是由降低功耗,提高性能或可扩展性的需求驱动,还是在特殊硬件上令人兴奋的新一波创新浪潮,将由作​​为关键能力的,最能激发并建立其开发者社区的人们领导。

如果您对开放源代码和基本基础设施的交叉点感兴趣,则可以查看Proximity,这是我们在3/3上举行的首次技术用户会议。