本文是作者于 2019 年 9 月在斯坦福大学举行的三小时讨论会的摘要。本文的撰写结合了作者在 Zilog、Altera、Xilinx、Achronix、Intel、IBM、斯坦福大学、麻省理工学院、伯克利大学、威斯康星大学、以色列理工学院、Fairchild、贝尔实验室、Bigstream、Google、DIGITAL (DEC)、SUN、诺基亚、SRI、日立、Silicom、Maxeler Technologies、VMware、Xerox PARC、思科等组织的工作经验。这些组织不对本文内容负责,但可能在某些方面启发了作者,从而对上述 FPGA 领域进行了精彩的阐述。
自现场可编程门阵列 (FPGA) 诞生以来,它们就一直触动着 ASIC 社区的神经。在 20 世纪 80 年代中期,Ross Freeman 和他的同事从 Zilog 购买了这项技术,并创立了 Xilinx 公司,目标市场是 ASIC 仿真和教育。(Zilog 起源于埃克森美孚,因为在 20 世纪 70 年代,人们已经担心石油会在 30 年内枯竭,而今天仍然如此)。与此同时,Altera 也成立了,其核心技术与此类似。
FPGA 是一种由电路编程的芯片。据说它可以“模拟”该电路。这种模拟的运行速度比实际电路以 ASIC 实现时的速度慢——它的时钟频率较低,功耗较高,但是它可以每几百毫秒重新编程一次。
ASIC 制造商开始使用 FPGA 来仿真他们的 ASIC,然后再将其提交给掩膜,并送到工厂进行生产。英特尔、AMD 和许多其他公司都使用 FPGA 来仿真他们的芯片,然后再进行生产。
电信行业一直是 FPGA 的重度用户。电信标准不断变化,构建电信设备非常困难,因此,率先推出电信解决方案的公司往往会占据最大的市场份额。由于 ASIC 的制造周期很长,FPGA 提供了一个捷径。FPGA 开始被用于电信设备的首个版本,这引发了 FPGA 价格冲突。虽然 FPGA 的价格对于 ASIC 仿真市场来说无关紧要,但电信芯片的价格却至关重要。多年前,AT&T 和朗讯制造了自己的 FPGA,称为 ORCA(优化可重构单元阵列),但在速度或硅片尺寸方面,它们不如 Xilinx 或 Altera。
如今,华为是 FPGA 的最大客户。最近美国和中国之间的紧张关系可能始于美国的 FPGA 使华为在交付 5G 电信设备方面领先于全球其他任何供应商两年。
早期,FPGA 被用于 SDR(软件定义无线电),构建用于同时在多种不同标准上进行通信的无线电,本质上相当于拥有一部能说多种语言的电话。这一次,FPGA 引发了巨大的关注。SDR 技术的实现方式出现了分歧。商业供应商开发了具有成本效益的解决方案,如今地球上每个基站都采用了 SDR 技术。另一方面,在国防领域,SDR 由大型国防承包商构建,目的是保护其利润丰厚的传统产品线。结果是,基于 FPGA 的无线电产品的价格如此之高,以至于美国国防市场的某些部分对其使用产生了持续的过敏反应。
接下来,FPGA 试图在 DSP(数字信号处理器)和嵌入式市场中发展。带有小型硬核微处理器的 FPGA 开始出现。销售这些新型 FPGA 的压力非常大,以至于如果客户拒绝接受新型芯片系列,他们就会被列入黑名单,有时甚至在几个月内被拒绝服务。扩大 FPGA 市场的压力过去和现在都非常巨大,而 FPGA 公司征服新市场的失败程度也很高,因为 FPGA 产品的表面积和知识产权层数巨大,因此不可能降低其价格。
在过去的几年里,FPGA 试图在 HPC(高性能计算)和数据中心市场中发展。2017 年,微软宣布在其数据中心中使用 Altera FPGA,英特尔收购了 Altera。2018 年,Xilinx 宣布了其“数据中心优先”战略,Xilinx 首席执行官在分析师面前宣布,Xilinx 不再是一家 FPGA 公司。这可能有点戏剧化,但在历史上具有相关性。
在 HPC 和数据中心中使用 FPGA 时,今天的主要障碍是布局布线——运行 FPGA 供应商的专有软件将电路映射到 FPGA 元素所需的时间。在大型 FPGA 和快速 CPU 服务器上,布局布线最多需要三天时间,而且很多时候即使三天后,软件也无法找到映射。
然而,在石油和天然气应用中,2007 年左右出现了一个利基市场。传统计算机模拟在地球上钻孔以寻找石油的时间比实际建造钻井场地和钻井本身的时间还要长。FPGA 加速器的使用极大地改变了这种本末倒置的时间。Maxeler Technologies 构建了第一批在石油公司数据中心用于计算地震图像的 FPGA,并交付给了雪佛龙公司。3
FPGA 在石油和天然气领域的应用扩展了几年,直到来自 ASIC 行业的压力导致回归到标准 CPU 技术。如今,石油和天然气领域的预测和模拟仍然很重要,地震成像主要在 CPU 和 GPU 上完成,但 FPGA 的机会仍然存在。我们被提醒“今天的新事物是明天的遗留物”,当然,今天的新事物是 AI 和对数据的关注。
尽管如此,FPGA 仍然是快速上市、获得竞争优势的简单方法,以及许多关键任务情况下不可或缺的技术——即使与 ASIC 相比,它们的单芯片成本很高。然而,在 HPC 和数据中心,与在 CPU 或 GPU 上运行软件相比,FPGA 的运营成本显著降低。所需的 FPGA 数量更少,所需的冷却量也比 CPU 和 GPU 少得多。FPGA 使数据中心更小,这触动了那些担心其数据中心可能会缩小的运营商的神经。
使用 FPGA 的另一种方法是补充 ASIC。ASIC 的构建是为了保持固定的功能,而添加 FPGA 则为产品的最后时刻更改或适应不同市场提供了一定的灵活性。
现代 FPGA 正在集成越来越多的硬核功能,并且越来越像 ASIC——而 ASIC 有时会在其设计中添加一些 FPGA 结构,用于调试、测试、现场修复以及根据需要灵活添加少量功能。
然而,ASIC 团队始终反对 FPGA 的概念。ASIC 设计师会问:“你想要什么功能?”,如果答案是“我还不确定”,他们就会不耐烦。
自主驾驶汽车行业就是这样一个新的战场。由于算法不断变化,并且当汽车在路上行驶时,法律可能会发生变化,需要进行驱动程序更新,因此解决方案需要具有灵活性。FPGA 的时钟频率较低,因此散热器较小,从而使其物理尺寸小于 CPU 和 GPU。较低的功耗和较小的尺寸使 FPGA 成为显而易见的选择。然而,GPU 更容易编程,并且不需要三天的布局布线。
此外,关键是要能够在汽车和云端(主要用于模拟和测试)运行相同的代码,因此 FPGA 必须在云端可用,才能在汽车中使用。出于这些原因,许多开发人员更喜欢 GPU。
FPGA 正在发展。现代接口正在努力使 FPGA 更易于编程、更模块化以及与其他技术更具协作性。FPGA 支持 AXI(高级可扩展接口)总线,这使它们更易于编程,但也引入了巨大的低效率,并降低了 FPGA 的性能,并最终降低了竞争力。Eric Chung 关于 FPGA 动态网络的论文1等学术工作有助于解决路由问题,但这些先进的想法尚未被工业界采用。
FPGA 如何连接?对于具有大数据流的 HPC 工作负载,您可以使用 PCI Express 并部署通信隐藏技术。但是,对于小型工作负载,例如在 NFV(网络功能虚拟化)中发现的工作负载,同时为大量用户提供服务,又该如何处理?对于 NFV 和虚拟机加速,FPGA 必须直接连接到 CPU,可能使用缓存一致性作为通信机制,正如 VMware 目前正在研究的那样。当然,一个关键特性是能够在不崩溃 CPU 的情况下崩溃 FPGA,反之亦然。超大规模技术公司正在重新发现 IBM 大型机时代的需求,从而将越来越多的复杂性引入到标准化平台中。
大众也有机会。通过提供 FPGA 平台,没有 ASIC 开发预算且不了解最新硅制造挑战和解决方案的组织可以开发电路,并将其竞争优势构建到其产品中,例如物联网 (IoT) 网络边缘计算的新兴机会,靠近传感器、显示器,或者只是在线路上,随着数据流过。
与此同时,FPGA 公司正在垂直向上发展,进入 CPU 插槽,英特尔在该市场中占据主导地位,例如,包括用于 NFV 的特殊指令。新 CPU 和 FPGA 进入数据中心的关键障碍不仅是速度和成本,还有适用于所有可能的 I/O 设备的软件和驱动程序的可用性。
使 FPGA 在数据中心中发挥作用的关键是使其更易于使用——例如,使用自动工具来驱动 FPGA 的使用,而无需布局布线难题。微软率先在超大规模数据中心中使用 FPGA 来加速 Bing、NFV 和 AI 算法。微软还构建了抽象、特定领域语言和灵活的硬件基础设施。在商业上,FPGA 的主要问题是上市策略。
先制造新芯片,然后才开始考虑软件就太晚了。如何通过调整硬件来服务于软件,从而从现有软件中提取价值?这也为重新思考 FPGA 架构带来了机会。然而,需要警告的是:硅行业吞噬现金。构建 ASIC 是一场扑克游戏,最低赌注逐年上升。这是一场赢者通吃的游戏,任何威胁(例如 FPGA)都会在比赛的早期被淘汰。
FPGA 正在为硅项目带来额外的、不良的风险。
虽然软件设计师总是会说:“如果可以用软件完成,它将用软件完成”,但 ASIC 设计师会说:“如果可以用 ASIC 完成,它将用 ASIC 完成。” 最有趣的是,“如果可以用软件完成,你就不必与那个像 FPGA 一样思考的人打交道。” 与制造 ASIC 所需的庞大团队以及全球软件程序员人口相比,FPGA 的社区很小,而且程序员有时很古怪。FPGA 公司规模很小。FPGA 社区也很小。
英特尔正在推动 FPGA 的灵活性。它是最成功的公司,遵循构建硬件以运行现有软件的原则。
FPGA 可以比 CPU 和 GPU 更快,但来自工业界和投资界的惨痛教训是,在计算机存在的大部分时间里,速度并不重要,实时性也不重要。因此,仅仅为了速度而购买计算机的情况很少见。这种情况会发生,但与其说是一个可以建立业务的市场,不如说更像是一个随机事件。此外,FPGA 没有标准的、开源的、令人愉悦的编程模型——因此,也没有适用于所有 FPGA 芯片或可以轻松交叉编译的 FPGA 程序标准市场。Maxeler Technologies 拥有提供此类接口的高级解决方案,但广泛的行业采用需要信任。要从早期采用者发展到让所有人受益,信任需要数据中心领域成熟供应商的协调和支持。
现实世界中的应用程序人员会说:“我不在乎它是什么,只要给我一种方法来做我想做的事情。” FPGA 可能有哪些尚未广泛探索的应用领域?对于实时计算,有制造业。对于无人机上的计算机视觉,FPGA 的优势在于重量和功率。在卫星上进行硬件升级非常昂贵,因此 FPGA 提供了长期的灵活性,这可能是至关重要的。FPGA 需要找到一个能引起共鸣的产品,并且需要易于编程。这不仅仅是硬件或软件,而是生态系统。这是一个完整的解决方案。
超越当前市场限制的一种方法是实时编译和自动 FPGA 程序生成。说起来容易做起来难,但随着 AI 颠覆应用领域,机会正在增长。如今,一切都用 AI 完成;即使是传统的算法(如石油和天然气的地震成像)也正在融入 AI。需要一种科学和工程解决方案来处理 AI 模块。FPGA 可能是一个很好的起点,也许最初是连接 AI 模块,然后将它们集成到 FPGA 结构中,例如 Xilinx 的下一代芯片——在同一 7 纳米芯片中包含 AI 结构、CPU、100G 接口和 FPGA 单元。
从另一个角度来看,随着 AI 芯片产生和消耗大量数据,将需要 FPGA 来满足需求并迅速转移输出。随着所有用于 AI 处理的新 ASIC 的出现,FPGA 可以为 AI 芯片公司提供差异化。
以下发展是否可以在 10 年或 25 年前预测到?2 虽然世界在变化,但预测似乎保持不变。
1. 将会出现成功的 CPU+FPGA 服务器芯片,或具有直接访问 CPU 缓存层次结构的 FPGA。有些人说是,有些人说不。
2. SoC(片上系统)FPGA 芯片将增长和扩展,推动医疗、下一代电信和汽车行业等领域的发展。
3. 开发人员将使用 FPGA 来做令人惊叹的事情并使世界变得更美好,但将不得不隐藏内部有 FPGA 的事实。
4. FPGA 的名称将保留,并且将继续制造称为 FPGA 的芯片,但内部的一切都将完全不同。
5. 当我们为了使 FPGA 更易于编程而放弃(数据流)优化时,FPGA 的性能将会降低,因此它们不再与 CPU 竞争,而 CPU 将始终更易于编程。
6. 将会出现具有动态路由、不断发展的互连和运行时灵活数据移动的 FPGA。
7. 布局布线软件以及 FPGA 之上的完整软件堆栈将是开源的。Yosys 和 Lattice FPGA 已经有了初步的努力。
8. 所有半导体架构都将组合到单个芯片中,包括 TPU、GPU、CPU、ASIC 和 FPGA 的组合。有些可能是每个架构的整体组合。另一些将是每个架构的部分组合。
9. 更多芯片将专注于有限的应用领域,而更少芯片将专注于通用芯片。在某种程度上,一切都在变成 SoC。
本文解决了多少冲突,又创造了多少新冲突?从这个意义上讲,冲突是对现有做事方式的挑战。这种现有的做事方式可能会对人们的思维方式产生影响,从而对他们的行为方式产生影响。但也许更重要的是,这将对我们开发人员的谋生方式产生影响?
1. Chung, E. 2011. CoRAM: An in-fabric memory architecture for FPGA-based computing. Ph.D. thesis, Carnegie Mellon University.
2. Field-programmable Custom Computing Machines. 2012. FCCM predictions; https://www.fccm.org/past/2012/Previous.html.
3. Nemeth, T., Stefani, J., Liu, W., Dimond, R., Pell, O., Ergas, R. 2008. An implementation of the acoustic wave equation. In Proceedings of the 78th Society of Exploration Geophysicists Meeting, Las Vegas.
面向大众的 FPGA 编程
如果要使 FPGA 成为主流计算的一部分,则必须改进其可编程性。
David F. Bacon、Rodric Rabbah、Sunil Shukla
https://queue.org.cn/detail.cfm?id=2443836
数据中心中的 FPGA
计算机科学研究精选指南
Gustavo Alonso
https://queue.org.cn/detail.cfm?id=3231573
可重构的未来
生产更便宜、更紧凑芯片的能力是一把双刃剑。
Mark Horowitz
https://queue.org.cn/detail.cfm?id=1388771
版权 © 2020 归所有者/作者所有。出版权已授权给 。
最初发表于 Queue 第 18 卷,第 3 期—
在 数字图书馆 中评论本文