一种面向高性能计算的多FPGA互联结构及划分方法
边缘计算技术的FPGA加速应用与算法优化方法以及边缘推理加速方法

边缘计算技术的FPGA加速应用与算法优化方法以及边缘推理加速方法随着物联网、人工智能等技术的迅猛发展,边缘计算作为一种新型的计算模式逐渐受到广大研究者和企业的关注。
边缘计算通过将数据传输和处理操作推向网络的边缘,在提供低延迟、高带宽的同时,减少了数据在云端传输和处理的压力。
而边缘计算中的FPGA加速应用与算法优化方法以及边缘推理加速方法则是边缘计算技术中的关键环节,本文将对这两个方面进行探讨。
通过将FPGA(Field Programmable Gate Array,现场可编程门阵列)与边缘计算技术相结合,可以实现低延迟、高性能的计算和数据处理。
FPGA作为一种可重构的硬件平台,能够根据不同的应用需求重新配置其硬件结构,因此在边缘计算中具有极大的潜力。
FPGA加速应用通常涉及将计算任务和数据处理任务转移到FPGA上进行加速处理,以提高计算效率和性能。
同时,算法优化方法也是提升FPGA加速应用性能的关键环节。
算法优化在FPGA加速应用中起着至关重要的作用。
通常情况下,边缘计算环境中的算法需要进行拆分和重组,以适应FPGA的硬件结构。
由于FPGA的可编程性和并行计算能力,可以将不同的计算任务分配给不同的硬件资源,从而实现更高效的计算。
算法优化方法可以包括并行化和流水线化技术的应用,以及适应FPGA硬件特性的算法设计。
例如,通过合理设计数据流和控制流,充分利用并行计算单元,可以提高FPGA加速应用的性能。
在算法优化过程中,开发者还可以结合领域特定语言(Domain-Specific Language,DSL)的使用,进一步简化开发流程,并提高应用的可维护性和可移植性。
除了FPGA加速应用的算法优化方法外,边缘计算中的推理加速方法也是一个关键问题。
推理加速是指将深度学习模型中的推理过程进行加速,以降低计算时间和能耗。
在边缘计算环境中,推理加速方法需要考虑资源限制和计算效率的平衡。
一种常用的推理加速方法是将深度学习模型进行剪枝和量化。
可重构计算(Reconfigurable Computing)

发展趋势
…
…
系统互连的趋势
交换式结构代替总线式 高速串行点对点连接代替并行总线 基于包交换的协议代替独立控制信号 异步协议代替同步协议 传统意义上的互联走向通信模式? 为可重构互连带来了机会? 模块化 异步性
“拆”和“聚”
光互连让“拆”成为了可能: 长距离传输,带宽 可重构计算为“聚”提供了支持: 编制新的应用程序时,可直接调用共享内存或消息 传递算法模块,利用已有成果,加速程序的开发。一个应 用程序可能包括对三类结构库函数的并行调用。例如程序 员开发通过投票方式确定基因比对结果的程序(一组数据 调用三组函数库独立处理,结果比对,2:1为执行完), 机器将自动调整为三部分(SMP、MPP、Cluster),并行 执行三个独立的程序,数据可以共享!
DSAG:光互连-“拆”;RC-“聚”,聚的过程需要重构 研究RC体系结构理论和方法对DSAG理论的指导 研究如何利用现有的RC技术和产品构建DSAG
RC的研究主题
体系结构 逻辑,连接 软件技术 描述,编译,开发环境 快速可重构技术 实时性,更高的动态性 应用 ASIC(小雨点卡),design/verification(龙芯),DSAG (?)
可重构计算(Reconfigurable Computing)
李磊 eniac@ 智能中心HPC-OG组 2003-10-22
内容
RC:what&why RC的体系结构 RC的研究项目 RC与DSAG
RC:What & Why
可重构计算:Reconfigurable Computing, RC FPGA-based RC 历史:50年代,80年代 目标:"the performance of hardware with the flexibility of software." ASIC-专用,processor-通用 性能-成本 我们的目的
异构格里芬四词条-解释说明

