FPGA 自上世纪 80 年代进入市场以来,就与通用 CPU、ASIC 乃至 GPU 竞争共存。FPGA 的低功耗、可编程、规格适中等特性,使其在市场中占据一席之地。本文分析了通信、HPC、数据中心等多个领域的现状,对市场、价格和竞品对比等方面进行了概要分析,并预测了 FPGA 未来的一些发展方向,对了解 FPGA 提供了很好的参考。
本文概要总结了 2019 年 9 月在斯坦福大学一次三小时讨论情况,其中汇聚了来自多家企业和研究机构的实践经验,包括 Zilog、Altera、Xilinx、Achronix、Intel、IBM、Stanford、MIT、伯克利、威斯康星大学、Technion、Fairchild、贝尔实验室、Bigstream、谷歌、DIGITAL(DEC )、SUN,诺基亚、SRI、日立、Silicom、Maxeler Technologies、VMware、施乐 PARC、思科等。上述各家并不对本文内容承担任何责任,只是在某种程度上激发了作者们的思考,进而构成了 FPGA 的多维发展之路。
FPGA(现场可编程门阵列,Field-Programmable Gate Arrays) 自诞生以来,就与 ASIC 社区纠缠不清。上世纪 80 年代中期,Ross Freeman 及其同事从 Zilog 处购买了该项技术,初创了面向 ASIC 仿真和教育市场的 Xilinx 公司。Zilog 来自于埃克森美孚石油公司,其创立源自于上世纪 70 年代人们对石油将在 30 年内耗尽的担忧——尽管时至今日这一说法依然大行其道。几乎与此同时,以类似技术为核心的 Altera 成立。
FPGA 是支持电路编程的芯片,实现对该电路的“仿真”。对于 ASIC 中的实现,这种仿真的运行性能要慢于实际的电路。它的时钟频率更低,耗能更高,但可以每几百毫秒重新编程一次。
FPGA 用于在 ASIC 制造商做光罩并提交工厂制造前仿真 ASIC。Intel、AMD 等企业在芯片生产前,使用 FPGA 仿真芯片。
电信领域的争夺
FPGA 一直在电信行业大量使用。由于电信标准的不断变化增加了电信设备的制造难度,因此能率先给出电信解决方案的企业往往会占领***大的市场份额。ASIC 的制造周期很长,而 FPGA 提供了一种快捷方式。电信设备开始在初期版本上采用 FPGA,这引发了 FPGA 价格的波动。尽管 ASIC 仿真市场并不受 FPGA 价格的影响,但芯片的价格对电信企业却至关重要。多年前,AT&T 和朗讯制造了自己的 FPGA,称为 ORCA(优化的可重配置单元阵列,optimized reconfigurable cell arrays)。但与 Xilinx 或 Altera 相比,它们在硅片的速度和规格上并不具有竞争优势。
如今,华为已成为 FPGA 的***大客户。美国制造的 FPGA 可能正是中美之间***近的紧张关系的***。这些芯片令华为在 5G 电信设备交付上占据优势,***世界上其他任何准备参与竞争的供应商达两年。
FPGA 价格之争
FPGA 很早就用于 SDR(软件无线电,software-defined radios)。SDR 技术可同时支持多种通信标准的无线电,类似于一部可讲多种语言的电话。这一次 FPGA 遇上了麻烦,因为 SDR 技术走上了两条不同的采用道路。一方面,商业供应商基于成本效益考虑开发了很多解决方案,并在当前地球上所有的基站都部署了 SDR 技术。另一方面,在国防领域,大型国防承包商是为了保护有利可图的传统产品线而构建 SDR 的。这导致基于 FPGA 的无线电产品的价格居高不下,以至美国的部分国防市场一直抵制它们的应用。
下一步,FPGA 试图进入 DSP 和嵌入式市场发展,开始推出部分使用硬核微处理器的 FPGA。但销售这些新型 FPGA 的压力很大,以至于如果客户拒绝这一新系列的芯片,就会被芯片厂商列入黑名单,有时甚至会拒绝提供服务数月。鉴于 FPGA 企业攻克新市场频频失败,FPGA 市场的增长压力依然巨大。因为 FPGA 的芯片面积巨大,涉及的知识产权众多,所以 FPGA 产品难以降低价格。
在 HPC 和数据中心领域碰壁
在过去数年中,FPGA 试图在 HPC(高性能计算)和数据中心市场中发展。2017 年,微软宣布在数据中心使用 Altera FPGA,而英特尔则收购了 Altera。2018 年,Xilinx 宣布了其“数据中心优先”战略。其 CEO 面对广大分析师时,宣称 Xilinx 不再是一家单纯的 FPGA 企业。这颇具戏剧化,但这是历史必然。
在 HPC 和数据中心使用 FPGA,主要障碍在于布局布线(place & route),即运行 FPGA 供应商特定软件将电路映射 (mapping)为 FPGA 元件所耗费的时间。针对大型 FPGA,使用快速的 CPU 服务器,布局布线耗时可能多至三天。并且在很多情况下,三天之后软件依然无法找到映射。
在石油天然气领域碰壁
2007 年前后,石油和天然气领域的应用形成了利基市场。在传统计算机上模拟钻探地球发现石油所花费的时间,比现场实际施工和钻探的时间还要长。使用 FPGA 加速器,极大地改变了这种耗时颠倒的情况。***用于计算地震图像的石油企业数据中心的 FPGA,是由 Maxeler Technologies 制造并交付给 Chevron 的。
FPGA 在油气领域的应用经过了数年扩展,直到来自 ASIC 产业的压力,才让标准的 CPU 技术重新回归。当下,预测和仿真在油气领域依然重要,地震成像大多使用 CPU 和 GPU 完成,不过 FPGA 依然占据了一席之地。我们知道,“当前的新事物,会成为明日黄花”。当然,人工智能和对数据的关注是当前的新事物。
尽管如此,FPGA 依然是一种进入市场的快捷方式、获取竞争优势的简单方法,以及许多关键任务中必不可少的技术。FPGA 的每个芯片价格要比 ASIC 昂贵,但是对 HPC 和数据中心而言,相比 CPU 和 GPU 而言需要的 FPGA 芯片更少,制冷开销更低,因此 FPGA 的运行费用要显著低于在 CPU 或 GPU 上运行软件。FPGA 使得数据中心规模更小,这会使运营商感到不安,因为他们担心自己的数据中心可能会缩水。
ASIC vs. FPGA
FPGA 的另一用途,是作为 ASIC 的补充。构建 ASIC 的目的在于实现固定的功能,添加 FPGA 则可为产品的***新更改以及适应不同的市场提供一定的灵活性。
现代 FPGA 集成了越来越多的硬核功能,变得越来越像是 ASIC。而 ASIC 也时常会在设计中添加一些 FPGA 结构,以便于调试、测试、现场修复,以及增加添补小功能的灵活性。
但 ASIC 团队却一直在与 FPGA 概念做抗争。ASIC 设计师询问“用户需要什么功能?”,并在得到“我也不确定”的回答后会失去耐心。
无人驾驶汽车行业就是这样的一个新战场。由于算法的不断变化,并且法律法规可能会在汽车入场时发生变化,需要不断对驾驶技术做相应调整,这需要灵活可变的解决方案。FPGA 的时钟频率更低、散热片较小,物理尺寸小于 CPU 和 GPU。更低的功耗和更小的尺寸,使 FPGA 成为显而易见的选择。尽管如此,GPU 更易于编程,并且不需要耗时三天的布局布线。
另一个至关重要的考虑是,出于模拟和测试等方面的考虑,需要在汽车上和云中运行相同的代码。这样需要 FPGA 必须在云中可用,然后才能在汽车中使用。由于上述问题,许多开发人员更喜欢选择 GPU。
FPGA 的演进
FPGA 正处于不断发展中。现代接口正使 FPGA 更易于编程,更为模块化,更易于与其他技术协作。FPGA 支持 AXI(高级可扩展接口,Advanced Extensible Interface)总线,使其更易于编程,但也会引入很多严重的效率损失,结果降低了 FPGA 的性能,***终导致其竞争力下降。一些学术工作提出了解决布线问题的研究,例如 Eric Chung 的关于 FPGA 动态网络的论文,但是这些先进的理念尚未为产业界所接受。
FPGA 是如何连接的?对于具有大量数据流的 HPC 工作负载,可以使用 PCI Express,并部署通信隐藏技术。但是像 NFV(网络功能虚拟化,network function virtualization)这样的小规模但却能同时为大量用户提供服务的工作负载呢?VMware ***近的调查结果指出,对于 NFV 和虚拟机加速,FPGA 必须直接连接到 CPU,并使用缓存一致性作为通信机制。当然,一个关键的特性是 FPGA 的崩溃不会导致 CPU 崩溃,反之亦然。大型技术企业正在重新审视 IBM 大型机时代的需求,意图使用标准化平台涵盖越来越多的复杂性。
在大众化的企业市场也存在着机会。在提供 FPGA 平台时,企业即便没有进行 ASIC 开发的预算,也不了解***新的硅制造挑战和解决方案,也可以去开发电路,并在其产品中建立竞争优势。例如新兴的物联网(IoT)边缘计算,实现在近传感器、显示器端甚至在数据流经过时进行计算。
同时,FPGA 企业正将技术栈上推直至 CPU 插槽。英特尔在该市场上占据主导地位,其掌握了 NFV 特殊指令等技术。在数据中心中添加新 CPU 和 FPGA 的主要障碍不仅是速度和成本,还在于所有可能的 I/O 设备的软件和驱动程序是否可用。
在数据中心中推行 FPGA 的关键是易用性。例如,使用自动工具去驱动 FPGA 的应用,避免产生布局布线上的难题。微软率先在大型数据中心中使用 FPGA 来加速 Bing、NFV 和人工智能算法,此外还构建了抽象、领域特定语言和灵活的硬件基础结构。在商业上,FPGA 的主要问题在于入市策略。
构建新的芯片后才去考虑软件就为时已晚了。如何让硬件适应软件而从现有软件中获益?这也提供了重新思考 FPGA 架构的机会。但是需要警告的是:硅产业是个吞金兽。构建 ASIC 是一种赌注多年持续攀升的扑克游戏。这是一场赢家通吃的比赛,在比赛初期就剔除了 FPGA 的威胁。
FPGA 正在为硅项目带来额外的不良风险。
利基市场
正如软件设计师常说,“软件能完成的事情,就应由软件实现”。ASIC 设计师会说,“ASIC 能完成的事情,就应由 ASIC 来完成。”***有趣的说法是,“如果可以用软件完成,那么就不必和一切 FPGA 思维的人打交道了。”相比 ASIC 的团队规模,以及全球范围内软件开发人员的规模,FPGA 的公司很小,社区也很小,其中只有一些甚至
新闻中心