自20 世纪80 年代进入市场以来,FPGA 一直在与通用CPU、ASIC 甚至GPU 竞争。 FPGA凭借低功耗、可编程性、规格合理等特点,能够在市场上占据一席之地。本文分析了通信、HPC、数据中心等领域的现状,提供了市场概况、价格和竞品比较,并预测了FPGA未来的发展方向。对于理解FPGA来说,这是一个很好的参考。
本文总结了2019 年9 月在斯坦福大学举行的三小时讨论。此讨论包括:Zilog、Altera、Xilinx、Achronix、英特尔、IBM、斯坦福、麻省理工学院、伯克利、威斯康星大学、以色列理工学院、飞兆半导体、贝尔实验室、Bigstream、谷歌、DIGITAL (DEC)、SUN、诺基亚、SRI、日立、上述公司,如Silicom、Maxeler Technologies、VMware、Xerox PARC、Cisco等,对本文内容不承担任何责任,只是在一定程度上激发了作者的思考,构成了多维发展FPGA 要做的事情。
现场可编程门阵列(FPGA) 自诞生以来就与ASIC 社区密切相关。 20 世纪80 年代中期,Ross Freeman 和他的同事从Zilog 购买了技术并创立了Xilinx,这是一家瞄准ASIC 模拟和教育市场的公司。 Zilog来自埃克森美孚石油公司,于20世纪70年代因担心石油将在30年内耗尽而创立,但这种说法至今仍然流行。大约在同一时间,Altera 成立,其核心技术是类似的。
FPGA是一种支持电路编程并实现电路“模拟”的芯片。对于ASIC 实现,该模拟的执行性能比实际电路慢。时钟频率较低,功耗增加,但可以每隔几百毫秒重新编程一次。
ASIC 制造商使用FPGA 来模拟ASIC,然后再创建光掩模并将其提交给工厂进行制造。 Intel 和AMD 等公司在芯片制造之前使用FPGA 对其进行模拟。
电信领域的争夺
FPGA 经常用于通信行业。随着通信标准的不断变化增加了通信设备的制造难度,能够率先提供通信解决方案的公司往往会占据最大的市场份额。 ASIC 的制造周期较长,因此FPGA 可以缩短制造周期。电信设备在早期版本就开始使用FPGA,这导致FPGA的价格波动。虽然ASIC仿真市场不受FPGA价格的影响,但芯片价格对运营商来说非常重要。几年前,AT&T 和Lucent 生产了自己的FPGA,称为ORCA(优化可重构单元阵列)。然而,它在芯片速度和尺寸方面无法与Xilinx 或Altera 相媲美。
目前,华为是最大的FPGA客户。美国制造的FPGA 可能是近期中美关系紧张的导火索。该芯片使华为在5G 通信设备的交付量方面领先两年,比全球任何竞争供应商领先两年。
FPGA 价格之争
FPGA 长期以来一直用于SDR(软件定义无线电)。 SDR 技术使无线电能够同时支持多种通信标准,类似于可以说多种语言的电话。这一次,FPGA 遇到了问题,因为SDR 技术遵循两种不同的采用路径。一方面,商业供应商已经开发出许多具有成本效益的解决方案,并且现在正在地球上的每个基站中部署SDR技术。与此同时,在国防部门,主要国防承包商正在建立特别提款权,以保护其盈利的遗留产品线。这使得基于FPGA 的无线电产品变得非常昂贵,以至于部分美国国防市场拒绝使用它们。
接下来,FPGA尝试进入DSP和嵌入式市场开发,并开始推出多款采用硬核微处理器的FPGA。但销售这些新FPGA 的压力非常大,以至于拒绝新芯片系列的客户会被芯片供应商列入黑名单,有时甚至几个月都无法获得服务。考虑到FPGA 公司经常无法占领新市场,FPGA 市场的增长压力仍然很大。 FPGA芯片面积较大,涉及知识产权较多,导致FPGA产品价格难以降低。
在 HPC 和数据中心领域碰壁
在过去几年中,FPGA 在HPC(高性能计算)和数据中心市场中寻求增长。 2017年,微软宣布在数据中心使用Altera FPGA,英特尔收购了Altera。 2018年,赛灵思宣布了“数据中心优先”战略。当公司CEO会见多位分析师时,他宣称Xilinx不再是一家纯粹的FPGA公司。这是非常戏剧性的,但却是历史的必然。
在HPC 和数据中心使用FPGA 的一个主要障碍是布局布线,或者运行FPGA 供应商特定软件以将电路映射到FPGA 组件所需的时间。对于大型FPGA,使用快速CPU 服务器,布局和布线最多可能需要三天时间。而且很多情况下,三天后,软件仍然找不到映射。
在石油天然气领域碰壁
2007年左右,石油和天然气领域的应用出现了一个利基市场。传统计算机模拟钻探地球寻找石油所需的时间比实际在油田建造和钻探所需的时间更长。 FPGA 加速器极大地改变了这种耗时的反转。第一个用于石油公司数据中心计算地震图像的FPGA 由Maxeler Technologies 构建并交付给雪佛龙。
多年来,FPGA 在石油和天然气领域的使用不断增长,直到ASIC 行业的压力带回了标准CPU 技术。如今,预测和模拟在石油和天然气领域仍然很重要,地震图像处理主要使用CPU 和GPU 完成,尽管FPGA 仍然发挥着重要作用。我们知道“今天的新闻就是昨天的新闻”。当然,目前对人工智能和数据的关注是新的。
尽管如此,FPGA 仍然是一种快速上市、获得竞争优势的简便方法,并且是许多关键任务应用中的一项重要技术。虽然每个FPGA 芯片比ASIC 更昂贵,但FPGA 的运营成本低于CPU 和GPU,因为HPC 和数据中心需要的FPGA 芯片更少,并且冷却开销也比CPU 和GPU 低得多。在GPU 上运行您的软件。 FPGA 允许数据中心变得更小,这可能会让担心数据中心缩小的运营商感到担忧。
ASIC vs. FPGA
FPGA 的另一个用途是作为ASIC 的补充。虽然ASIC 是为了实现固定功能而构建的,但添加FPGA 可以让您灵活地适应产品和不同市场的最新变化。
现代FPGA 集成了越来越多的硬核功能,并且变得越来越类似于ASIC。 ASIC 通常会在设计中添加一些FPGA 结构,以方便调试、测试和现场修复,并提高添加小功能的灵活性。
然而,ASIC 团队一直在FPGA 概念上苦苦挣扎。 ASIC 设计者会问“用户需要什么功能?”,当答案是“我也不知道”时,他们会变得不耐烦。
无人驾驶汽车行业确实是一个新的战场。随着汽车推向市场,算法不断变化,法律法规也可能发生变化,因此驱动技术需要不断适应,需要灵活的解决方案。与CPU 和GPU 相比,FPGA 具有更低的时钟频率、更小的散热器和更小的物理尺寸。 FPGA 因其低功耗和小尺寸而成为显而易见的选择。尽管如此,GPU 更容易编程,并且不需要三天的布局和布线。
另一个重要的考虑因素是需要在车辆和云中运行相同的代码以用于模拟和测试等目的。因此,在FPGA 应用于汽车之前,它们必须在云端可用。由于上述问题,很多开发者更愿意选择GPU。
FPGA 的演进
FPGA 不断发展。现代接口使FPGA 更易于编程、更加模块化并且更易于与其他技术配合使用。尽管FPGA支持AXI(高级可扩展接口)总线,这使得编程变得更加容易,但它也造成了许多显着的效率损失,导致FPGA性能降低,最终竞争力下降。尽管一些学术研究,例如Eric Chung关于FPGA动态网络的论文,提出了解决布线问题的工作,但这些先进的概念尚未被业界所接受。
FPGA如何连接?对于大数据流的HPC工作负载,可以使用PCI Express并引入通信隐藏技术。但是像NFV(网络功能虚拟化)这样可以小规模同时服务大量用户的工作负载呢?VMware 最近的研究表明,如何加速NFV 和虚拟机,有必要将FPGA 直接连接到CPU。并使用缓存一致性作为通信机制。当然,重要的特点是,如果FPGA崩溃,CPU不会崩溃,反之亦然。领先的技术公司正在重新思考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 的性能可能比CPU 和GPU 更快,但行业和投资界的实际教训是,自计算机问世以来的大部分时间里,速度和实时性能并不那么重要。很少有人仅仅为了高性能而购买计算机。类似的事情时有发生,但你不能根据这种随机事件建立一个商业市场。此外,FPGA 缺乏标准、开源代码和舒适的编程模型。因此,对于与所有FPGA 芯片兼容或可以轻松交叉编译的FPGA 程序,目前还没有标准的市场支持。 Maxeler Technologies 拥有先进的解决方案来提供此类接口,但行业的广泛采用需要信任。信任将使技术从早期采用者的玩物转变为使每个人受益的东西,但这需要数据中心领域现有供应商的推动和支持。
实际上,您的应用程序的用户会说:“我不在乎如何实现,只要我能完成我想要的任务即可。” FPGA 可以帮助哪些尚未广泛探索的应用领域? FPGA 在工业中用于实时计算。对于无人机计算机视觉,FPGA 具有重量和功耗优势。卫星上的硬件升级成本高昂,但FPGA 提供了显着的长期灵活性。 FPGA需要同甘共苦的产品。像这样的产品必须易于编程,仅靠硬件或软件是不够的,你需要一个生态系统,你需要一个完整的解决方案。
FPGA 程序的即时编译和自动生成是突破当前市场限制的好方法。说起来容易做起来难,但随着人工智能在应用领域的突破,越来越多的机会正在涌现。现在一切都可以用人工智能来完成,油气田地震图像处理等传统算法也在利用人工智能。处理人工智能模块需要科学和工程解决方案。 FPGA 提供了一个良好的起点,首先将AI 模块连接并集成到FPGA 结构中。例如,Xilinx 的下一代芯片在同一个7 纳米芯片上结合了AI 架构、CPU、100G 接口和FPGA 单元。
另一种看待方式是,由于AI 芯片会生成和处理大量数据,因此FPGA 需要提供大量输入并快速检索输出。随着用于人工智能处理的新型ASIC 的出现,FPGA 将在人工智能芯片公司中发挥重要作用。
预 测
表现为一款成功的CPU+FPGA服务器芯片,或者是直接访问CPU缓存层次结构的FPGA。有些人同意,有些人否认。 SoC(system-on-chip,片上系统)FPGA芯片将不断成长和发展,推动医疗、下一代通信和汽车等行业的发展。开发人员使用FPGA 来完成令人惊奇的事情并推动世界进步,但其中内部有FPGA 的事实必须仍然是一个秘密。 FPGA这个名字仍然存在,称为FPGA的芯片仍然存在,但它们的内部结构有很大不同。放弃(数据流)优化来简化FPGA 编程会降低FPGA 的性能,并使其无法与易于编程的CPU 竞争。 FPGA 具有动态路由、不断发展的互连以及运行时灵活的数据移动等特点。布局布线软件以及FPGA 上的完整软件堆栈都将是开源的。 Yosys 和Lattice FPGA 已经在致力于此。所有半导体架构都集成到一个芯片中,该芯片包含TPU、GPU、CPU、ASIC 和FPGA。您可以将所有技术集成在一个芯片上,也可以仅集成部分技术。更多的芯片将专注于特定的应用领域,而更少的芯片将能够实现通用目的。从某种意义上说,一切都将成为SoC。
结束语
本文揭示了多少问题,提出了多少新问题?从这个意义上说,问题是对现有工作方式的挑战。当前的做法影响人们的思维方式,进而影响他们的行为。但也许更重要的是,它影响了像我们这样的开发商的生计。
参考资料:
https://queue.acm.org/detail.cfm?id=3411759
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。