异构格里芬四词条-概述说明以及解释1.引言1.1 概述概述异构格里芬四词条是一篇探讨异构计算和格里芬的关系、优势以及应用领域的长文。
异构计算是指利用不同类型的处理器或计算单元来完成计算任务的一种计算模式,而格里芬是一种用于高性能计算的编程模型和框架。
本文旨在介绍异构格里芬的基本原理和原则,深入探讨其在科学研究、工程技术和商业应用等领域的应用情况,并展望其未来的发展潜力。
在本文的正文部分中,我们首先将阐述异构计算的概念及其背后的原理。
异构计算通过同时使用不同类型的处理器,如CPU、GPU和FPGA 等,来实现更高效的计算。
其中,GPU作为一种高度并行的处理器,具有强大的计算能力,已经成为异构计算中的重要角色。
接着,我们将介绍格里芬作为一种特定的编程模型和框架,如何与异构计算结合,从而实现高效的数据并行计算。
接下来,我们将详细探讨异构格里芬的优势所在。
异构格里芬的核心思想是通过将任务细化为多个子任务,并将这些子任务分配到合适的处理器上并行执行,从而实现更高的计算效率和性能。
相比传统的单一处理器计算模式,异构格里芬能够充分利用不同处理器的特点和优势,提高计算速度和能效,并在科学研究、工程技术和商业应用等领域发挥重要作用。
此外,本文还将探讨异构格里芬在不同应用领域的具体应用实例。
我们将介绍异构格里芬在天文学、物理学、医学、人工智能等领域中的应用案例,并分析其在这些领域中取得的成果和效果。
这些实例将进一步展示异构格里芬在各个领域中的广泛应用和巨大潜力。
在结论部分,我们将对异构格里芬的重要性进行总结。
异构格里芬作为一种高效的计算模式,已经成为科学研究和工程技术领域的重要工具。
同时,我们也将展望异构格里芬未来的发展潜力,并指出应该进一步研究和探索的方向。
结论的重要性在于对整个文章的核心观点和论证进行总结和强调,同时也为未来的研究提供了一定的指导。
综上所述,本文将介绍异构格里芬的概念、原理和优势,探讨其在不同应用领域的应用实例,并为进一步研究提供了方向。
《详解FPGA:人工智能时代的驱动引擎》札记

《详解FPGA:人工智能时代的驱动引擎》阅读随笔目录一、FPGA简介 (2)1.1 FPGA的定义与特点 (3)1.2 FPGA的发展历程 (4)1.3 FPGA的应用领域 (5)二、FPGA的工作原理 (7)2.1 FPGA的基本架构 (8)2.2 FPGA的工作模式 (10)2.3 FPGA的编程语言 (11)三、FPGA在人工智能领域的应用 (12)3.1 机器学习与深度学习 (14)3.2 自动驾驶与机器人技术 (15)3.3 无人机与智能物流 (17)3.4 医疗诊断与生物信息学 (18)3.5 其他领域的FPGA应用 (20)四、FPGA的设计与优化 (22)4.1 FPGA设计流程 (23)4.2 硬件描述语言 (25)4.3 设计优化策略 (26)4.4 性能评估与测试 (28)五、FPGA的未来发展趋势 (29)5.1 技术创新与突破 (30)5.2 行业合作与生态系统建设 (32)5.3 应对挑战与机遇 (33)六、结论 (35)6.1 FPGA在人工智能时代的重要性 (36)6.2 未来展望与期许 (37)一、FPGA简介FPGA(现场可编程门阵列)是一种集成电路芯片,它允许设计师在硬件层面上实现可编程的解决方案。
与传统的专用硬件电路相比,FPGA具有更高的灵活性和可扩展性,因此在人工智能、数据中心、通信等领域得到了广泛应用。
FPGA的核心特点是可编程性。
它可以根据需要动态地重新配置内部逻辑单元,从而实现各种功能。
这种可编程性使得FPGA在应对不断变化的应用需求时具有很高的效率。
FPGA还具备低功耗、高性能、高可靠性等优点。
FPGA的发展历程可以追溯到20世纪80年代,当时Xilinx公司推出了世界上第一款商用FPGA产品。
随着技术的不断发展,FPGA的性能不断提高,功能也越来越丰富。
FPGA已经发展到了第四代,即UltraScale系列,其最大容量可达140亿个逻辑单元,支持多种编程语言和开发工具,为人工智能时代的应用提供了强大的支持。
异构计算体系结构分析和关键技术研究

