论文部分内容阅读
引言
目前应用软件的需求已经远远超出了传统处理器的能力所及。一种解决方法是通过硬件加速,采用专用协处理器来提升处理性能。FPGA作为协处理器设计的基础,在价格、性能、易用性以及功耗方面有明显的优势。
微处理器有近40年的历史,在这期间内它的性能得到了大幅提高,根据摩尔定律每18个月翻倍。处理器在每一轮性能增长过程中,都能支持更复杂和要求更高的应用软件,使用户对未来处理器的性能有更高的期望。在过去几年中情况发生了变化,处理器本身无法满足高性能计算(HPC)应用软件的性能需求,导致需求和性能之间出现了缺口
应用软件的需求促进性能的提高
新的应用软件在性能达到要求后,很快得到广泛应用。在处理性能达到一定水平后,超声、计算机辅助断层扫描(CAT)、磁共振成像(MRI)等医疗成像应用需要更高的图像分辨率。科学计算和建模也同样出现类似的情况,使用的模型越来越复杂。
与此同时用户还希望加快应用软件的运行速度,尽快得出结果,他们不能忍受较慢的响应,这对应用软件提出了新的性能标准。而另一方面,计算速度带来的竞争优势也促使提高目前的处理能力。
虽然对性能需求的增长已经超越了摩尔定律,处理器的发展却徘徊不前。过去40年中处理器性能的提高主要受益于半导体技术,但是这种技术的改进达到了极限。电路越来越复杂,每一个设计的开发成本高达数百万美元,数十亿美元才能形成新产品投产能力。时钟速率的提高导致器件功耗增大,现在已经到了不能迅速散热的地步。
提高处理器性能并不是解决应用需求的唯一方法。采用专用处理器来扩展处理器一直是解决性能瓶颈可靠的途径。这类协处理器可以结合使用调制解调器和以太网控制器等专用I/O处理功能,使用图层着色引擎提高显示能力,采用加密引擎来保证安全性。还出现了更通用的协处理器,例如处理乘法
和除法的数学加速器。数字信号处理器作为一种协处理器,采用了内置数学硬件以及具有流水线和并行运作的新体系结构,能够处理复杂的数学运算。然而,这些专用结构还不足以填补目前的技术缺口,只是解决了一小部分问题。而且,在设计中还要避免采用软件实现某些功能,例如数字信号处理器等,因为这和主处理器一样,在灵活性上受到限制。
专用协处理器
当今理想的协处理器应该具备三种基本能力。第一是能够提供专门的硬件加速,实现各种应用所需的关键处理功能。其次是协处理器设计在性能上非常灵活,使用流水线和并行结构,跟上性能的需求变化。最后,协处理器能够为主处理器和系统存储器提供宽带、低延迟接口。
除了硬件要求以外,理想的协处理器还应该满足HPC市场的“4P”要求:性能(performance)、效能(productivity)、功耗(power)和价格(price)。HPC市场对性能的最低要求是全面加速实现算法,而不仅仅是某一步骤,并能够加速实现整个应用软件。效能需求来自最终用户,协处理器必须安装起来很方便,提供简单的方法来配置系统,加速实现现有的应用软件。
HPC市场的功耗需求来自计算系统安装和使用上的功耗限制。低功耗协处理器能够为计算系统提供更低的成本,还提高了计算系统的空间利用率。
价格因素在HPC市场上显得越来越重要。十几年前,某些应用软件对性能的需求超出了单个处理器能力范围,这促使人们采用专用体系结构,例如密集并行处理(MPP)、对称多处理(SMP)和单指令多数据(SIMD)等(见图2)。然而,这类系统要求使用定制处理器单元和专用数据通路,开发和编程都非常昂贵。
现在的HPC市场抛弃了这种昂贵的方法,采用性价比更高的集群计算方法。集群计算采用商用标准体系结构,例如Intel和AMD采用工业标准互联,例如千兆以太网和InfiniBand;采用标准程序语言,例如运行在低成本Linux操作系统上的C语言等。当今的协处理器设计必须能够平滑集成到商用集群计算环境中,而成本大致与在集群中加入另一个节点相当。
在这些市场条件下,设计协处理器来提供专用硬件加速功能是很大的挑战。过去,开发人员针对一些常见的应用,例如图像和以太网控制器等,设计不同的协处理器来满足这些应用需求。然而,出于开发时间和成本考虑,并不能采用这一方法,因为对于大部分应用的回报太低,用户不愿意等待太长的时间。而且各种各样的应用软件需要进行加速,平滑集成到现有计算集群中,而传统的方法在成本上做不到这一点。
理想FPGA功能的实现
采用替代方案可以针对每一应用需求设计不同的协处理器,同样的半导体技术既能把处理器的性能发挥到极限,也能使FPGA从简单的胶合逻辑控制器发展到性能很高的可编程架构。FPGA完全能够满HPC市场的“4P”需求。
当今的FPGA有很大的性能潜力。它们支持深度可变的流水线结构,提供大量的并行计算资源,一个时钟周期内就可以完成非常复杂的功能。FPGA的可编程能力保证了这种器件能够满足应用软件的特殊需求,不存在设计定制协处理器的成本或者延迟问题。FPGA是可再编程的,它可以在一个芯片中为多种应用提供非常灵活的定制协处理功能。
FPGA的内置存储器也有很大的性能优势。例如,片内存储器意味着协处理器逻辑的存储器访问带宽不会受到器件I/O引脚数量的限制。而且,存储器和运算逻辑紧密结合,不再需要采用外部高速存储器缓冲。容量更大的FPGA和原先的器件有相同的电路板外形封装,不用改变电路板就可以提高性能。
利用当今高性能FPGA(例如,Altera的Stratix III系列FPGA)的结构和资源优势,大量的应用软件都可以采用硬件加速协处理器,大大提升性能,如表1所示。相对于只采用处理器的应用,基于FPGA的协处理器在实际应用中运算执行速度提高了10倍,速度提高100倍也是很常见的。
工具简化了定制实现
但是,如果需要很大的开发投入才能显著提升性能,其价值也是有限的。然而,FPGA支持很多成熟的开发工具。
用户利用这一完整的设计工具链,大大简化了应用软件的加速过程。工具链处理现有的代码,自动配置FPGA协处理器,显著提高了性能。而且使用这些工具时,用户不需要非常了解FPGA硬件,也不需要重新编写源代码来实现协处理。
对于第三个“P”的功耗,FPGA比处理器有明显的优势。FPGA提供大量的并行资源,在硬件中只需要几个时钟周期就可以执行完函数功能,而顺序操作的处理器则需要成百上千的时钟周期。由于只需要很少的时 钟周期,FPGA即使采用较慢的时钟,也能够提升性能。减小时钟速率可以降低功耗,因此,FPGA协处理器的功耗效率远远大干处理器(见图3)。
对于第四个“P”的价格,FPGA在这方面也解决了很多难题。FPGA协处理器的成本与性能类似的处理器相当,甚至还要低一些。结果,在标准群设计中,一个处理器和一个FPGA协处理器的成本不会高于两个处理器。FPGA协处理器还为标准群设计提供大量的选项,而成本不会增加。这些选项可在多处理器电路板设计中替代处理器,通过存储器接口与处理器连接,作为高性能外设卡插入系统(见图4)等。FPGA可以把合适的接口作为架构的一部分来实现。
AItera的产品定位
Altera的Stratix III系列FPGA适合用作HPC协处理单元,比其他FPGA有更大的优势。优势之一是它的逻辑和DSP模块比较均衡,因此,Stratix III FPGA是实现高性能函数的理想选择,例如双精度浮点等。此外,Stratix III FPGA可现场配置,系列协处理器设计能够适应用户运行的任何软件,即使用户需求变化了,也可以不断提供加速功能。
Stratix III系列FPGA的另一优势是,其行列体系结构与存储器供应商采用的结构相似。利用这一体系结构,Altera在某些半导体工艺基础上开发了高密度型号,不但有数量较多的逻辑门,而且还为实际应用提供了丰富的片内存储器资源。
Stratix III系列FPGA在其资源矩阵中有分布合理的加法逻辑和乘法器,非常适合需要大量计算的应用软件,例如矩阵乘法和双精度数学运算等。代表性的例子是IEEE标准浮点乘法,最佳性能达到了每秒480亿次运算(GFLOP)。此外,Stratix III系列FPGA还受益于Avalon布线架构,这种通用互联支持流水线结构。
Altera还和Intel、AMD等主要的处理器供应商密切合作,为他们的处理器系列提供高性能、低延迟接口。例如,Altera和Intel合作,为FPGA和Intel处理器的互联开发了前端总线(FSB)。与常用的北桥(NB)外设连接总线不同,FSB使FPGA在多处理器设计中起到了另一处理器的作用。因此,StratixIII系列FPGA可以在标准群设计中配置为置入式处理器,不用改动硬件,在多处理器电路板上实现硬件加速。Altera和AMD合作,开发了HyperTransport接口,在AMD设计中,提供类似的置入式替代方案。
强大的开发工具
除了与半导体供应商合作,Altera还在设计工具领域与其他供应商密切合作。保证为Altera器件开发专用协处理器提供丰富的工具。例如,公司与工具开发商Impulse联合开发Impulse C,该设计工具编译C代码应用程序,在FPGA逻辑中加速实现。因此,开发人员能够针对自己的应用代码迅速开发协处理器。利用Altera工具的兼容性,在原型设计中开发人员可节省数星期的开发时间。
Altera还和产品开发商合作,确保采用Stratix III系列FPGA开发同类最佳的设计。例如,Xtreme数据公司开发的置入式模块可以替代母板上的AMD Opteron处理器,而且不需要改变电路板设计。用户可以根据多处理器设计需要,合理地结合使用Opteron处理器和FPGA协处理器。
另一供应商SRC公司与Altera开发了MAP系列协处理器产品。这些模块通过存储器总线接口与AMD或者Intel处理器连接,数据带宽高达14GB/秒。SRC还提供Carte工具链,转换C语言或者FORTRAN程序,可在FPGA协处理器上更快地运行。
结语
Xtreme数据公司和SRC公司的协处理器代表了HPC今后的发展方向。在处理器还不能满足要求的时候,应用软件加速所带来的竞争优势使用户能够不断提高软件性能。基于Stratix III系列FPGA的协处理器提供了硬件加速需要的高速、低延迟接口,而Altera合作伙伴提供的工具链和其他支持大大简化了HPC用户定制功能的加速开发。现在,这些工具和产品已经是成熟的高性能商用解决方案,Altera与其他供应商的合作,保证了这些产品和工具能够持续满足今后HPC的发展需求。
目前应用软件的需求已经远远超出了传统处理器的能力所及。一种解决方法是通过硬件加速,采用专用协处理器来提升处理性能。FPGA作为协处理器设计的基础,在价格、性能、易用性以及功耗方面有明显的优势。
微处理器有近40年的历史,在这期间内它的性能得到了大幅提高,根据摩尔定律每18个月翻倍。处理器在每一轮性能增长过程中,都能支持更复杂和要求更高的应用软件,使用户对未来处理器的性能有更高的期望。在过去几年中情况发生了变化,处理器本身无法满足高性能计算(HPC)应用软件的性能需求,导致需求和性能之间出现了缺口
应用软件的需求促进性能的提高
新的应用软件在性能达到要求后,很快得到广泛应用。在处理性能达到一定水平后,超声、计算机辅助断层扫描(CAT)、磁共振成像(MRI)等医疗成像应用需要更高的图像分辨率。科学计算和建模也同样出现类似的情况,使用的模型越来越复杂。
与此同时用户还希望加快应用软件的运行速度,尽快得出结果,他们不能忍受较慢的响应,这对应用软件提出了新的性能标准。而另一方面,计算速度带来的竞争优势也促使提高目前的处理能力。
虽然对性能需求的增长已经超越了摩尔定律,处理器的发展却徘徊不前。过去40年中处理器性能的提高主要受益于半导体技术,但是这种技术的改进达到了极限。电路越来越复杂,每一个设计的开发成本高达数百万美元,数十亿美元才能形成新产品投产能力。时钟速率的提高导致器件功耗增大,现在已经到了不能迅速散热的地步。
提高处理器性能并不是解决应用需求的唯一方法。采用专用处理器来扩展处理器一直是解决性能瓶颈可靠的途径。这类协处理器可以结合使用调制解调器和以太网控制器等专用I/O处理功能,使用图层着色引擎提高显示能力,采用加密引擎来保证安全性。还出现了更通用的协处理器,例如处理乘法
和除法的数学加速器。数字信号处理器作为一种协处理器,采用了内置数学硬件以及具有流水线和并行运作的新体系结构,能够处理复杂的数学运算。然而,这些专用结构还不足以填补目前的技术缺口,只是解决了一小部分问题。而且,在设计中还要避免采用软件实现某些功能,例如数字信号处理器等,因为这和主处理器一样,在灵活性上受到限制。
专用协处理器
当今理想的协处理器应该具备三种基本能力。第一是能够提供专门的硬件加速,实现各种应用所需的关键处理功能。其次是协处理器设计在性能上非常灵活,使用流水线和并行结构,跟上性能的需求变化。最后,协处理器能够为主处理器和系统存储器提供宽带、低延迟接口。
除了硬件要求以外,理想的协处理器还应该满足HPC市场的“4P”要求:性能(performance)、效能(productivity)、功耗(power)和价格(price)。HPC市场对性能的最低要求是全面加速实现算法,而不仅仅是某一步骤,并能够加速实现整个应用软件。效能需求来自最终用户,协处理器必须安装起来很方便,提供简单的方法来配置系统,加速实现现有的应用软件。
HPC市场的功耗需求来自计算系统安装和使用上的功耗限制。低功耗协处理器能够为计算系统提供更低的成本,还提高了计算系统的空间利用率。
价格因素在HPC市场上显得越来越重要。十几年前,某些应用软件对性能的需求超出了单个处理器能力范围,这促使人们采用专用体系结构,例如密集并行处理(MPP)、对称多处理(SMP)和单指令多数据(SIMD)等(见图2)。然而,这类系统要求使用定制处理器单元和专用数据通路,开发和编程都非常昂贵。
现在的HPC市场抛弃了这种昂贵的方法,采用性价比更高的集群计算方法。集群计算采用商用标准体系结构,例如Intel和AMD采用工业标准互联,例如千兆以太网和InfiniBand;采用标准程序语言,例如运行在低成本Linux操作系统上的C语言等。当今的协处理器设计必须能够平滑集成到商用集群计算环境中,而成本大致与在集群中加入另一个节点相当。
在这些市场条件下,设计协处理器来提供专用硬件加速功能是很大的挑战。过去,开发人员针对一些常见的应用,例如图像和以太网控制器等,设计不同的协处理器来满足这些应用需求。然而,出于开发时间和成本考虑,并不能采用这一方法,因为对于大部分应用的回报太低,用户不愿意等待太长的时间。而且各种各样的应用软件需要进行加速,平滑集成到现有计算集群中,而传统的方法在成本上做不到这一点。
理想FPGA功能的实现
采用替代方案可以针对每一应用需求设计不同的协处理器,同样的半导体技术既能把处理器的性能发挥到极限,也能使FPGA从简单的胶合逻辑控制器发展到性能很高的可编程架构。FPGA完全能够满HPC市场的“4P”需求。
当今的FPGA有很大的性能潜力。它们支持深度可变的流水线结构,提供大量的并行计算资源,一个时钟周期内就可以完成非常复杂的功能。FPGA的可编程能力保证了这种器件能够满足应用软件的特殊需求,不存在设计定制协处理器的成本或者延迟问题。FPGA是可再编程的,它可以在一个芯片中为多种应用提供非常灵活的定制协处理功能。
FPGA的内置存储器也有很大的性能优势。例如,片内存储器意味着协处理器逻辑的存储器访问带宽不会受到器件I/O引脚数量的限制。而且,存储器和运算逻辑紧密结合,不再需要采用外部高速存储器缓冲。容量更大的FPGA和原先的器件有相同的电路板外形封装,不用改变电路板就可以提高性能。
利用当今高性能FPGA(例如,Altera的Stratix III系列FPGA)的结构和资源优势,大量的应用软件都可以采用硬件加速协处理器,大大提升性能,如表1所示。相对于只采用处理器的应用,基于FPGA的协处理器在实际应用中运算执行速度提高了10倍,速度提高100倍也是很常见的。
工具简化了定制实现
但是,如果需要很大的开发投入才能显著提升性能,其价值也是有限的。然而,FPGA支持很多成熟的开发工具。
用户利用这一完整的设计工具链,大大简化了应用软件的加速过程。工具链处理现有的代码,自动配置FPGA协处理器,显著提高了性能。而且使用这些工具时,用户不需要非常了解FPGA硬件,也不需要重新编写源代码来实现协处理。
对于第三个“P”的功耗,FPGA比处理器有明显的优势。FPGA提供大量的并行资源,在硬件中只需要几个时钟周期就可以执行完函数功能,而顺序操作的处理器则需要成百上千的时钟周期。由于只需要很少的时 钟周期,FPGA即使采用较慢的时钟,也能够提升性能。减小时钟速率可以降低功耗,因此,FPGA协处理器的功耗效率远远大干处理器(见图3)。
对于第四个“P”的价格,FPGA在这方面也解决了很多难题。FPGA协处理器的成本与性能类似的处理器相当,甚至还要低一些。结果,在标准群设计中,一个处理器和一个FPGA协处理器的成本不会高于两个处理器。FPGA协处理器还为标准群设计提供大量的选项,而成本不会增加。这些选项可在多处理器电路板设计中替代处理器,通过存储器接口与处理器连接,作为高性能外设卡插入系统(见图4)等。FPGA可以把合适的接口作为架构的一部分来实现。
AItera的产品定位
Altera的Stratix III系列FPGA适合用作HPC协处理单元,比其他FPGA有更大的优势。优势之一是它的逻辑和DSP模块比较均衡,因此,Stratix III FPGA是实现高性能函数的理想选择,例如双精度浮点等。此外,Stratix III FPGA可现场配置,系列协处理器设计能够适应用户运行的任何软件,即使用户需求变化了,也可以不断提供加速功能。
Stratix III系列FPGA的另一优势是,其行列体系结构与存储器供应商采用的结构相似。利用这一体系结构,Altera在某些半导体工艺基础上开发了高密度型号,不但有数量较多的逻辑门,而且还为实际应用提供了丰富的片内存储器资源。
Stratix III系列FPGA在其资源矩阵中有分布合理的加法逻辑和乘法器,非常适合需要大量计算的应用软件,例如矩阵乘法和双精度数学运算等。代表性的例子是IEEE标准浮点乘法,最佳性能达到了每秒480亿次运算(GFLOP)。此外,Stratix III系列FPGA还受益于Avalon布线架构,这种通用互联支持流水线结构。
Altera还和Intel、AMD等主要的处理器供应商密切合作,为他们的处理器系列提供高性能、低延迟接口。例如,Altera和Intel合作,为FPGA和Intel处理器的互联开发了前端总线(FSB)。与常用的北桥(NB)外设连接总线不同,FSB使FPGA在多处理器设计中起到了另一处理器的作用。因此,StratixIII系列FPGA可以在标准群设计中配置为置入式处理器,不用改动硬件,在多处理器电路板上实现硬件加速。Altera和AMD合作,开发了HyperTransport接口,在AMD设计中,提供类似的置入式替代方案。
强大的开发工具
除了与半导体供应商合作,Altera还在设计工具领域与其他供应商密切合作。保证为Altera器件开发专用协处理器提供丰富的工具。例如,公司与工具开发商Impulse联合开发Impulse C,该设计工具编译C代码应用程序,在FPGA逻辑中加速实现。因此,开发人员能够针对自己的应用代码迅速开发协处理器。利用Altera工具的兼容性,在原型设计中开发人员可节省数星期的开发时间。
Altera还和产品开发商合作,确保采用Stratix III系列FPGA开发同类最佳的设计。例如,Xtreme数据公司开发的置入式模块可以替代母板上的AMD Opteron处理器,而且不需要改变电路板设计。用户可以根据多处理器设计需要,合理地结合使用Opteron处理器和FPGA协处理器。
另一供应商SRC公司与Altera开发了MAP系列协处理器产品。这些模块通过存储器总线接口与AMD或者Intel处理器连接,数据带宽高达14GB/秒。SRC还提供Carte工具链,转换C语言或者FORTRAN程序,可在FPGA协处理器上更快地运行。
结语
Xtreme数据公司和SRC公司的协处理器代表了HPC今后的发展方向。在处理器还不能满足要求的时候,应用软件加速所带来的竞争优势使用户能够不断提高软件性能。基于Stratix III系列FPGA的协处理器提供了硬件加速需要的高速、低延迟接口,而Altera合作伙伴提供的工具链和其他支持大大简化了HPC用户定制功能的加速开发。现在,这些工具和产品已经是成熟的高性能商用解决方案,Altera与其他供应商的合作,保证了这些产品和工具能够持续满足今后HPC的发展需求。