首页 理论教育 多核异构并行计算的技术实现

多核异构并行计算的技术实现

时间:2023-06-24 理论教育 版权反馈
【摘要】:在HPC异构并行计算架构应用技术中,通常有通用架构并行和专用架构并行。通用架构并行分为同构多核并行和异构众核并行;专用架构并行主要指CPU+FPGA异构协同计算。可见,异构计算技术是一种使计算任务的并行性类型与机器能有效支持的计算类型最匹配、最能充分利用各种计算资源的并行和分布计算技术。并行性检测不是异构计算特有的,同构计算也需要经历这一阶段,可用并行和分布计算中的常规方法加以处理。

多核异构并行计算的技术实现

嵌入式多核处理器的结构包括同构(Symmetric)和异构(Asymmetric)两种。同构是指内部核的结构是相同的,这种结构目前广泛应用于PC多核处理器;异构是指内部核的结构是不同的,这种结构常常在嵌入式领域使用,常见的是通用嵌入式处理器+DSP核心。

异构并行计算的本质是把任务分发给不同架构的硬件计算单元(如CPU、GPU、FPGA等),把业务中不同类型的任务分给不同的计算资源执行,让它们各司其职,同步工作。

软件的角度讲,异构并行计算框架是让软件开发者高效地开发异构并行的程序,充分使用计算平台资源。从硬件角度讲,一方面,多种不同类型的计算单元通过更多时钟频率和内核数量提高计算能力;另一方面,各种计算单元通过技术优化(如GPU从底层架构支持通用计算,通过分支预测、原子预算动态并行、统一寻址、NIC直接访问显存等能力)提高执行效率

异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。常见的计算单元类型包括CPU、GPU等协处理器、DSP、ASIC、FPGA等。一个异构计算平台往往包含使用不同指令集架构的处理器。

在HPC异构并行计算架构应用技术中,通常有通用架构并行和专用架构并行。通用架构并行分为同构多核并行和异构众核并行(CPU+GPU异构协同计算和CPU+MIC异构协同计算);专用架构并行主要指CPU+FPGA异构协同计算。

从更广义的角度讲,不同计算平台的各个层次上都存在异构现象,除硬件层的指令集、互联、内存层次之外,软件层中应用二进制接口、API、语言特性底层实现等的不同,对于上层应用和服务而言,都是异构的。异构并行计算框架有个非常重要的特征,即能够帮助开发者屏蔽底层硬件差异,能让软件平台自适应未来硬件的演进。概括来说,理想的异构计算具有如下要素:

(1)它所使用的计算资源具有多种类型的计算能力,如SIMD、MIMD、向量、标量、专用等。其中芯片硬件定义了单指令单数据(SISD)、单指令多数据(SIMD)、多指令单数据(MISD)和多指令多数据(MIMD)4个并行级别。此外,MIMD还分单程序多数据(SPMD)和多程序多数据(MPMD)。

(2)它需要识别计算任务中各子任务的并行性需求类型。(www.xing528.com)

(3)它需要使具有不同计算类型的计算资源能够相互协调运行。

(4)它既要开发应用问题中的并行性,更要开发应用问题中的异构性,即追求计算资源所具有的计算类型与它所执行的任务(或子任务)类型之间的匹配性。

(5)它追求的最终目标是使计算任务的执行具有最短时间。

可见,异构计算技术是一种使计算任务的并行性类型与机器能有效支持的计算类型最匹配、最能充分利用各种计算资源的并行和分布计算技术。异构计算处理过程本质上可分为3个阶段:

(1)并行性检测阶段。并行性检测不是异构计算特有的,同构计算也需要经历这一阶段,可用并行和分布计算中的常规方法加以处理。

(2)并行性特征析取阶段。并行性特征析取阶段是异构计算特有的,这一阶段的主要工作是估计应用中每个任务的计算类型参数,包括映射及对任务间通信代价的考虑。

(3)任务映射和调度阶段,也称为资源分配阶段。主要确定每个任务或子任务应该映射到哪台机器上执行以及何时开始执行。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