异构计算体系结构分析和关键技术研究摘要:随着人工智能和大数据等计算机应用对算力需求的迅猛增长以及应用场景的多样化,通用处理器+协处理器的异构混合计算逐渐成为研究重点。
文中介绍了当前主要的异构计算机体系结构,包括CPU+协处理器、CPU+众核处理器、CPU+ASIC、CPU+FPGA等;简述了异构计算中的关键技术,包括异构处理器之间的并行任务划分、任务映射、数据通信、数据访问,以及异构协同的并行同步和异构资源的流水线并行等;分析了异构计算面临的挑战,指出目前关键的核心技术需要从通用与AI专用异构计算的融合、异构架构的无缝移植、统一编程模型、存算一体化、智能化任务划分和分配等方面进行突破。
趋势表明,异构计算架构会进一步加强对AI的支持,同时也会增强软件的通用性。
关键词:异构计算;并行计算;并行编程;混合编程引言随着人工智能和大数据迅速发展,计算机的算力需求也急剧增加,传统的CPU难以适应需求的增长,异构计算能够提供更强大的算力。
例如用于通用计算的图形加速处理器,拥有几百甚至上千个核心,因此也被称为众核处理器,由于拥有大量的计算核心,其并行计算能力迅速得到提升,与CPU共同构成的异构计算系统比传统的对称处理器系统更有性能优势。
但是CPU与协处理器的指令系统不同,因此需要根据指令系统的差异对源码进行修改,将其编译成不同的程序分配到异构处理器上执行,同时也增加了程序编写、任务分配和数据通信的复杂性。
随着计算的应用场景的多样化,云计算、边缘计算以及各种智能设备接入物联网,使得计算面临的硬件和网络结构日趋多样,促进了处理器的多元化发展。
本文从分析异构计算机体系结构、异构处理器以及异构混合编程等的发展现状入手,对异构计算面临的主要挑战和关键技术进行分析,根据行业研究成果和发展趋势提出未来可能的研究方向。
1异构计算机体系结构1.1 CPU的协处理器CPU的协处理器是一种芯片,用于承担系统微处理器的特定处理任务。
一个协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能。
基于FPGA的神经网络硬件实现

