计算机系统结构变革在即?

 
2016-10-23  朱洁  大数据和云计算技术

15年6月,intel正式宣布167亿美元收购FPGA生产商Altera。此交易为该公司有史以来涉及金额最大的一次收购案例。167亿美金不是小数目,intel 为啥花这么高的代价收购一家FPGA厂商?对x86架构的计算机系统结构会带来什么影响?看我们慢慢分析。

 

FPGA是什么?

 

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

 



 

 

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。

 

FPGA并行运行的原理

 

FPGA最大的特点除了可编程之外,还有一个非常重要的是指令是并行运行的。

 

CPU是在同一时刻只能执行一个任务,单片机是cpu,cpu里基本的单元是逻辑控制单元来执行程序。但是fpga不是cpu,许多的逻辑单元构成的它们的内部结构不一样,就是说它不是执行程序的,可以把fpga看成是一推与门,非门,查找表,触发器的组合。对fpga编的程序其实不是让它用来执行的,也就是说在出厂之前,FPGA内部元件之间的连线已经完全固定,我们的编程也只是在此基础上选择哪些相连、哪些断开罢了。而是fpga的内部结构,也就决定它内部这些与门非门触发器的连接方式。与门非门触发器根据外部引脚决定输出,引脚同时变化,FPGA就有不同的输出,所以可以说是并行运行的。

 

FPGA适合场景

 

FPGA已被证明是在搜索、排序以及字母配对算法等方面能带来显著加速效果的产品,微软和百度此前都曾表示已在旗下数据中心里使用了FPGA。

 

1、微软公司的基本设计思路是将FPGA纳入输入请求与输出数据的直接通路,这意味着不再需要经由网卡将数据分流至FPGA,再通过内部系统总线接收返回结果。阵列能够自行处理任务,或者将信息传递给主机的英特尔x86处理器以进行必要操作。另外,FPGA还能够在传输过程中对数据执行更多附加操作。

 

举例来说,FPGA能够在数据触及运行于设备上的应用之前,对其进行加密与解密。



 

 

 

这一设计方案的结果在于,全部云服务皆借此实现了显著的延迟削减效果。“通过让FPGA与网络交换机直接通信,每套FPGA皆能够直接同数据中心内的其它FPGA经由网络实现通信,且无需涉及任何CPU软件。

 

 

2、在今年9月份召开的百度世界大会上,百度高级副总裁王劲在接受采访时曾透露,百度已经打造了FPGA版的百度大脑,性能远超此前的版本。百度目前主要将FPGA应用在在线服务商,性能提升3~4倍。

 

人工智能的应用场景,包括云(数据中心)和端(智能设备)两部分;其中,云端又包括离线训和在线服务。离线训练是指利用海量数据,选择合适的训练方法,训练出一个模型。在线服务是指,利用训练出来的模型来响应在线响应用户的请求。端部分也对人工智能有着很大的需求:很多终端设备,也都需要能运行人工智能的算法,能智能地响应外部请求,如无人车、智能摄像头等。

 

在离线训练上,GPU可以阶段性地满足要求;智能设备虽然炒得火,但时机仍未成熟。而在在线服务方面,对提升计算能力的需求是客观存在且比较急迫的。但GPU因为功耗、成本等原因,不适合线上大规模部署。

 

通过不断地创新、优化,FPGA版百度大脑迭代了许多版本,大脑的计算能力不断提升,功耗不断下降:最终版本比第一个版本功耗下降了约50%。

 

FPGA版百度大脑逐步应用在百度产品中,包括语音识别、广告点击率预估模型等。据了解,应用了该版本百度大脑后,语音在线服务、广告点击率预估模型等的计算性能皆提升了3~4倍。

 

INTEL的胶水芯片

 

回到intel的收购动作,intel肯花167亿美元收购Altera公司绝不是冲动的爱情,Altera不仅是Intel的代工合作伙伴,而且Intel很早就考虑处理器与FPGA电路的集成了,早在2014年6月份Intel高级副总、数据中心级连接系统部门总经理Diane Bryant就对外提到了他们会推出定制化的至强处理器,客户可以根据自己的需要定制两种不同的FPGA芯片,一种是Intel把FPGA芯片指令集成到Xeon处理器中,另外一种就是Intel推出FPGA+Xeon处理器双芯片封装的芯片,充分发挥FPGA可编程的优势。

 

当时Intel并没有提到他们合作用的FPGA芯片来自哪家公司,现在可以公布了,这家公司就是被Intel收购的Altera公司,如今变成子公司了,各种合作也更方便了。指令集成是不容易实现的,最快的方法就是将FPGA和CPU封装在一起。

 

前面说到这种处理器将采用双芯片封装,Intel对这种封装其实也很熟悉了,还记得Intel推出的第一代Pentium D双核处理器吗?Intel当时为了尽快拿出产品,Presler架构的PD双核并不是原生的,而是两个单核处理器封装在一个芯片内,被玩家戏称为胶水双核,未来的处理器大体上也会是这种结构。

 

未来发展判断

 

1、巨头intel的推进,预计CPU+FPGA可能会有一个大的发展。

2、FPGA由于其可编程行,并行能力加上和CPU深度集成,计算机体系结构,如网络/内存的作用都可能发生变化。

3、FPGA在人工智能领域的发展还刚起步,还有更广空间。

 

参考文档:

http://www.d1net.com/server/vendor/437324.html

http://ee.ofweek.com/2015-12/ART-8110-2801-29035307_3.html

 



 

个人新作《大数据架构详解:从数据获取到深度学习》一书,已由电子工业出版社出版,京东(现货),淘宝,当当,亚马逊全网开售/预定,有兴趣的同学可以详细了解:

 

为什么写《大数据架构详解》这本书

 



 

 
 

微信扫一扫
关注该公众号

猜你喜欢

转载自jiezhu2007.iteye.com/blog/2332442