基于外部pci-e连接的高性能并行计算方法

文档序号:6623077阅读:386来源:国知局
基于外部pci-e连接的高性能并行计算方法
【专利摘要】本发明的基于外部PCI-E连接的高性能并行计算方法,包括:a)将所有计算机设备通过PCI-E总线;b)运行并行计算程序;c)构建虚拟内存寻址表;d)发送虚拟内存信息;e)接收虚拟内存信息;f)判断接收信息的正确性;g)判断虚拟内存地址是否构建完毕;h)分配计算任务;i)执行计算任务;j)取结果,并提供给用户。本发明的并行计算方法,提高了并行计算过程中处理器之间数据传输速度,通过改进并行计算算法,减少了系统CPU拷贝数据量,大大提高了并行计算运算的效率,有效的将多个并行计算资源进行连接通信,并高速传输数据。
【专利说明】基于外部PCI-E连接的高性能并行计算方法

【技术领域】
[0001] 本发明涉及一种并行计算方法,更具体的说,尤其涉及一种基于外部PCI-E连接 的高性能并行计算方法。

【背景技术】
[0002] 并行计算是指使用多个计算资源解决计算问题的过程,可以提高计算机系统计算 速度和处理能力,一般采用多个处理器共同协作计算求解同一问题,将问题分解成多个若 干部分,每个部分由单独的处理器来并行计算,多个处理器采用某种连接方式形成集群计 算资源,集群计算资源完成数据处理后,将计算结果反馈给用户。
[0003] 目前大多数并行结算的多个处理器连接方式是采用网络连接方式进行的,即通过 采用计算机网卡连接网络设备交换机,多个处理器计算资源之间形成局域网络,通过网卡 与交换机作为介质进行数据传输,这样的方式,数据传输的速度依赖于网卡与交换机的性 能,对于千兆网卡来说,传输速率很难达到1 Gbps。因为以太网控制器会把传输内容拆成小 的数据包,同时还会强制加上确认信号。这类数据传输由于增加了数据包的解析和强制中 断,从而降低了传输通道的效率。
[0004] 并行计算系统在多个处理器之间,计算程序本机只能访问本机的内存,无法实现 访问远程计算设备的内存数据,进行数据交换的方式是通过TCP连接方式进行,这种方式 下,本机并行计算程序只能访问、更新当前设备内存中的计算数据和计算结果,然后计算设 备之间将各自的计算数据或结果通过TCP进行数据交换,这种数据交换方式速度受限于网 络传输速度,同时TCP方式接收数据时的拷贝量占用CPU的大量计算周期,普通网卡的工 作过程如下:把收到的数据包缓存到系统上,数据包经过处理后,相应数据被分配到一个 TCP连接;然后,接收系统再把主动提供的TCP数据同相应的应用程序联系起来,并将数 据从系统缓冲区拷贝到目标存储地址。这就造成了系统间的信息延迟以及主机CPU中不必 要的频繁数据传输。


【发明内容】