基于FPGA的神经网络硬件实现随着和深度学习领域的快速发展,神经网络的规模和复杂性不断增加,对计算能力和效率的要求也越来越高。
传统的基于CPU和GPU的实现方式虽然可以实现大规模神经网络的训练和推理,但是存在着计算资源利用率低、功耗高等问题。
FPGA作为一种可编程逻辑器件,具有高度的灵活性和并行计算能力,可以被用来实现神经网络硬件加速器。
本文将介绍基于FPGA的神经网络硬件实现的相关技术和应用。
FPGA(Field Programmable Gate Array)是一种可以通过编程来配置其硬件资源的集成电路。
它由大量的可编程逻辑块和可编程互连资源组成,可以用来实现各种数字电路和算法。
与传统的ASIC和GPU相比,FPGA具有以下优点:可编程性:FPGA可以通过编程来配置其硬件资源,实现不同的算法和电路。
并行计算:FPGA由大量的可编程逻辑块和可编程互连资源组成,可以实现并行计算。
灵活性:FPGA不仅可以用来实现数字电路和算法,还可以用来实现模拟电路和信号处理算法。
低功耗:FPGA的功耗比CPU和GPU低得多,可以提高设备的续航能力和可靠性。
基于FPGA的神经网络硬件实现主要可以分为以下几个步骤:算法设计:根据实际应用需求,设计和实现神经网络模型,确定网络结构和参数。
数据流图设计:将神经网络模型转化为硬件可实现的数据流图,确定每个计算单元的计算方式和数据传输方式。
硬件描述语言编程:使用硬件描述语言(如Verilog或VHDL)编写程序,将数据流图转化为硬件电路。
硬件仿真与验证:使用仿真工具对硬件电路进行仿真测试,验证其正确性和性能是否达到预期。
硬件实现:将硬件电路加载到FPGA上,进行实际测试和性能优化。
基于FPGA的神经网络硬件加速器可以广泛应用于各种领域,如图像处理、语音识别、自然语言处理等。
以下是一个图像处理领域的应用案例:神经网络模型:YOLO(You Only Look Once)算法数据流图设计:将YOLO算法的卷积层、激活层和全连接层等计算单元转化为硬件可实现的数据流图。
边缘计算技术的FPGA加速应用与算法优化方法以及边缘推理加速方法
边缘计算技术的FPGA加速应用与算法优化方法以及边缘推理加速方法随着物联网和人工智能的快速发展,边缘计算作为一种新兴的计算模式,逐渐受到广泛关注。
边缘计算将计算资源放置在接近数据源的边缘设备上,可以大大降低延迟和网络负载,并提供更高效的数据处理能力。
在边缘计算中,FPGA(现场可编程门阵列)作为一种硬件加速器,具有强大的并行计算能力和灵活的可重构性,在加速边缘计算应用中发挥着重要作用。
首先,FPGA可以通过并行计算和硬件加速来提高边缘计算应用的性能。
由于其可编程性和可并行性,FPGA可以自定义硬件加速器,根据应用的需求进行优化。
比如,在图像处理应用中,FPGA可以实现并行的图像滤波和特征提取算法,从而大幅提高处理速度。
在视频分析领域,FPGA可以用于加速视频解码、物体检测和跟踪等复杂的算法,实现实时高效的视频分析。
其次,对于边缘计算应用中的算法优化,FPGA提供了灵活的硬件资源和设计自由度。
根据应用的特点和要求,可以使用高层次综合工具将算法转化为硬件描述语言,在FPGA上进行加速计算。
与传统的软件实现相比,FPGA可以通过并行计算和专用硬件加速来提高性能。
此外,FPGA还可以实现低功耗和高能效的优化,满足边缘设备对能源消耗的要求。
然而,FPGA的设计和优化并非易事,需要考虑多种方面。
首先是算法与架构的匹配。
在选择算法时,需要根据硬件资源、时钟频率和功耗等要素进行权衡。
合理的算法选择可以最大限度地利用FPGA的并行性和硬件资源,提高加速性能。
其次是对FPGA的优化设计。
例如,通过设计有效的存储器层次结构、数据重用、流水线和并行处理单元等技术,可以减少时钟周期和延迟,提高计算性能。
此外,合理的布局和布线技术可以减少信号传输的延迟和功耗,提高整体性能。
除了FPGA加速应用外,边缘推理加速也是边缘计算的重要应用场景之一。
随着深度学习的广泛应用,各类数据和模型在边缘设备上的推理需求越来越大。
然而,大规模的深度学习模型和复杂的推理算法对计算资源的要求较高。
基于FPGA的高性能计算加速器设计与实现
基于FPGA的高性能计算加速器设计与实现高性能计算在当今科学研究和工程领域中扮演着重要的角色。
为了满足对计算速度和效率的需求,许多研究人员和工程师开始探索新的计算加速方法。
其中,基于FPGA的高性能计算加速器设计与实现成为一种备受关注的方法。
FPGA(可编程逻辑门阵列)是一种可编程的硬件设备,能够用于构建各种数字电路。
它相比其他硬件设计方法具有更高的灵活性和适应性,使得它成为设计计算加速器的理想选择。
基于FPGA的高性能计算加速器设计与实现的关键在于将计算任务映射到FPGA的可编程逻辑中,并通过并行和硬件优化来提高计算性能。
下面将介绍几个关键方面,使你对这一领域有更深入的了解。
首先,设计和实现一个基于FPGA的高性能计算加速器需要一个合适的硬件架构。
这个架构应该被精心设计,以适应特定的计算任务。
一个合理的硬件架构可以通过并行计算单元、高带宽内存接口和高速数据传输通道来提高计算速度。
其次,为了实现高性能的计算加速,优化算法和数据结构是非常重要的。
通过合理选择和设计算法,可以提高计算效率和性能。
此外,通过优化数据结构的存储和访问方式,可以减少数据传输和存取的开销,进一步提高计算速度。
同时,要注意到FPGA和CPU之间的数据传输延迟问题。
由于FPGA与CPU 通常通过PCIe等总线进行通信,数据传输往往会成为整体计算性能的瓶颈。
一种解决方法是使用流水线或者数据并行的方式来降低数据传输的延迟。
此外,对于大规模计算任务,使用多个FPGA协同工作也是一种有效的方法。
通过将计算任务划分成多个子任务,并使用多个FPGA并行进行计算,可以进一步提高计算速度和性能。
最后,为了实现基于FPGA的高性能计算加速器的设计和实现,软件开发和硬件描述语言编程(HDL)技术是必须的。
通过使用HDL(如Verilog或VHDL)编写硬件描述代码,可以描述FPGA的架构和功能。
然后,通过软件开发工具(如Xilinx或Altera提供的开发工具)将硬件描述代码编译成可在FPGA上运行的二进制代码。
一种基于并行计算的高性能计算框架研究
一种基于并行计算的高性能计算框架研究随着科技的不断发展,计算机在我们生活、科技、经济、军事等方面的应用越来越广泛,计算机性能的提升成为了不可避免的趋势。
然而,由于计算机的计算能力、内存、硬件等存在硬性限制,只有通过不断优化和提高算法、数据结构以及计算模型来提升计算机的性能。
基于并行计算的高性能计算框架就应运而生了。
一、什么是分布式计算?分布式计算简单来说就是将任务分解成多个子任务,每个子任务由一个或多个计算节点并行执行,最终将结果集成成最终结果的计算方法。
巨大的计算量需要支持高度并行, 所以挑战在于如何合理地拆分任务并组织计算,具体的工作可以有以下几步:1.任务分割:将任务拆分成更小的子任务。
2.任务直接的依赖关系分析:确定在哪些任务之前或之后必须完成其它任务。
3.任务调度:找到可以运行任务的计算机节点。
4.负载均衡:平衡计算节点中的负载,确保工作平衡二、基于并行计算的高性能计算框架有哪些?1. HadoopHadoop 是一个免费的、开源的、使用 Java 编写的分布式计算框架。
它的设计目标是可扩展性,能够部署在成百上千台服务器上,处理 Petabytes 级别的数据。
Hadoop 最初由 Apache Software Foundation 开发,现已成为云计算时代的的重要分布式计算基础设施。
2. SparkSpark是一种新兴的分布式计算框架。
与 Hadoop 相比,它具有更快的数据处理速度和更好的性能。
Spark 可以运行在多个计算资源上,并且与Hadoop生态系统的其他工具很容易集成,例如管理工具、数据存储和分析工具等。
3. StormStorm是一个开源的分布式计算框架,它专门用于实时数据处理。
Storm 可以处理实时流数据,并能够在高可靠性的环境中运行。
Storm 是用于构建大规模的分布式计算、数据流处理、实时处理和分析平台的最佳工具之一。
三、并行计算在实际应用中的优势并行计算的优势是眼前的显而易见的,主要体现在以下几个方面:1.增强了计算机的计算能力。
异构计算平台的统一体系结构框架
异构计算平台的统一体系结构框架一、异构计算平台概述异构计算平台是指将不同类型的处理器或计算资源集成在一个系统中,以实现更高效的计算性能和更优的能效比。
这种平台通常包括CPU、GPU、FPGA、ASIC等多种计算单元,它们各自擅长处理不同类型的任务。
异构计算平台的发展,不仅能够推动计算技术的进步,还将对整个信息技术产业产生深远的影响。
1.1 异构计算平台的核心特性异构计算平台的核心特性主要包括以下几个方面:灵活性、并行性、能效比和可扩展性。
灵活性是指平台能够根据不同的计算任务需求,动态调整资源分配。
并行性是指平台能够同时执行多个任务,提高计算效率。
能效比是指在完成相同计算任务的情况下,平台消耗的能量更少。
可扩展性是指平台可以根据需求增加更多的计算资源。
1.2 异构计算平台的应用场景异构计算平台的应用场景非常广泛,包括但不限于以下几个方面:- 大数据处理:处理大规模数据集,进行数据挖掘和分析。
- :支持深度学习、机器学习等算法的计算需求。
- 科学计算:进行复杂的数值模拟和科学实验的计算。
- 图形渲染:提供高性能的图形处理能力,满足游戏和专业图形设计的需求。
二、异构计算平台的体系结构异构计算平台的体系结构是实现其高效运行的关键。
一个统一的体系结构框架能够确保不同计算单元之间的有效协同工作。
2.1 异构计算平台的硬件架构硬件架构是异构计算平台的基础,包括CPU、GPU、FPGA 等不同计算单元的集成方式。
这些计算单元通过高速互联技术连接,如PCIe、NVLink等,以实现快速的数据交换。
2.2 异构计算平台的软件架构软件架构是异构计算平台的大脑,负责管理和调度不同计算单元的资源。
它包括操作系统、编译器、运行时系统等,能够根据任务的特点,自动选择最合适的计算单元执行。
2.3 异构计算平台的通信机制通信机制是确保异构计算平台内部各计算单元高效协作的关键。
它涉及到数据传输、同步、任务调度等多个方面。
高效的通信机制可以减少数据传输的延迟,提高计算任务的执行效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优先出版计 算 机 应 用 研 究第32卷--------------------------------基金项目:北京市自然科学基金(4122010)作者简介:肖春华(1978-),女,博士研究生,主要研究方向为嵌入式FPGA 系统设计、基于新型互联技术的片上网络NoC 设计、高性能计算;黄樟钦(1965-),男,教授,博导,主要研究方向为嵌入式系统、系统级设计方法;李达(1978-),男,博士研究生,主要研究方向为嵌入式FPGA 系统设计、多核处理器系统.一种面向高性能计算的多FPGA 互联结构及划分方法 *肖春华,黄樟钦,李达(北京工业大学 嵌入式软件与系统研究所 北京 100022)摘 要:针对高性能计算系统在大规模通信互联中面临的性能、成本及功耗等问题,融合新兴的高速互联技术,结合大规模超大规模系统通信的局部性和异构性,提出基于多FPGA 的混合层级高速互联结构,并给出基于集群的多FPGA 逻辑功能划分方法。
该方法能够根据不同应用自定义设计高效互联网络,降低大规模计算系统的互联成本和开销。
通过应用实施例实验证明,该方法能够实现大规模设计向多FPGA 高性能计算平台的快速映射,加速高性能可配置计算系统的设计实现。
关键词:高性能计算;多FPGA 系统;逻辑资源划分;高性能互联; 中图分类号:TN47 文献标志码:AHierarchical routing architecture and partitioning approach for multiple FPGAsoriented to high performance computingXIAO Chun-hua, HUANG Zhang-qin, LI Da(Beijing University of Technology, Embedded Software & System Institution, Beijing 100022)Abstract: To target the problems of performance, cost and energy consumption in large scale communications of high performance computing, a hierarchical routing architecture and partitioning approach for multiple FPGAs is proposed. This method compromises the merits of emerging high performance interconnects, and exploits the local and hierarchical properties of future large scale communications. The customized interconnect topology can be designed according to different applications through the proposed approach, which can help to reduce the interconnect cost while keep the high performance. This approach can implement the fast mapping from the design to the real high performance computing system with multi-FPGAs, and accelerate the realization of high performance reconfigurable computing systems.Key Words: high performance computing; multi-FPGA architecture; high performance interconnects0 引言高性能计算一般面向大规模计算领域,通常由几百个机柜,成千上万个节点构成一个庞大的具有超强能力的计算系统[1],而每个节点通常集成了多个、几十个甚至上百个处理器核心。
在这样的大规模计算系统中,某个计算单元与其他计算资源之间的通讯交互通常是非均匀的。
在系统设计时,通常采用非均匀缓存结构管理机制 (Non-uniform cache architecture ,NUCA)和 page-recoloring 等机制[2][3],将cache 单元放置在对其访问最频繁的计算单元附近。
进而通过一些cache 划分机制[4][5]来实现全局通信量最小(绝大多数通信集中在本地Cluster 内部)。
因此,国内外实现高性能计算主要采用基于集群的体系结构,在最新发布的TOP500高性能计算机中[6]采用Cluster 体系架构的高性能机比例高达80%以上(如图1所示),占据排行榜中的垄断地位。
目前各行各业对高性能计算系统的需求越来越高,不仅需要可靠的高性能计算,对计算功耗,计算模型的应用速度,软件更新和升级等方面的需求也不断提高。
计算速度带来的竞争优势也在促使高性能计算系统对新的计算需求的响应速度。
传统的高性能计算系统开发成本高达数百万甚至数百亿美元,对系统的频繁升级及维护往往耗费大量的人力物力,而且在计算系统安装和使用上的功耗已经造成了越来越高额的运转成本(计算功耗、散热维护成本)和空间成本(因为散热问题导致的计算系统的空间利用率)。
随着半导体工艺的不断进步,现场可编程逻辑门阵列FPGA 不仅能够加速大规模复杂计算,而且能够大幅降低计算功耗,以灵活的可配置性减少系统应用成本及维护成本。
近年来,已有公司及科研机构通过在高性能计算系统中集成大量的FPGA 来获得更好的性价比[14][15]。
如集成了96个高端Altera Stratix FPGA 的可重构超级计算机以及Pico Computing 公司集成的112个FPGA 的可重构超级计算机等。
但是,这些大量集成的FPGA 以什么样的拓扑结构方式进行有效互联,是高性能可重构计算系统设计中的一个重要步骤。
高网络出版时间:2014-08-27 12:21网络出版地址:/kcms/detail/51.1196.TP.20140827.1221.161.html性能计算中不同结构的并行系统一般需要有特别定制的互联网络,难以标准化、通用化,如何根据不同应用的实际需求设计高效的互联网络已经成为改善高性能计算机性能的一个关键问题[16]。
高性能计算系统内部大量节点之间的互联网络是数据流组织及通信的渠道,是HPC 效率发挥的关键。
传统的超大规模集成电路主要采用具有低阻抗、高导电率的金属线实现元件间的互联。
随着CMOS 工艺的不断发展,尤其是当半导体工艺发展到深亚微米阶段时,基于金属线物理特性的互联技术存在严重的传输延迟问题、带宽密度问题,以及功耗问题,这些问题随着通信距离的增加和集成电路规模的扩大而愈加严重。
另一方面,光互联、射频互联,高速无线互联等新兴互联技术由于优异的物理特性,能够通过低能耗的One-hop 实现长距离的数据通信,逐渐成为取代传统RC 电气互联的可能趋势[7][8][9]。
目前,HPC 机机柜之间已经普遍采用光互联,而机柜内光互联,板内,以至芯片内光互联的研究[31][32][33][34]也在广泛深入的展开,并取得了一定的研究成果。
这些新兴的互联技术能够满足高性能计算中高效能通信互联(高带宽、低时延、低功耗)的巨大需求[10],但是由于设计实现上仍存在的诸多挑战(如光电转换延迟,传输干扰,对温度的高敏感性等问题),短时间内不能完全取代传统互联方式,因此新兴互联技术和传统互联技术的混合互联架构成为了技术过渡时期灵活可行的有效实现方式。
正是由于大规模超大规模高性能计算系统所体现出的“局部性”[11][12]、“异构性”[13],以及传统高性能计算系统在性能、成本及功耗等方面的挑战,本文提出这样一种面向高性能计算的多FPGA 混合层级高速互联结构HHHS (Hybrid Hierarchical High Speed)及相应的逻辑划分方法,根据不同的应用,自定义设计高效的互联网络,实现大规模设计向多FPGA 高性能计算平台的快速映射,加速高性能可配置计算系统的设计实现。
这种混合层级结构融合了新兴高速互联技术在较长距离及大数据量通信方面的高效优势,结合应用的功能集群划分,实现集群内部本地One-hop 有线通信,集群间One-hop 高速无线通信,降低大规模计算系统的互联开销和成本。
图1 世界TOP500高性能计算机的体系结构分布错误!未找到引用源。
1 面向高性能计算的多FPGA 拓扑结构多FPGA 系统中多片FPGA 之间的连接方式称为多FPGA 系统的拓扑结构。
目前典型的多FPGA 系统互联结构包括线阵结构[17][18],MESH 网格结构[19][20][21][22],交叉互联结构[23][24][25]以及混合互联结构[26][27][27][29][30](如图2所示)。
这些互联结构基于传统的互联技术,在面向大规模超大规模计算系统时,面临严重的传输延迟问题、带宽密度问题,以及功耗问题,尤其是远距离FPGA 之间需要较大的直接互联开销或者中间路由开销,可扩展性不强。
如图3所示,本文所提出的混合层级高速互联结构HHHS 为基于集群的两级互联结构,分为本地互联网络和全局互联网络两个层次(也即,集群内部互联拓扑及集群间互联拓扑)。
集群内部互联拓扑为基于传统金属线连接的全互联结构,各FPGA 节点可直接与在同一集群内的其他FPGA 节点直接通信;全局互联网络为高速全局互联网络,采用新兴高速互联技术(如光通信,毫米波高速无线通信等)实现各集群之间的高速互联。
本地互联网络中至少有一个节点为层级传递节点(Relay Node ),实现本地通讯和全局通讯的连接。
层级传递节点FPGA 可以选择高性能FPGA ,在集成计算功能同时执行层级互联功能,也可以选择低端及小规模FPGA ,只执行层级互联功能,如当全局互联网络采用高速无线互联时,层级传递节点执行无线访问基站(wireless station )的功能,实现信息的缓存和发送接收。
本地互联网络中的通信结点和不在同一集群的另一节点通信时,将信息发送给本地的Relay Node ,本地的Relay Node 通过高速通信将信息发送到目的节点所在的集群Relay Node ,再由目的Relay Node 将信息转发给目的节点,因此集群间的通信需要3 hops 。