现场可编程门阵列(FPGA)一直是半导体市场中的另类物种。它从仅仅只有几个逻辑门、可以用来模拟其他硬件并进而运行软件开始向前演进;在FPGA一直在遵循着其自有的演进之路的同时,它们也在利用为通用中央处理器(CPU)和定制化专用集成电路(ASIC)开发的其他技术。
在2020年1月22日于旧金山GlassHouse举办的“下一代FPGA平台(TheNextFPGAPlatform)”活动上,这成为了我们与Achronix产品规划及业务拓展副总裁ManojRoge对话的主题之一。成立于2004年的Achronix是FPGA市场中比较新的玩家,目前得到的发展动力强于其他更大的竞争对手。
Roge对重要FPGA玩家的产品和策略并不陌生。从上世纪九十年代中期到21世纪前十年中期,Roge是Cypress半导体公司的产品线经理,在不同的管理职位上负责管理相应的产品线。在2005年,Roge担任Altera的产品规划资深经理,掌管该公司的65nm和40nm产品和市场策略。当时,Achronix才创立不久。五年之后,Roge成为了Xilinx的产品规划总监,负责该公司的产品路线图和生态系统。四年之后,他成为了推动其数据中心和通信产品线的规划和市场营销总监。在2017年的夏天,Roge在Achronix得到了其现有的职务,负责又一家FPGA供应商的策略及路线图。这样的经历给他带来了独特的视角,Roge对此倍感兴奋,而不觉得是无新意的重复。
“该领域能给大家带来诸多兴奋点,其原因有多个,”Roge告诉TheNextPlatform杂志。“第一点就是数据中心中的关键工作负载正在以快速的、全新的节奏在改变,诸如机器学习等新的功能正在加入其中。每个人都在期盼着指数级的功耗降低和性价比提升,这是因为你不能仅仅靠部署越来越多的CPU来扩展数据中心的规模,我认为现在的业界共识是你需要异构的加速器。FPGA是一个选项,为了让你的数据中心在未来不过时,通过部署FPGA技术可带来多种优点。”
这种可塑性——我们已经听到许多人将FPGA描述为“动态的ASIC”,而我们更愿意称其为“动态虚拟ASIC”,这是因为它们通常表现为带有可编程虚拟指令集的、一定数量的CPU,这些也是FPGA的关键功能。无论何时你有需要经常改动的工作负载,同时它们有要求低延迟和并行的计算,那么FPGA就是你应该考虑的计算平台。
从Roge的视角来看,FPGA已经经历了三个纪元,而我们仍然处于几年前才开始的第三个纪元。
“从上世纪80年代到90年代中期的FPGA1.0阶段主要是关于连接在一起的逻辑单元,”Roge介绍道。“这个时代的产品包括低端的CPLD和PLD器件,而客户当时常常把它们用作连接在一起的逻辑单元,或者一些可编程的I/O器件,大致说来其市场总需求量在10-20亿美元之间。而从上世纪90年代中期到大约2017年为FPGA2.0阶段,我们将其称为连接浪潮期,这个阶段中很多FPGA被用于为网络和存储实现接口。大家一直热爱以太网和DDR存储器,同时随着FPGA的密度和性能不断提升,它们被用于一些复杂的功能,而不仅仅是连接在一起的逻辑。而这些应用将FPGA的市场需求总量扩展到大约50亿美元。”
取决于你如何来计算,包括Xilinx、Altera/Intel、Lattice半导体和Achronix在内的主要FPGA供应商的总销售收入达到了大约65亿美元,因而现在他们实现了一个大得多的市场需求量。讨论的标的到底真正有多大,这是我们主办这次以FPGA为中心的活动的原因之一。
Roge说到:“从大约2017年开始,我们进入了FPGA3.0这个新纪元,其核心内容都是数据加速。现在,FPGA不再仅仅用于一些连接在一起的逻辑或者制作原型,它们自己已经成为计算引擎,在微软Azure和亚马逊WebServices等应用的数据中心得到了大批量的部署。”现在FPGA市场总需求量的保守估算为100亿美元,同时也可能是这个数字的2-3倍。
现在的问题是如何将这个总的市场需求量转化为现实需求,而这需要重新打造硬件和软件。
“无论你正在打造诸如高性能计算(HPC)集群或者用于超大规模数据中心的解析功能等系统,它们都可以从原理上简化为这三个要素:非常高效的计算、分层的存储架构和带宽、以及高效地数据转移,而我们一直在认真地深入研究如何去优化它们。现在,我们采用了台积电(TSMC)的7nm工艺技术,所以我们将从中获益并采用了与Xilinx最新产品相同的技术;而Intel在最新的Agilex产品中采用了10nm技术,它与TSMC的7nm技术大致相同。但是我们产品的差异化在于架构和我们采用的性能,我们决定专注于几类应用工作类型,同时我们希望能够提供行业领先的产品,即单位功耗和单位成本上的最佳性能。”Roge表示。
“我们反复考虑了这些应用的方方面面,而且从架构上进行创新,使客户即使面对Xilinx和Intel也更倾向于选择我们的产品。我们并不担心与他们的产品进行各个单项上的直接比较——逻辑单元、DSP单元块、存储器单元块等等。每秒万亿次运算(Teraops)是一个用于市场营销的数字,它真的并不意味着什么。真正重要的是你如何能够去加速整个应用,正是因为你已经拥有了合适的存储带宽和高效的机器学习计算引擎,因此我们能够提供一个优异的端到端应用性能,例如最佳的图形识别性能。”Roge补充到。
我们可以说存储带宽、I/O带宽以及Teraops(或者Teraflops)是任何器件的标志性指标,而你如何去利用硬件和软件来形成独特的组合而实现这些指标,是真正的终极大事。这就是我们在定义FPGA器件时的另类观点,从而使这些器件在数据中心等领域中可以找到持续长久的、但也可以不断改变的应用。