基于外部PCI-E连接的高性能并行计算方法技术

技术编号:10652714 阅读:202 留言:0更新日期:2014-11-19 15:08
本发明专利技术的基于外部PCI-E连接的高性能并行计算方法,包括:a)将所有计算机设备通过PCI-E总线;b)运行并行计算程序;c)构建虚拟内存寻址表;d)发送虚拟内存信息;e)接收虚拟内存信息;f)判断接收信息的正确性;g)判断虚拟内存地址是否构建完毕;h)分配计算任务;i)执行计算任务;j)取结果,并提供给用户。本发明专利技术的并行计算方法,提高了并行计算过程中处理器之间数据传输速度,通过改进并行计算算法,减少了系统CPU拷贝数据量,大大提高了并行计算运算的效率,有效的将多个并行计算资源进行连接通信,并高速传输数据。

【技术实现步骤摘要】
基于外部PCI-E连接的高性能并行计算方法
本专利技术涉及一种并行计算方法,更具体的说,尤其涉及一种基于外部PCI-E连接的高性能并行计算方法。
技术介绍
并行计算是指使用多个计算资源解决计算问题的过程,可以提高计算机系统计算速度和处理能力,一般采用多个处理器共同协作计算求解同一问题,将问题分解成多个若干部分,每个部分由单独的处理器来并行计算,多个处理器采用某种连接方式形成集群计算资源,集群计算资源完成数据处理后,将计算结果反馈给用户。目前大多数并行结算的多个处理器连接方式是采用网络连接方式进行的,即通过采用计算机网卡连接网络设备交换机,多个处理器计算资源之间形成局域网络,通过网卡与交换机作为介质进行数据传输,这样的方式,数据传输的速度依赖于网卡与交换机的性能,对于千兆网卡来说,传输速率很难达到1Gbps。因为以太网控制器会把传输内容拆成小的数据包,同时还会强制加上确认信号。这类数据传输由于增加了数据包的解析和强制中断,从而降低了传输通道的效率。并行计算系统在多个处理器之间,计算程序本机只能访问本机的内存,无法实现访问远程计算设备的内存数据,进行数据交换的方式是通过TCP连接方式进行,这种方式下,本机并行计算程序只能访问、更新当前设备内存中的计算数据和计算结果,然后计算设备之间将各自的计算数据或结果通过TCP进行数据交换,这种数据交换方式速度受限于网络传输速度,同时TCP方式接收数据时的拷贝量占用CPU的大量计算周期,普通网卡的工作过程如下:把收到的数据包缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP连接;然后,接收系统再把主动提供的TCP数据同相应的应用程序联系起来,并将数据从系统缓冲区拷贝到目标存储地址。这就造成了系统间的信息延迟以及主机CPU中不必要的频繁数据传输。
技术实现思路
本专利技术为了克服上述技术问题的缺点,提供了一种基于外部PCI-E连接的高性能并行计算方法。本专利技术的基于外部PCI-E连接的高性能并行计算方法,其特别之处在于,设参与平行计算的计算机设备的数量为t台,其编号分别为A、B、…、N,所述并行计算方法通过以下步骤来实现:a).连接计算机设备,首先在t台计算机设备的主板PCI-E扩展槽内分别插入PCI-E扩展卡,然后用PCI-EX16数据线将每台计算机设备上的PCI-E扩展卡与PCI-E交换机相连接,以使所有计算机设备通过PCI-E总线相通讯;b).运行并行计算程序,在t台计算机设备上分别运行并行计算程序,A编号、B编号、…、N编号计算机设备上并行计算程序的启动参数分别为-nt-s0、-nt-s1、…、-nt-s(t-1),其中-n后的数字为参与计算的计算机设备的数量,-s后的数字为本计算机设备所执行计算的序号;c).构建虚拟内存寻址表,每台计算机设备上的并行计算程序在本机注册构建共享虚拟内存寻址表,共享虚拟内存寻址表的大小可对t台计算机设备的内存进行寻址;每台计算机设备将自身的起始虚拟地址、内存大小和内存区域的类型值构建到寻址表中,并对虚拟内存进行编号,计算机设备在寻址表中的虚拟内存序号与其所执行计算的序号相一致;d).发送虚拟内存信息,对于每台计算机设备来说,均向其余的t-1台计算机设备发送本机上并行计算程序的启动参数、本机共享虚拟内存寻址表中的信息、虚拟内存序号;e).接收虚拟内存信息,计算机设备等待并随时接收其余的t-1台计算机设备发送的信息;f).判断接收信息的正确性,每台计算机设备接收到信息后,首先判断接收数据的正确性,如果正确,则将接收的有关共享虚拟内存寻址表中的信息构建到本机的寻址表中,形成统一虚拟内存地址,执行步骤g);如果不正确,则重新接收数据,执行步骤e);g).判断所有计算机设备的虚拟内存地址是否均已构建完毕,如果构建完毕,则执行步骤h);如果没有构建完毕,则执行步骤e);h).分配计算任务,对于待计算的任务,将其分为t等份,并按照每台计算机设备所执行计算的序号依次分配给相应的并行计算程序;i).执行计算任务,每台计算机设备上的并行计算程序接收到计算任务后,利用本计算机设备所具有的计算资源对计算任务进行处理,并将计算结果存储到统一虚拟内存地址中;j).取结果,当所有的计算机设备均完成计算后,每一台计算机设备均可从统一虚拟内存地址中取得计算结果,并将计算结果提供给用户,并行计算任务结束。步骤c)中,所述的寻址表即为共享虚拟内存寻址表;对于执行计算序号为0、1、2、…、t-1的计算机设备来说,其在内存寻址表中的虚拟内存序号也依次为0、1、2、…、t-1。步骤d)中,所述的本机共享虚拟内存寻址表中的信息,即为步骤c)中所述的起始虚拟地址、内存大小和内存区域的类型值。步骤f)中,对于所有的计算机设备来说,最终构建的统一虚拟内存地址是相同的。本专利技术的基于外部PCI-E连接的高性能并行计算方法,步骤f)中所述的判断接收数据的正确性通过以下步骤来实现:f-1).判断计算机设备的数量,判断接收的启动参数-n后的数字与本机的启动参数-n后的数字是否相等,如果相等,则执行步骤f-2);如果不相等,则认为接收的数据不正确;f-2).判断执行计算的序号,判断接收到的启动参数中-s后的数字小于等于t-1是否成立,如果成立,则执行步骤f-3);如果不成立,则认为接收的数据不正确;f-3).判断虚拟内存信息,判断接收到的虚拟内存序号是否满足“小于等于t-1、且与本计算机设备的内存不相同”,如果满足,则认为接收的数据正确;如果不满足,则认为接收的数据不正确。本专利技术的有益效果是:本专利技术的高性能并行计算方法,参与并行计算的计算机设备通过PCI-E扩展卡和PCI-E交换机相通讯,改变了以往网络连接的形式,对于PCI-E3.0可支持每传输通道单向每秒8Gb的数据传输率,对于一个16通道的PCI-EX16来说,可达到双向32Gb/s的传输速度,形成高速交换连接系统,提高了并行计算的效率。在并行计算的过程中,首先在每台计算机设备上注册构建共享虚拟内存寻址表,并通过共享的方式在每台计算机设备上形成统一虚拟内存地址;对于待计算的任务分为t等份后由每个并行计算程序同时进行计算,并将计算结果保存至统一虚拟内存地址中,以便于每台计算机设备将计算结果取出,并提供给用户。本专利技术的基于外部PCI-E连接的高性能并行计算方法,提高了并行计算过程中处理器之间数据传输速度,通过改进并行计算算法,减少了系统CPU拷贝数据量,大大提高了并行计算运算的效率,有效的将多个并行计算资源进行连接通信,并高速传输数据。附图说明图1为本专利技术的基于外部PCI-E连接的高性能并行计算系统的原理图;图2为本专利技术的高性能并行计算系统中各个计算机设备的内存示意图;图3为本专利技术的并行计算系统所形成的统一虚拟内存地址的示意图;图4为本专利技术的基于外部PCI-E连接的高性能并行计算方法的流程图。具体实施方式下面结合附图与实施例对本专利技术作进一步说明。如图1所示,给出了本专利技术的基于外部PCI-E连接的高性能并行计算系统的原理图,其包括:计算机设备A;计算机设备B;计算机设备N;PCI-E扩展卡A;CI-E扩展卡B;PCI-E扩展卡N;PCI-EX16数据连接线;PCI-E交换机。PCI-E扩展卡A、B、N分别插入计算机设备A、B、N的主板PC本文档来自技高网
...
基于外部PCI-E连接的高性能并行计算方法