[0005] 本发明为了克服上述技术问题的缺点,提供了一种基于外部PCI-E连接的高性能 并行计算方法。
[0006] 本发明的基于外部PCI-E连接的高性能并行计算方法,其特别之处在于,设参与 平行计算的计算机设备的数量为t台,其编号分别为A、B、…、仏所述并行计算方法通过以 下步骤来实现:a).连接计算机设备,首先在t台计算机设备的主板PCI-E扩展槽内分别插 入PCI-E扩展卡,然后用PCI-E X16数据线将每台计算机设备上的PCI-E扩展卡与PCI-E 交换机相连接,以使所有计算机设备通过PCI-E总线相通讯;b).运行并行计算程序,在t 台计算机设备上分别运行并行计算程序,A编号、B编号、…、N编号计算机设备上并行计算 程序的启动参数分别为-nt-sO、-nt-sl、…、-nt-s(t-l),其中-η后的数字为参与计算的 计算机设备的数量,-s后的数字为本计算机设备所执行计算的序号;c).构建虚拟内存寻 址表,每台计算机设备上的并行计算程序在本机注册构建共享虚拟内存寻址表,共享虚拟 内存寻址表的大小可对t台计算机设备的内存进行寻址;每台计算机设备将自身的起始虚 拟地址、内存大小和内存区域的类型值构建到寻址表中,并对虚拟内存进行编号,计算机设 备在寻址表中的虚拟内存序号与其所执行计算的序号相一致;d).发送虚拟内存信息,对 于每台计算机设备来说,均向其余的t-i台计算机设备发送本机上并行计算程序的启动参 数、本机共享虚拟内存寻址表中的信息、虚拟内存序号;e).接收虚拟内存信息,计算机设 备等待并随时接收其余的t-Ι台计算机设备发送的信息;f).判断接收信息的正确性,每台 计算机设备接收到信息后,首先判断接收数据的正确性,如果正确,则将接收的有关共享虚 拟内存寻址表中的信息构建到本机的寻址表中,形成统一虚拟内存地址,执行步骤g);如 果不正确,则重新接收数据,执行步骤e) ;g).判断所有计算机设备的虚拟内存地址是否均 已构建完毕,如果构建完毕,则执行步骤h);如果没有构建完毕,则执行步骤e) ;h).分配计 算任务,对于待计算的任务,将其分为t等份,并按照每台计算机设备所执行计算的序号依 次分配给相应的并行计算程序;i).执行计算任务,每台计算机设备上的并行计算程序接 收到计算任务后,利用本计算机设备所具有的计算资源对计算任务进行处理,并将计算结 果存储到统一虚拟内存地址中;j).取结果,当所有的计算机设备均完成计算后,每一台计 算机设备均可从统一虚拟内存地址中取得计算结果,并将计算结果提供给用户,并行计算 任务结束。
[0007] 步骤c)中,所述的寻址表即为共享虚拟内存寻址表;对于执行计算序号为0、1、 2、…、t-Ι的计算机设备来说,其在内存寻址表中的虚拟内存序号也依次为0、1、2、…、t-1。 步骤d)中,所述的本机共享虚拟内存寻址表中的信息,即为步骤c)中所述的起始虚拟地 址、内存大小和内存区域的类型值。步骤f)中,对于所有的计算机设备来说,最终构建的统 一虚拟内存地址是相同的。
[0008] 本发明的基于外部PCI-E连接的高性能并行计算方法,步骤f)中所述的判断接 收数据的正确性通过以下步骤来实现:f-Ι).判断计算机设备的数量,判断接收的启动参 数-η后的数字与本机的启动参数-η后的数字是否相等,如果相等,则执行步骤f-2);如 果不相等,则认为接收的数据不正确;f_2).判断执行计算的序号,判断接收到的启动参数 中-s后的数字小于等于t-Ι是否成立,如果成立,则执行步骤f-3);如果不成立,则认为接 收的数据不正确;f_3).判断虚拟内存信息,判断接收到的虚拟内存序号是否满足"小于等 于t-Ι、且与本计算机设备的内存不相同",如果满足,则认为接收的数据正确;如果不满足, 则认为接收的数据不正确。
[0009] 本发明的有益效果是:本发明的高性能并行计算方法,参与并行计算的计算机设 备通过PCI-E扩展卡和PCI-E交换机相通讯,改变了以往网络连接的形式,对于PCI-E 3. 0 可支持每传输通道单向每秒8Gb的数据传输率,对于一个16通道的PCI-E X16来说,可达 到双向32Gb/s的传输速度,形成高速交换连接系统,提高了并行计算的效率。
[0010] 在并行计算的过程中,首先在每台计算机设备上注册构建共享虚拟内存寻址表, 并通过共享的方式在每台计算机设备上形成统一虚拟内存地址;对于待计算的任务分为t 等份后由每个并行计算程序同时进行计算,并将计算结果保存至统一虚拟内存地址中,以 便于每台计算机设备将计算结果取出,并提供给用户。本发明的基于外部PCI-E连接的高 性能并行计算方法,提高了并行计算过程中处理器之间数据传输速度,通过改进并行计算 算法,减少了系统CPU拷贝数据量,大大提高了并行计算运算的效率,有效的将多个并行计 算资源进行连接通信,并高速传输数据。

