面向流处理器并行环境的数据流通信系统及其通信方法技术方案

技术编号:6617074 阅读:308 留言:0更新日期:2012-04-11 18:40
一种面向流处理器并行环境的数据流通信系统及其通信方法,涉及并行通信技术领域,所解决的是CUDA和MPI混合程序开发不便且不利于海量数据流实时处理的技术问题。该系统中的每个计算节点均配置有CPU计算部件、GPU计算部件、动态管道池,及用于MPI通信的MPI接收部件、MPI发送部件,且在每个计算节点中均设有节点资源表、部件资源表、流通信管道映射表,各计算节点部件之间的通信均通过动态管道池进行,并使用通信数据单元来传输。本发明专利技术提供的系统及其通信方法,能有效地支持利用MPI和流处理器计算机构建大规模信息处理并行环境,利于程序员开发系统程序,适用于云计算节点的构建和大规模数据流的实时处理。

【技术实现步骤摘要】

本专利技术涉及数据通信技术,特别是涉及一种的技术。
技术介绍
随着信息技术的飞速发展和互联网技术应用的普及,网络已经成为人们日常生活中重要的一部分。近年来,3G网络和物联网技术应用逐步展开为人们的生活、工作带来了极大的方便。然而,这些新技术的广泛应用带来海量信息处理问题以及如何提高大规模实时支持能力的新挑战。以流处理器为代表的新型计算装置为解决这些困难带来了曙光。 流处理器是GPU走向通用计算领域的总称,因其内部采用上百个Mream processor并行架构而得名,其性能十分出众,以GTX480为例其浮点计算性能已经超过Tfloaps。目前世界主流显卡厂商NVIDIA、AMD (ATI)、Intel等公司都积极投入流处理器的研究和通用计算研究领域。在通用计算研究领域已经成熟的编程模型有NVIDIA的CUDA (Compute Unified Device Architecture)和AMD的CTM (Close To Metal),这些技术已经被广泛的应用到图像处理、游戏、3D处理、科学计算、数据挖掘等领域。根据传统的并行技术,利用计算机网络把若干个配置流处理器的计算机连接起来可以构建更为强大的并行信息处理系统是一个十分重要的工作。因而流处理器集群不仅可以构建更大规模的处理系统,更主要的是,其可以使用较传统CPU集群更少的计算节点构建比CPU集群强大数百倍的计算系统,而其能源消耗大大降低,且大大增强了系统的稳定性。构建集群除了物理网络外,还需要有效的并行通信协议的支持,方能发挥其并行处理的能力。MPI已经成为并行环境构建领域一个重要的通信系统,被学术界和工业界广泛应用。但是,现有基于流处理器的网络中各计算节点的处理环境及各计算节点之间的通信环境比较复杂,使得CUDA(Compute Unified Device Architecture)程序员及CTM(Close To Metal)程序员在开发并行通信程序和并行流处理器程序时需要先详细了解计算节点的处理细节及各计算节点之间的通信细节,因此不利于系统程序的开发,而且也不利于海量数据流(如3G视频流)的实时处理。
技术实现思路
针对上述现有技术中存在的缺陷,本专利技术所要解决的技术问题是提供一种系统程序开发方便,且利于海量数据流实时处理的。为了解决上述技术问题,本专利技术所提供的一种面向流处理器并行环境的数据流通信系统,其特征在于包括流处理器并行计算物理环境、节点资源表、部件资源表、流通信管道映射表;所述流处理器并行计算物理环境为一个四元组SPPE (PCS, MASTER, SOFS, NS);其中, SPPE为流处理器并行计算物理环境,PCS= {Cl,C2,…,Ce}为SPPE中的计算节点的集合,MASTER为SPPE中的主控制计算节点,SOFS为SPPE中的软件的集合,NS为SPPE中的互连网络的集合,且在NS上配有MPI通信环境;所述计算节点配置有CPU计算部件、GPU计算部件、动态管道池,及用于MPI通信的MPI 接收部件、MPI发送部件,所述CPU计算部件、GPU计算部件、MPI接收部件、MPI发送部件均为广义计算部件,所述GPU计算部件为流处理计算设备;所述动态管道池为一个四元组DPP (ID, CPS, PPS, PipeM);其中,DPP为动态管道池,ID 为DPP的标识符,CPS= {CP1,CP2,…,CPm)为DPP中的公有管道的管道集合,PPS= {PN1, PN2,…,PNn}为DPP中的私有管道的管道集合,是广义计算部件读取信息的专有管道, PipeM为DPP的管道管理部件,所述公有管道及私有管道均为单向流动的数据流通道,所述 CPS分为两组,分别为CPSM管道组和CPSS管道组,CPSM管道组用于接收消息,CPSS管道组用于发送消息和数据流信息通信的管道绑定,每个广义计算部件均配有一个私有管道,用于接收消息及数据流;所述广义计算部件为一个五元组GP (ID, RP, WP, PN, SP);其中,GP为广义计算部件, ID为GP的部件标识符,RP为GP的读管道进程;WP为GP的写公有管道进程,PN为GP的私有管道,SP= {Pl,p2,p3,…,Pp}为GP中的各狭义计算部件的集合;所述节点资源表为一个二维表NTA (Nid, Nname, Nip, Ntype),记载有SPPE中所有计算节点的节点信息;其中,NTA为节点资源表,Nid为所记载计算节点的节点标识符,Nname 为所记载计算节点的节点名字,用于通信标识,Nip为所记载计算节点的节点IP地址,用于 MPI环境的配置,Ntype为所记载计算节点的节点类型,用于表明所记载计算节点的是普通计算节点还是主控制计算节点;所述部件资源表为一个二维表PTA (Pid,Pname, Ptype, PN),记载有SPPE中所有广义计算部件的部件信息;其中,PTA为部件资源表,Pid为所记载部件的部件标识符,Pname为所记载部件的部件名字,用于通信标识,Ptype为所记载部件的部件类型,用于表明该部件是CPU计算部件、GPU计算部件,还是通信部件,PN为所记载部件的私有管道;所述流通信管道映射表为一个二维表MTA (Pid, group, sno,PipeA,PipeB);其中,MTA 为流通信管道映射表,Pid为标识符,group为数据流通信组号,用于通信标识,sno为序号, PipeA为数据流源管道号,PipeB为数据流目标管道号;所述NTA、PTA、MTA在每个计算节点中均保持一个副本,并采用强一致性维护; 各部件之间的通信均通过数据通信单元来承载,所述通信数据单元为一个十元组CDU (id, Sno, Segno, SourceN, SourceP, DestNS, DestPS, type, COM, DATA);其中,CDU 为通信数据单元,id为该⑶U的标识符,Sno、Segno均用于数据流通信,Sno为该⑶U的数据流号, Segno为该⑶U的数据段号,SourceN为通信源计算节点,SourceP为该⑶U的发出部件, DestNS为该CDU的目标计算节点的集合,DestPS为该CDU的目标部件的集合,是目标计算节点内接收该CDU的部件的集合,type为该CDU的通信数据单元类别,共有数据流、命令消息、短消息三种类别,COM为通信命令,DATA为消息数据。 本专利技术所提供的面向流处理器并行环境的数据流通信系统的通信方法,其特征在于每个广义计算部件中的SP执行本地的计算任务,并接收该广义计算部件中的RP送来的信息进行处理;设发送端的广义计算部件为GP1,接收端的广义计算部件为GP2,INFO为消息,SINFO为数据流;GPl中的SP要发送INFO到GP2时,先查询PTA获取GP2的ID,再把GP2的ID和INFO 提交给GPl的WP,然后再处理后续计算任务;GPl中的SP要发送SINFO到GP2时,先查询PTA获取GP2的ID,再把GP2的ID和SINFO 提交给GPl的WP,并等待至SINFO通信结束后再处理后续计算任务;GPl中的WP收到该GP中的SP提交的GP2的ID及通信数据后,先判断收到的通信数据的类型,如果GPl中的WP收到的通信数据是INF0,则创建本文档来自技高网
...