【技术保护点】
一种基于外部PCI‑E连接的高性能并行计算方法,其特征在于,设参与平行计算的计算机设备的数量为t台,其编号分别为A、B、…、N,所述并行计算方法通过以下步骤来实现:a).连接计算机设备,首先在t台计算机设备的主板PCI‑E扩展槽内分别插入PCI‑E扩展卡,然后用PCI‑E X16数据线将每台计算机设备上的PCI‑E扩展卡与PCI‑E交换机相连接,以使所有计算机设备通过PCI‑E总线相通讯;b).运行并行计算程序,在t台计算机设备上分别运行并行计算程序,A编号、B编号、…、N编号计算机设备上并行计算程序的启动参数分别为‑nt‑s0、‑nt‑s1、…、‑nt‑s(t‑1),其中‑n后的数字为参与计算的计算机设备的数量,‑s后的数字为本计算机设备所执行计算的序号;c).构建虚拟内存寻址表,每台计算机设备上的并行计算程序在本机注册构建共享虚拟内存寻址表,共享虚拟内存寻址表的大小可对t台计算机设备的内存进行寻址;每台计算机设备将自身的起始虚拟地址、内存大小和内存区域的类型值构建到寻址表中,并对虚拟内存进行编号,计算机设备在寻址表中的虚拟内存序号与其所执行计算的序号相一致;d).发送虚拟内存信息,对于每台计算机设备来说,均向其余的t‑1台计算机设备发送本机上并行计算程序的启动参数、本机共享虚拟内存寻址表中的信息、虚拟内存序号;e).接收虚拟内存信息,计算机设备等待并随时接收其余的t‑1台计算机设备发送的信息;f).判断接收信息的正确性,每台计算机设备接收到信息后,首先判断接收数据的正确性,如果正确,则将接收的有关共享虚拟内存寻址表中的信息构建到本机的寻址表中,形成统一虚拟内存地址,执行步骤g);如果不正确,则重新接收数据,执行步骤e);g).判断所有计算机设备的虚拟内存地址是否均已构建完毕,如果构建完毕,则执行步骤h);如果没有构建完毕,则执行步骤e);h).分配计算任务,对于待计算的任务,将其分为t等份,并按照每台计算机设备所执行计算的序号依次分配给相应的并行计算程序;i).执行计算任务,每台计算机设备上的并行计算程序接收到计算任务后,利用本计算机设备所具有的计算资源对计算任务进行处理,并将计算结果存储到统一虚拟内存地址中;j).取结果,当所有的计算机设备均完成计算后,每一台计算机设备均可从统一虚拟内存地址中取得计算结果,并将计算结果提供给用户,并行计算任务结束。...

