
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着人工智能和云计算技术的不断发展,企业对计算机除了硬件上的要求以外,对于软件和运算速度等其他方面的要求也再不断的提高,所以,我们今天就一起来了解一下,在提高计算机运算速度上都有哪些方法是可行的。
最可行的解决方案之一是现场可编程门阵列(FPGA),它最初是为开发新硬件而设计的。那么如何使用FPGA来提升计算性能呢?
自八十年代中期投入使用以来,FPGA实现了芯片上的可编程电路。最初FPGA是用来模拟芯片,并确保设计的可行性,现在由于它们能够有效地处理大量的数据,软件工程师对它们越来越感兴趣。FPGA像GPU或CPU一样是可编程的,但它主要针对并行、低延迟及高吞吐量的问题,比如推理或深度神经网络。
是什么让FPGA与众不同?
FPGA有许多优点,使它们对软件工程师很有吸引力,其中最显著的一点就是速度。与现代CPU相比,FPGA以较慢的时钟速度运行,它们基本上是并行的,而不是运行顺序指令流,并且在并行操作之间优化数据流,使得性能大幅增加。对于同样的代码,应用程序在FPGA上的运行速度可能比在传统CPU上运行要快100倍。
FPGA中包含数百万的可编程逻辑块,可以用来同时进行许多操作,具有并行性和并发性的优点。在编写代码时,工程师可以利用这种并行体系结构,将问题分解为结构良好、自包含的进程,并且可以并行运行。
例如,一个图像在非同时处理时,一个工作人员需要按像素来处理整个图像。但是当同样的图像在同时处理时,它被分解成不同的碎片,由不同的工作人员同时进行处理,然后再拼凑回一起。过程虽然变复杂了,但是速度快了许多,要求输入数据必须以最优的方式分解,并有效地分配给工作人员,然后将处理后的数据收集并重新组装,理想的情况是不堵塞工作管道。
在一个普通的CPU中,这一过程涉及到数据从内存中存入和取出,以及使进程对当前内存状态保持一致的复杂协议。即使是最大的英特尔CPU也只有18个内核。相比之下,在FPGA中,数据流可以被设计,因此它永远不会离开芯片。数以万计的并发进程可以同时存在,并且处理的时间得到了优化,因此吞吐量始终是最大的。
通过FPGA实现的处理速度是它们的第二大好处——成本。使用FPGA可以节省大量成本,它们提高速度的同时减少了硬件需求,因为一个FPGA可以执行许多服务器的任务。
最后,FPGA具有强大的下一代互联互通和增强的灵活性,他们可以利用最新的技术发展在器件上重新编程。一旦启动并运行,FPGA就可以随时改变以满足不断变化的业务需求。
采用FPGA的阻碍
尽管FPGA有许多好处,但它们也带来了许多挑战。获得FPGA的高初始成本、持续拥有的总成本和可用性问题一直阻止了FPGA的使用成为主流。
直到最近,FPGA的编程还需要硬件工程师能够用复杂、底层的硬件定义语言如Verilog进行编程和重新编程。
硬件工程是一门高度专业化的技能,需要多年的经验才能将知识付诸实践,每年只有很少的本科毕业生具备这种专门知识。硬件配置所需的专业芯片设计技能使FPGA成本一直很高,这也意味着创新是有限的和垂直的。
从历史上看,想要使用FPGA的企业需要获得自定义的硬件,建立专门的交付团队,并将其集成到现有的解决方案中。迄今为止,只有非常高价值的解决方案,例如军事项目和对冲基金,才有资源使用FPGA进行计算。
FPGA的未来
虽然FPGA在计算方面的实现相对较慢,但最近的创新正在稳步打破采用它的障碍。例如亚马逊网络服务集成FPGA的F1实例,旨在构建定制的加速器处理计算密集型问题,外界对其发布产生了格外积极的响应。
FPGA厂商和平台提供商也可以使用不同语言进行编程,如OpenCL,并且FPGA的发展逐渐让软件工程师越来越容易在内嵌的基于云的环境下对FPGA进行编程。这可以使用更方便的语言,如GO,它对于来自不同背景和语言的用户来说更容易,更高效。微软已经表示,未来它的Azure云服务也将让开发者能够使用FPGA。
这些发展将绕过重金难求的硬件专家或昂贵的开发预算等困难。尽管FPGA仍然十分昂贵,但与以前相比,FPGA的购置和所有权相关的成本不再是一个阻碍,因为FPGA现在可以按小时出租。
过去,FPGA只用来处理大量的数据,但价值回报已经足够高,足以证明投资的深度,或者用于非常复杂和具有挑战性的问题,例如军事或金融部门的问题。但随着FPGA变得越来越容易访问,该技术适用于任何速度和成本都很重要的项目。
通过FPGA进行的并行计算通过在单个服务器上同时运行大量计算过程,加快了对海量数据的处理和分析工作,意味着FPGA可用于图像和视频处理、在线语音识别、实时数据分析、广告技术以及软件定义网络(SDN)。
云FPGA正被用于许多研究方向。安全部门正在用它研究加密算法加速,电信公司用它研究网络和安全,航空公司用它处理卫星数据和应用机器学习算法,金融服务用它进行硬件加速和确定衍生产品组合的信用风险。
虽然这些使用案例令人兴奋,但它们仅仅是FPGA能力的冰山一角,发掘这项技术的全部潜力还需要时间。虽然在硬件世界中新产品层出不穷,但这些产品的创新往往是渐进式的。但是,随着平台的出现,并行设计和创新在硬件开发中成为可能,对所有企业,无论大或小,FPGA的使用将变得越来越便宜和现实,也会得到越来越多的应用。
业界对它的使用仍然停留在起步阶段,但随着使用量的增加,FPGA将让每个企业,无论是单人初创企业还是已经成立的跨国企业,都可以利用高性能并行计算来持续推动技术创新。
作者:RobTaylor
来源:infoq
【免责声明】:本内容转载于网络,转载目的在于传递最新信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。