【技术保护点】
1.一种面向流处理器并行环境的数据流通信系统,其特征在于:包括流处理器并行计算物理环境、节点资源表、部件资源表、流通信管道映射表;所述流处理器并行计算物理环境为一个四元组SPPE(PCS,MASTER,SOFS,NS);其中,SPPE为流处理器并行计算物理环境,PCS={C1,C2,…,Cc}为SPPE中的计算节点的集合,MASTER为SPPE中的主控制计算节点,SOFS为SPPE中的软件的集合,NS为SPPE中的互连网络的集合,且在NS上配有MPI通信环境;所述计算节点配置有CPU计算部件、GPU计算部件、动态管道池,及用于MPI通信的MPI接收部件、MPI发送部件,所述CPU计算部件、GPU计算部件、MPI接收部件、MPI发送部件均为广义计算部件,所述GPU计算部件为流处理计算设备;所述动态管道池为一个四元组DPP(ID,CPS,PPS,PipeM);其中,DPP为动态管道池,ID为DPP的标识符,CPS={CP1,CP2,…,CPm}为DPP中的公有管道的管道集合,PPS={PN1,PN2,…,PNn}为DPP中的私有管道的管道集合,是广义计算部件读取信息的专有管道,PipeM为DPP的管道管理部件,所述公有管道及私有管道均为单向流动的数据流通道,所述CPS分为两组,分别为CPSM管道组和CPSS管道组,CPSM管道组用于接收消息,CPSS管道组用于发送消息和数据流信息通信的管道绑定,每个广义计算部件均配有一个私有管道,用于接收消息及数据流;所述广义计算部件为一个五元组GP(ID,RP,WP,PN,SP);其中,GP为广义计算部件,ID为GP的部件标识符,RP为GP的读管道进程;WP为GP的写公有管道进程,PN为GP的私有管道,SP={P1,p2,p3,…,Pp}为GP中的各狭义计算部件的集合;所述节点资源表为一个二维表NTA(Nid,Nname,Nip,Ntype),记载有SPPE中所有计算节点的节点信息;其中,NTA为节点资源表,Nid为所记载计算节点的节点标识符,Nname为所记载计算节点的节点名字,用于通信标识,Nip为所记载计算节点的节点IP地址,用于MPI环境的配置,Ntype为所记载计算节点的节点类型,用于表明所记载计算节点的是普通计算节点还是主控制计算节点;所述部件资源表为一个二维表PTA(Pid,Pname,Ptype,PN),记载有SPPE中所有广义计算部件的部件信息;其中,PTA为部件资源表,Pid为所记载部件的部件标识符,Pname为所记载部件的部件名字,用于通信标识,Ptype为所记载部件的部件类型,用于表明该部件是CPU计算部件、GPU计算部件,还是通信部件,PN为所记载部件的私有管道;所述流通信管道映射表为一个二维表MTA(Pid,group,sno,PipeA,PipeB);其中,MTA为流通信管道映射表,Pid为标识符,group为数据流通信组号,用于通信标识,sno为序号,PipeA为数据流源管道号,PipeB为数据流目标管道号;所述NTA、PTA、MTA 在每个计算节点中均保持一个副本,并采用强一致性维护;各部件之间的通信均通过数据通信单元来承载,所述通信数据单元为一个十元组CDU(id,Sno,Segno,SourceN,SourceP,DestNS,DestPS,type,COM,DATA);其中,CDU为通信数据单元,id为该CDU的标识符,Sno、Segno均用于数据流通信,Sno为该CDU的数据流号,Segno为该CDU的数据段号,SourceN为通信源计算节点,SourceP为该CDU的发出部件,DestNS为该CDU的目标计算节点的集合,DestPS为该CDU的目标部件的集合,是目标计算节点内接收该CDU的部件的集合,type为该CDU的通信数据单元类别,共有数据流、命令消息、短消息三种类别,COM为通信命令,DATA为消息数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈庆奎那丽春曹欢欢郝聚涛霍欢赵海燕庄松林丁晓东
申请(专利权)人:上海理工大学
类型:发明
国别省市:31

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

1