【技术特征摘要】
1.一种基于外部PCI-E连接的高性能并行计算方法,其特征在于,设参与平行计算的计算机设备的数量为t台,t≥2,其编号分别为A、B、…、N,所述并行计算方法通过以下步骤来实现:a).连接计算机设备,首先在t台计算机设备的主板PCI-E扩展槽内分别插入PCI-E扩展卡,然后用PCI-EX16数据线将每台计算机设备上的PCI-E扩展卡与PCI-E交换机相连接,以使所有计算机设备通过PCI-E总线相通讯;b).运行并行计算程序,在t台计算机设备上分别运行并行计算程序,A编号、B编号、…、N编号计算机设备上并行计算程序的启动参数分别为-nt-s0、-nt-s1、…、-nt-s(t-1),其中-n后的数字为参与计算的计算机设备的数量,-s后的数字为本计算机设备所执行计算的序号;c).构建虚拟内存寻址表,每台计算机设备上的并行计算程序在本机注册构建共享虚拟内存寻址表,共享虚拟内存寻址表的大小可对t台计算机设备的内存进行寻址;每台计算机设备将自身的起始虚拟地址、内存大小和内存区域的类型值构建到寻址表中,并对虚拟内存进行编号,计算机设备在寻址表中的虚拟内存序号与其所执行计算的序号相一致;d).发送虚拟内存信息,对于每台计算机设备来说,均向其余的t-1台计算机设备发送本机上并行计算程序的启动参数、本机共享虚拟内存寻址表中的信息、虚拟内存序号;e).接收虚拟内存信息,计算机设备等待并随时接收其余的t-1台计算机设备发送的信息;f).判断接收信息的正确性,每台计算机设备接收到信...

【专利技术属性】
技术研发人员:韩林况天宝
申请(专利权)人:济南曼维信息科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1