【专利附图】

【附图说明】
[0011] 图1为本发明的基于外部PCI-E连接的高性能并行计算系统的原理图; 图2为本发明的高性能并行计算系统中各个计算机设备的内存示意图; 图3为本发明的并行计算系统所形成的统一虚拟内存地址的示意图; 图4为本发明的基于外部PCI-E连接的高性能并行计算方法的流程图。

【具体实施方式】
[0012] 下面结合附图与实施例对本发明作进一步说明。
[0013] 如图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的主板PCI-E扩展槽内,PCI-E X16数据连接线两端分别连接PCI-E扩展 卡A、B、N及PCI-E交换机上,使计算机设备A、B、N使用PCI-E扩展卡通过PCI-E交换机 进行连接。
[0014] 图2和图3所示,分别给出了各个计算机设备的内存以及形成的统一虚拟内存地 址的示意图,通过共享虚拟内存寻址表,建立映射关系,将多个计算设备的内存访问统一起 来。
[0015] 图4给出了本发明的方法流程图,其按照以下步骤实现: (1 )、将PCI-E扩展卡A、B、N,分别插入计算机设备A、B、N中,用PCI-E连接线,将PCI-E 扩展卡A、B、N连接到PCI-E交换机中,形成连接。
[0016] (2)、分别运行计算机设备A、B、N上的并行计算程序A、B、N,程序A启动参数为:-η 3 _s 0,程序Β启动参数为:_n 3 _s 1,程序Ν启动参数为:_n 3 _s 2,其中-η后面的数 字表示参与计算的计算机设备资源总数,-s后面的数字表示本机执行计算的序号;在本实 施例中,参与计算的计算机设备资源总数为3,执行计算的序号分别为0、1、2 ; (3)、并行计算程序A、Β、Ν分别在本机注册构建统一虚拟内存地址,将起始虚拟地址、 内存大小和该内存区域的类型值构建到共享虚拟内存寻址表中,并得到本机在寻址表中的 虚拟内存序号。
[0017] (4)、并行计算程序Α向程序Β、程序Ν发送程序Α的启动参数、本机共享虚拟内存 寻址表中的信息、虚拟内存序号,并等待接收程序B、程序N发送过来的启动参数、本机共享 虚拟内存寻址表中的信息、虚拟内存序号。
[0018] (5)、并行计算程序A收到程序B、程序N发来的初始计算参数信息,检查接收到的 参数-η后的数字与本机的是否一致,如果不一致,则接收的信息不正确;检查-s后的数字 是否超出2的值,如果超出,则接收的信息不正确;并检查虚拟内存相关信息正确性;在接 收的信息正确的条件下,将程序Β、程序Ν发来的有关共享虚拟内存寻址表中的信息,构建 到本机的寻址表中,形成统一虚拟内存地址。完成后,并行计算程序Α开始本机计算任务, 计算结果保存在统一虚拟内存地址中。
[0019] (6)、并行计算程序A完成计算后,向程序B、程序N发送完成计算消息,并等待程 序B、程序N发来的完成计算消息,当收到程序B、程序N的完成计算消息后,从统一虚拟内 存地址中取得计算结果,返回计算结果给用户,程序退出。
[0020] 本发明的高性能并行计算方法,通过使用PCI-E扩展卡,X16连接线,PCI-E交换 机连接多台计算机计算设备,并行计算程序在计算过程中,通过构建统一虚拟内存地址,保 存起始虚拟地址、内存大小、内存类型值等信息到共享虚拟内存寻址表中,实现了多个计算 机设备的内存统一寻址,数据的快速访问及传输,提高了并行计算的效率,PCI-E连接方式 的数据传输速度可达到双向32GB/S,实现了并行计算资源之间的高速数据传输。
【权利要求】
1. 一种基于外部PCI-E连接的高性能并行计算方法,其特征在于,设参与平行计算的 计算机设备的数量为t台,其编号分别为A、B、…、仏所述并行计算方法通过以下步骤来实 现: a) .连接计算机设备,首先在t台计算机设备的主板PCI-E扩展槽内分别插入PCI-E扩 展卡,然后用PCI-E X16数据线将每台计算机设备上的PCI-E扩展卡与PCI-E交换机相连 接,以使所有计算机设备通过PCI-E总线相通讯; b) .运行并行计算程序,在t台计算机设备上分别运行并行计算程序,A编号、 B编号、…、N编号计算机设备上并行计算程序的启动参数分别为-nt-sO、-nt-sl、… 、-nt-s (t-Ι),其中-η后的数字为参与计算的计算机设备的数量,-s后的数字为本计算机 设备所执行计算的序号; c) .构建虚拟内存寻址表,每台计算机设备上的并行计算程序在本机注册构建共享虚 拟内存寻址表,共享虚拟内存寻址表的大小可对t台计算机设备的内存进行寻址;每台计 算机设备将自身的起始虚拟地址、内存大小和内存区域的类型值构建到寻址表中,并对虚 拟内存进行编号,计算机设备在寻址表中的虚拟内存序号与其所执行计算的序号相一致; d) .发送虚拟内存信息,对于每台计算机设备来说,均向其余的t-Ι台计算机设备发送 本机上并行计算程序的启动参数、本机共享虚拟内存寻址表中的信息、虚拟内存序号; e) .接收虚拟内存信息,计算机设备等待并随时接收其余的t-Ι台计算机设备发送的 信息; f) .判断接收信息的正确性,每台计算机设备接收到信息后,首先判断接收数据的正确 性,如果正确,则将接收的有关共享虚拟内存寻址表中的信息构建到本机的寻址表中,形成 统一虚拟内存地址,执行步骤g);如果不正确,则重新接收数据,执行步骤e); g) .判断所有计算机设备的虚拟内存地址是否均已构建完毕,如果构建完毕,则执行步 骤h);如果没有构建完毕,则执行步骤e); h) .分配计算任务,对于待计算的任务,将其分为t等份,并按照每台计算机设备所执 行计算的序号依次分配给相应的并行计算程序; i) .执行计算任务,每台计算机设备上的并行计算程序接收到计算任务后,利用本计 算机设备所具有的计算资源对计算任务进行处理,并将计算结果存储到统一虚拟内存地址 中; j) .取结果,当所有的计算机设备均完成计算后,每一台计算机设备均可从统一虚拟内 存地址中取得计算结果,并将计算结果提供给用户,并行计算任务结束。
2. 根据权利要求1所述的基于外部PCI-E连接的高性能并行计算方法,其特征在于: 步骤f)中所述的判断接收数据的正确性通过以下步骤来实现: f-1).判断计算机设备的数量,判断接收的启动参数-η后的数字与本机的启动参数-η 后的数字是否相等,如果相等,则执行步骤f_2);如果不相等,则认为接收的数据不正确; f-2).判断执行计算的序号,判断接收到的启动参数中-s后的数字小于等于t-Ι是否 成立,如果成立,则执行步骤f-3);如果不成立,则认为接收的数据不正确; f-3).判断虚拟内存信息,判断接收到的虚拟内存序号是否满足"小于等于t-Ι、且与 本计算机设备的内存不相同",如果满足,则认为接收的数据正确;如果不满足,则认为接收 的数据不正确。
【文档编号】G06F13/20GK104156332SQ201410391533
【公开日】2014年11月19日 申请日期:2014年8月11日 优先权日:2014年8月11日
【发明者】韩林, 况天宝 申请人:济南曼维信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1