从复杂网络中识别模块化结构的方法和工具的制作方法

文档序号:6351110阅读:253来源:国知局
专利名称:从复杂网络中识别模块化结构的方法和工具的制作方法
技术领域
本发明主要涉及模块化结构的识别,特别是一种从复杂网络中识别模块化结构的 方法和工具,以及一个计算系统。
背景技术
复杂网络是指具有复杂拓扑特征的网络。复杂网络的研究因诸如生物技术网络 (细胞网络,蛋白相互作用网络,神经网络),互联网/万维网,社交网络等真实网络的实证研 究而被激发。这些真实网络最广泛的特征之一是存在模块化结构或群组,例如,如果用一个 图来代表一种复杂网络,群组由顶点组织,同一群组中含有许多边以及相对较少的边连接 不同群组的顶点。从复杂网络中识别模块化结构对理解图表描述的实际问题具有重要意 义,例如,追踪在线病毒,社交网络服务中的社会行为分析,检测重要基因功能等等。目前已经有一些方法可以利用串行计算设备,即中央处理器(CPUs)来从复杂网 络中识别模块化结构。传统方法像分层聚类法,划分聚类法,谱聚类法等,分割方法中的 Girvan-Newman算法以及模块化贪婪算法需要花费很长时间才能完成计算,这归因于复杂 网络的巨大规模。例如,社交网络领域的Facebook在2010年2月宣布有4亿用户。因此, 相应的图有上百万的边和顶点。现存真实复杂网络具有数据量大,计算的时间和空间复杂 度高的特征.因此,利用串行计算设备从复杂网络中检测模块化结构的方法已经暴露出了 执行时间长,用户交互低和能源效率低的缺陷。另一方面,虽然超级计算机工作站或高性能 计算集群能够在较短时间内完成计算,但是花费较高,对开发人员不友好,阻碍了通用研究 和商业推广。因此,需要寻找从复杂网络中鉴定模型结构的方法和工具,或者一个具有CPU和 并行处理设备,比如图形处理器(GPU)或者分布于网络中的处理单元的计算系统,这个计算 系统能够在较短时间内完成计算,同时节约成本。
发明摘要本发明提供一套工具,一种方法和一个系统用于从复杂网络中识别模块化结构, 它们能够在较短时间完成计算并节约成本。本发明一个方面,是一套用于从复杂网络中识别模块化结构的工具。其使用了一 个具有CPU和一个并行处理设备的计算系统。此工具包括一个位于CPU上的数据读取工 具,用来读取任务数据,该任务数据包括复杂网络中的节点,具有节点间关系权重的边和复 杂网络中执行任务的任务参数;一个位于CPU上的模块储存工具,用于储存预定义的子块 集合,这些子模块各自指示着一个特殊进程;一个位于CPU上的确定工具,用于确定任务模 块,从而根据任务数据从一套分别指示着一个特定进程的预设子模块中分配子任务进程, 这些子任务进程将会分别由并行处理设备上的多重并行处理器中执行;一个位于CPU上的 第一界面,用于接收由确定工具转换而来的任务模块;一个位于CPU上的发报机工具,用于 根据多重并行处理器将任务数据分为多重数据子集;一个位于CPU上的第二界面,用于接 收由发报机转换而来的任务数据;一个位于并行处理设备上的第一前端,连接着第一界面,用于接收由第一界面转换而来的任务模块;一个位于并行处理设备上的程序汇编工具,用 于接收由第一前端传递过来的任务模块,产生能被多重并行处理器从任务模块中读取的子 任务进程,以及分配这些子任务进程到多重并行处理器;一个位于并行处理设备上的第二 前端,连接着第二界面,用于接收来自于第二界面的多重数据子集,并将这些多重数据子集 分别传递给多重并行处理器;多重并行处理器,用于分别平行执行子任务进程,这些子任务 进程是由程序汇编工具根据数据子集分配形成的,并获得平行结果;以及一个分类工具,用 于处理平行结果,从复杂网络中获得模型结构。本发明另一方面,从复杂网络中鉴定一种模型结构的方法,其使用了一个具有一 个CPU和一个并行处理器的计算系统,此方法包括通过CPU上的数据阅读工具阅读任务数 据,该任务数据包括复杂网络中的节点,具有指明节点间关系数值的边缘,以及复杂网络中 执行任务的任务参数;通过CPU上的确定工具确定任务模块,从而根据任务数据分配子任 务进程,这些子任务进程分别由并行处理设备中的多重并行处理器执行,它们来自于一套 预设的指明了一个特殊进程的子模块,并将任务模块转换到CPU上的第一界面;通过第一 界面将任务模块转换到并行处理设备上的第一前端;通过第一前端将任务模块传递给并行 处理设备上的程序汇编工具;由程序汇编工具产生可由多重并行处理器从任务模块中读取 的子任务进程,并将子任务进程分配给多重并行处理器;由位于CPU上的发报机工具根据 多重并行处理器将任务数据分成多重数据子集;由位于CPU上的第二界面将多重数据子集 转换到并行处理设备上的第二前端;由第二前端分别将多重数据子集传递给多重并行处理 器;通过多重并行处理器平行执行子任务进程,这些子任务进程是由程序汇编工具分别根 据数据子集分配的,获得平行结果;以及通过分类工具处理平行结果,从复杂网络中获得模 型结构。本发明另一方面,从复杂网络中鉴定模型结构的系统,其包括一个CPU和一个并 行处理设备。CPU包括一个用于阅读任务数据的数据阅读工具,这些任务数据包括复杂网 络中的节点,具有指明节点间关系数值的边缘和复杂网络中任务执行的任务参数;一个用 来储存一套预设子模块的模块储存工具,这些子模块各自分别指示着一个特定的进程;一 个确定任务模块的确定工具,从而根据任务数据从一套分别指示着一个特定进程的预设子 模块中分配子任务进程,这些子任务进程将会分别由并行处理设备上的多重并行处理器中 执行;一个用于接收由确定工具转换而来的任务模块的第一界面;一个用来根据多重并行 处理器将任务数据分成多重数据子集的发报机工具;一个用来接收由发报机工具转换而来 的任务数据的第二界面。并行处理设备包括一个连接第一界面的第一前端,用来接收由第 一界面转换而来的任务模块;一个用来接收由第一前端传递过来的任务模块的程序汇编工 具,从任务模块中产生可被多重并行处理器读取的子任务进程;一个连接第二界面的第二 前端,用来接收来自第二界面的多重数据子集和分别将多重数据子集传递给多重并行处理 器;多重并行处理器用来平行执行任务,子任务进程根据数据子集分别被程序汇编工具分 配来获得平行结果;一个分类工具,用来处理平行结果,从复杂网络中获得模型结构。


结合阅读文中的附图,将能够更好的理解前面提到的发明内容,以及接下来的具 体实施方式,这些附图以举例的行式给出,不能作为对权利要求的限制。
图1是一个说明一个发明实例的计算系统模块图。图2是一个说明另一个发明实例的计算系统模块图。图3说明复杂网络数据的一种结构实例。图4显示的是储存预定义子图的一个模块储存工具实例。图5是子图的BFS搜索流程图。图6是计算结点中心度流程图。图7是分类工具执行的流程图。图8是另一个发明实例中用到的从复杂网络中识别模块化结构的方法流程图。
具体实施例方式这里将对

中的具体实例进行参照说明。在下面的详尽描述中,阐述了许 多具体细节以提供一个关于本发明的透彻理解。图1是对应一个发明实例的计算系统1000的说明图。计算系统1000包含一个 CPU 200和GPU 300,作为并行处理设备的举例。需要声明的是,尽管图1仅例出了一个CPU 200和一个GPU 300,计算系统1000中包含的CPUs和GPUs的数量不局限于一个,并且它们 的数量可以根据需求调整。同样需要理解的是,尽管图1展示了 GPU 300作为并行处理设 备,不同情况下并行处理设备的具体产品形式可以改变。例如,并行处理设备可能是分布在 一个网络中的多个处理单元,这些设备能够执行并行处理,彼此间能够交换数据或信息,例 如一个局域网(LAN)或者是一个万维网(WAN)。GPU 300实例可能使用nVidia开发的通用图形处理单元(GPGPU)平台的计算统 一设备架构(CUDA)。然而,在本发明的启发下,其他的商用GPUs也可以使用。参照图1,CPU 200包含一个数据读取工具210,一个调度工具220,一个模块储 存工具230,一个决策工具240,一个第一接口 250和一个第二接口 255。GPU 300包含多 个并行处理器310-1,310-2…,310-N,其中N是一个整数。为了描述清晰,多个并行处理器 310-1,310-2…,310-N将会在下文中统一被称作是并行处理器310。GPU 300进一步由一个第一前端320,一个第二前端325,一个装配工具330和一 个分类工具340组成。然而,需要声明的是,尽管分类工具340显示为包含在GPU 300中, 它可以有不同的位置。例如,分类工具340可能放置在CPU 200中,本发明也适用于这些实 例。特别地,数据读取工具210读取任务数据,这些数据包括复杂网络中的结点,具有 指示结点间关系的数值的边,以及复杂网络中执行任务的任务参数。由计算系统1000确定的模块化结构可能包含多个社区,其中每个社区内的结点 之间的关系更加紧密。例如,在一个蛋白质-蛋白质相互作用网络中,蛋白质间的相互作用 对于几乎所有的生物功能至关重要。例如,细胞外部信号是由信号分子的蛋白质-蛋白质 相互作用介导进入细胞内部。这一过程被称为信号转导,它在许多生物进程和许多疾病,比 如癌症中扮演着重要的角色。通常可以可视化网络图中的蛋白相互作用,表征这些网络图 中嵌入的模块化结构具有重要意义。在这些情况下,任务数据中的结点可能分别是不同的 蛋白。这些结点间的关系表示蛋白间的相互作用。任务参数描述用来决定蛋白质模块结构 的任务,并且模块化结构中的每个团体包含着具有相互作用趋向的蛋白质。
另外ー个实例,在社交网络中,结点可能代表社交网络中的不同成员,具有相应数 值的边代表结点间的特定关系。例如,在ー个公司的社交网络中,结点代表的是公司员エ。 关系,即具有相应数值的边缘可能代表的是任意两个员エ工作区域间的空间距离。这种情 况下,距离较近的员エ可被认为是在同一部门。因此,最終获得的模块化结构包含同一部门 里的员エ。任务參数可被用于控制最终获得的模块化结构。例如,任务參数可能会指定ー个 最終的模块化结构要满足的条件,比如模块化结构的最大尺寸,模块化结构的最小数量。模块储存工具230储存着一套预定义的子模块,每个子模块分别代表了ー个特殊 的处理进程。稍后会对预定义的子模块进行详细的描述。决策工具240根据任务数据从储存在模块储存工具230的预定子模块中确定ー个 任务模块。然后决策工具240将任务数据传输给第一接ロ 250。任务数据用来分配子任务 进程,这些子任务进程将会在相应的多个并行处理器310中执行。任务模块的确定可被定 制为特定的任务,下面会作举例说明。调度工具220根据并行处理设备(GPU) 300上的多个并行处理器310将任务数据 分为多重数据子集。调度工具220可能通过检查GPU的构造来分配任务数据,然后设置数 据子集的大小。如图I所示,GPU300上的第一前端320连接着CPU200上的第一接ロ 250。第一前 端320接收来自于第一界面250传输的任务模块,然后将任务模块传递给装配工具330。装配工具330接收来自第一前端320传输的任务模块,产生可被多个并行处理器 310读取的子任务进程。例如,装配工具330为并行处理单元310以GPU可读机器代码的形 式将任务模块转换成子任务进程。然后,调度330分别将子任务进程分配给多个并行处理 器 310。位于GPU300上的第二前端325,连接着CPU200上的第二接ロ 255,接收来自第二 接ロ 255的多重数据子集。然后第二前端325分别将多重数据子集传递给多个并行处理器 310。多个并行处理器310分别并行处理由调度工具根据数据子集分配的子任务进程, 并获得并行結果。分类工具340处理并行结果以获得复杂网络中的模块化结构。需要声明的是,尽管图I分别展示了两个接ロ 250和255,它们也可以联合在一起。 也就是说,接ロ 250和255可能包含在同一元件中。这也适用于第一前端320和第二前端 325,它们可能包含于同一元件中。另ー方面,图I所示的元件是分布于CPU和并行处理设备上的。然而,这些元件可 以整合为ー个整体,比如本发明的ー套工具。因此本发明在低成本的并行处理设备,如GPU,的基础上提出ー个并行计算系统, 来识别复杂网络中的模块化结构,显著減少了计算的执行时间和成本,为商业和科研实体 提供了ー个复杂网络研究平台。图2是本发明另ー个实例中的计算系统1100的说明图。用相似的编号来指示与 图I中所示的相同或相似部分,这里为了简洁将会省去关于它们的详细描述。除了那些图I所示的计算系统1000的组成元件外,图2的计算系统1100还包括 一个可视化工具260,ー个网络数据工具270和ー个数据储存工具280。
特别地,图2的案例中,可视化工具260接收由分类工具340直接(如果分类工具 340位于CPU200)或通过另一个中间元件(比如前端和接口)获得的模型结构,然后在监视 器上展示模型结构。因此,为数据的解释提供了一个友好的方式。网络数据工具270能够提取复杂网络数据,它们代表着结点和具有相应数值的 边。例如,网络数据工具270能将一个特定网络,比如生物学或社交网络中的真实问题转换 成复杂网络数据。图3阐明了复杂网络数据的结构实例。如图3所示,复杂网络数据的一 个条目可能包含一个结点(结点I)索引和一个紧挨着结点I的结点(结点2)索引,以及代 表着结点I和结点2之间的边的数值。图3仅仅显示了用于复杂网络数据的一个条目来做 解释。然而,复杂网络数据的条目数量是没有限制的。例如,如果复杂网络中有M个结点, 而且结点间的边没有方向性(即,从结点I到结点2的边与从结点2到经点I的边等价),那 么复杂网络数据中条目的数目可能会是从I到C(M,2)。在边有方向性的情况下,比如从结 点I到结点2的边与从结点2到结点I的边不同,因此它们具有不同的数值,复杂网络数据 中条目的数目将是从I到P (M,2)。返回到图2,数据储存工具280储存复杂网络数据作为任务数据的一部分,这些任 务数据将会被数据读取工具210读取。需要注意的是尽管图2所示的数据储存工具280 位于CPU200,它也可能有不同的位置。例如,数据储存工具280可能是独立于CPU200和 GPU300的一个非易失性或者易变的存储器,比如只读存储器(Read-Only Memory,R0M),随 机存储器(Random Access Memory, RAM),硬盘,光盘,闪存等等。令G(V,E,C)为一个复杂网络,其中顶点V e V,边ee E,相应的成本ce C。在 诸如生物学网络的真实复杂网络下,一个结点可能包含基因/蛋白质名,具有数值的边可 能表示的是它们之间特定的相互作用,比如催化作用或结合。例如,任务数据可能由网络数 据工具270产生或预先确定。网络数据工具270可能将蛋白相互作用网络描述为数字形式 G (V, E, O0规定一个边缘e的介数作为所有节点对最短途径数。介数是边缘e在图表中的中 间值。发生在与别的边缘间的许多最短途径的边缘具有较高的介数。数据储存工具280储存任务数据用于复杂网络G (V, E, C),例如,以邻结矩阵的形 式用于进一步处理。图4所示为储存预定的一套子模块的模块储存工具230实例。在模块储存工具230 中,阐述了分别代表着一个特殊处理进程的处理子模块,比如图搜索子模块231,最短路径 子模块233,以及中心性子模块235。然而,其他种类的处理子模块可以选择性或附加性地 整合到模块储存工具230中。如上所述,任务模块可以由决策工具240通过选择/结合储存在模块储存工具230 中的一个或多个子模块的方式确定。例如,任务模块可能包括图表搜索子模块231和中间 值子模块235的组合,或者是最短途径子模块233和中间值子模块235的组合。图表搜索子模块231指示的是促使并行处理器310执行广度优先搜索(BFS)的流 程。这种情况下,图表搜索子模块231的输入可能是一个预处理输入和源头节点,输出是来 自于网络中源头节点S的广度优先树状图。例如,图5是一个适用于图表搜索子模块231 的BFS程序500的流程图。在S520处,数据输入图表搜索子模块231,比如多重数据子集之一。
在S530处,每个节点被描绘为CUDA流线型多处理器(并行处理器)上的一条线路。 在S540处,基于拓扑特征,图表搜索子模块231指定一个源头节点s和一个最初的边界集 F。令阵列F表示搜索的边界,阵列X表示访问节点。在每个反复过程中,每个边界节点探 测其邻近节点,并将它们加到边界节点集F中。在S550处,图表搜索子模块231在下一个 级别中找到F的连接节点,并将它们加到访问阵列X。在此期间,当完成搜索邻近节点时,当 前节点将自己加到访问节点集X。在S560处,边界节点集F被更新。例如,如果当前路径比 已经存在的路径短,那么路径的长度将会被更新,并且会重复一次。在S570处,确定了是否所有的节点被发现。如果仍然有节点将要被发现,途径500 返回到S550,开启另一次反复。如果边界集F是空集,而且没有节点将会被发现,图表搜索 子模块231途径会在S580处终止,在S580处产生一个广度优先树状图。这个广度优先树 状图包含关于广度优先树状图介数的信息。图表搜索子模块231可能进一步或选择性的指示DFS (深度优先搜索),这在计算 领域是众所周知的,它可以类似于BFS被用于本发明。当任务模块包括连续顺序的图表搜索子模块231和中间值子模块235组合时,中 间值子模块235有一个路径促使并行处理器计算一个广度优先树状图用于所有的节点。图 6是中间值子模块235指示的路径600的流程图。在路径600的S610处,中间值子模块235可能会访问图表搜索子模块231来获得 网络中节点的广度优先树状图。在S620处,确定是否所有的广度优先树状图其以所有节点 作为源头都被找到的。如果发现仍然有广度优先树状图是用于一个特定的节点,路径400 返回到S610来获得树状图用于特定的节点作为源头。如果S620确定所有的广度优先树状图被找到,此路径进入S630,这里会执行一个 关于每个边缘介数的平行减少来获得节点间的相关系数。边缘相关系数的获得是使用公式 w/b,这里w表示来自于复杂网络分量的边缘分量,b表示边缘介数。路径500和600是并行处理进程,而且可分别由并行处理器310执行,从而获得平 行结果,比如上述的相关系数。在这种情况下,分类工具340使用来自于中间值子模块235的全面相关系数输入, 获得网络的模型结构。图7是由分类工具340执行路径700的流程图。在S710处,输入来自所有多重并行处理器310的相关系数作为平行结果。在S720 处,分类工具340识别具有最大相关系数的边缘。在S730处,具有最大相关系数的边缘被删除。在S740处,删除了此类边缘的网络 被确定是否满足由任务参数指定的条件。例如,S740确定是否网络中剩下的所有团体的大 小小于最大的团体大小。如果在S740处条件不满足,路径700走向S705,中间值子模块235在这里被再次 启动来获得相关系数,用于网络删除具有最大相关系数的边缘。如果在S740处条件满足,路径700在S750处终止,这里会获得具有满足任务参数 指定条件单元的模型结构。另一方面,最短途径子模块233可能有路径用于寻找图表(网络)中每对节点间的 最短路径。例如,APSP路径(所有节点对最短路径),SPSP (单个节点对最短路径),SSSP (单 个源头最短路径),SDSP (单个终点最短路径)诸如此类的可被应用于最短路径子模块233。这些最短路径方法在计算领域都是众所周知的,所以这里省去其详尽描述。当任务模块包括最短路径子模块233和中间值子模块235连续顺序的组合时,中 间值子模块235有途径促使并行处理器建立分等级的聚类树状图。在这种情况下,分类工具340利用任务参数作为系统参数削减分等级的聚类树状 图,获得模型结构。因此,获得了模型结构,并且其构成单元满足任务参数指定的条件。在传统的分等级聚类算法中,典型步骤如下。分等级聚类步骤产生一系列数据分 集,Pn,Pn-l,……,P1。第一个Pn含有n个单一簇,最后的Pl含有一个单一含有n种情况 的团体。在每个特殊时期,此方法将两个接近(最相似)的簇连接在一起。(在第一时期,意 味着将两个相近的对象连接在一起,知道每个簇在最初的时期只有一个对象。)。由于定义 簇间距离(或相似性)的方式不同,方法的差异性呈现出来。在这个实例中,我们用母体乘法 为基础的所有节点对最短路径算法计算距离。我们的工作通过用加入和最小操作取代乘法和额外的操作,改变了 Vo IkoV和 Demmel提供的母体乘法路径。共享的储存器被用户用来管理缓存,从而提高性能。Volkov 和Demmel引进母体R,C和Di中的部分来共享模块上的存储空间R被引进64X4尺寸 的模块,C被引进16X16尺寸大小的模块,Di被引进64X16尺寸大小的模块。这些数值 被选用来最大化CUDA设备的通量。在执行期间,每一条线路计算Di的64X16值。算法 I描述了改进的母体乘法要点。母体乘法要点的具体内容请参考LU, QR and Cholesky Factorizations using Vector Capabilities of GPUs. Vasily Volkov and James Demmel. Technical Report No. UCB/EECS-2008-49.本发明开发了一种以GPU为基础的平行计算系统来鉴定复杂网络中的模型结构, 显著减少了计算的执行时间和成本,提供了一个复杂网络研究平台用于商业、科研等用途。图8所示是从复杂网络中鉴定模型结构的方法2000的流程图,它使用的是本发明 一个实例中的一个含有一个CPU和一个并行处理设备(例如GPU)的计算系统。方法2000 可能由图I的计算系统1000的相应元件执行。特别地,在S2100处,包括复杂网络的节点,具有指示节点间关系价值的边缘,以 及任务数据被执行的任务参数的这些任务数据的读取是利用CPU200上的数据读取工具 210。在S2200处,CPU200上的确定工具240根据任务数据,从一套预设的分别指示着 一个特殊处理进程的子模块集中确定任务模块,并且将任务模块转换到CPU200上的第一 界面250。任务模块用来分配子任务进程,这些子任务进程将分别由并行处理设备300上的 多重并行处理器310-1,310-2,……,310-N执行,其中N是一个整数。在S2220处,任务模块由第一界面250传输给并行处理设备300上的第一前端 320。然后在S2240处,由第一前端将任务模块传递给并行处理设备300上的程序汇编工具 330。在S2260处,程序汇编工具330产生子任务进程,这些子任务进程可被多重并行处 理器310从任务模块中读取,因此将这些子任务进程分配给多重并行处理器310。另一方面,在S2300处,发报机工具220将任务数据根据多重并行处理器310分为 多重数据子集。
在S2320处,第二界面255在CPU200上将多重数据子集转换到并行处理设备上的 第二前端325。在S2340处,第二前端325将多重数据子集分别传递给多重并行处理器。接收了任务处理进程和数据子集后,在S2400处,多重并行处理器 310-1,310-2…,310-N平行操作,程序汇编工具根据数据子集分别分配子任务进程,获得 平行结果。在S2500处,分类工具340 (位于CPU200或GPU300上)处理平行结果,获得复杂 网络中的模型结构。根据本发明,在复杂网络中鉴定模型结构的方法可能会结合上述图1-7中的一个 或多个因素。例如,此方法可能进一步包括提取复杂网络数据和将复杂网络数据以任务数据的 一部分储存,其中的复杂网络数据代表着节点和具有数值的边缘。同样,任务模块可能包括图表搜索子模块和中间值子模块的组合,或是最短路径 子模块和中间值子模块的组合。图5-7所示的路径同样可应用于方法2000。需要注意的是,图8所示的方法2000的步骤并不是必须要按图所示的顺序进行。 例如,步骤S2200-S2260可能与步骤S2300-S2340同时进行,或是在步骤S2300-S2340之后 进行。正如能被计算领域的专业人才重视一样,一个具有相关计算机-可读媒体的计算 机系统,其相关计算机-可读媒体含有用于控制计算机系统的说明,能够被用来执行这里 列举的杰出实例。这个计算机系统可能至少包括一台计算机,比如一台微处理器,还包括数 字信号处理器和相关的外围电子线路。尽管语言描绘的主题特指的是结构特征和/或方法学领域,需要理解的是,附加 的权利要求中定义的主题不是必须限定在上述特定的特征或是领域的。在一定程度上,上 述的特定特征和领域以实例的形式用于说明权利的执行。
权利要求
1.一种从复杂网络中鉴定模型结构的方法,其使用一个具有一个CPU和一个并行处理 设备的计算系统,该方法的特征是,通过CPU上的一个数据读取工具读取任务数据,其中任务数据包括复杂网络中的节 点,具有指示节点间关系数值的边缘,以及复杂网络中任务被执行的任务参数。通过CPU上的一个确定工具确定任务模块,从而根据任务数据从一套分别指示着一个 特定进程的预设子模块中分配子任务进程,这些子任务进程将会分别由并行处理设备上的 多重并行处理器中执行,并将任务模块转换到CPU上的第一界面。通过第一界面将任务模块转换到并行处理设备上的第一前端。通过第一前端将任务模块传递给并行处理设备上的程序汇编工具。由程序汇编工具产生子任务进程,这些子任务进程能被多重并行处理器从任务模块中 读取,并将这些子任务进程分配给多重并行处理器。由CPU上的发报机工具根据多重并行处理器将任务数据分为多重数据子集。由CPU上的第二界面将多重数据子集转换到并行处理设备上的第二前端。由第二前端分别将多重数据子集传递给多重并行处理器。由多重并行处理器分别平行执行子任务进程,其中这些子任务进程是由程序汇编工具 根据数据子集分配的,来获得平行结果。以及由分类工具处理平行结果来获得复杂网络中的模型结构。
2.权利要求1所述的方法,其中的并行处理设备是一个图表处理器,其分布于局域网 或万维网。
3.权利要求1所述的方法,其中的任务模块包括图表搜索子模块和中间值子模块的组 合,或最短路径子模块和中间值子模块的组合。
4.权利要求1所述的方法,其中的节点代表不同的基因或蛋白,数值代表这些节点间 的特定相互作用。
5.权利要求1所述的方法,其中的节点代表一个团体中的不同成员,数值代表这些节 点间的特定关系。
6.权利要求1所述的方法,其进一步的特征是,由CPU上的网络数据工具提取复杂网络数据,这些网络数据包括节点和有数值的边缘。以及由CPU上的数据储存工具将复杂网络数据作为任务数据的一部分进行储存。
7.权利要求1所述的方法,其中的模型结构是由多重的团体组成,这些团体各自分别 含有紧密相关的节点。
8.一套从复杂网络中鉴定模型结构的工具,其使用的是一个具有一个CPU和一个并行 处理设备的计算系统,该工具的特征是,位于CPU上的数据读取工具,用于读取任务数据,这些任务数据包括复杂网络中的节 点,具有指示节点间相互关系数值的边缘,以及复杂网络中执行一个任务的任务参数。位于CPU上的模块储存工具,用于储存一套预设的子模块,这些子模块各自指示着一 个特殊的进程。位于CPU上的确定工具,用于确定任务模块,从而根据任务数据从一套分别指示着一 个特定进程的预设子模块中分配子任务进程,这些子任务进程将会分别由并行处理设备上的多重并行处理器中执行。位于CPU上的第一界面,用于接收由确定工具转换而来的任务模块。位于CPU上的发报机工具,用于根据多重并行处理器将任务数据分为多重数据子集。位于CPU上的第二界面,用于接收由发报机转换而来的任务数据。位于并行处理设备上的第一前端,其连接着第一界面,用于接收由第一界面转换而来 的任务模块。位于并行处理设备上的程序汇编工具,用于接收由第一前端传递过来的任务模块,产 生能被多重并行处理器从任务模块中读取的子任务进程,以及分配这些子任务进程到多重 并行处理器。位于并行处理设备上的第二前端,其连接着第二界面,用于接收来自于第二界面的多 重数据子集,并将这些多重数据子集分别传递给多重并行处理器。多重并行处理器,用于分别平行执行子任务进程,这些子任务进程是由程序汇编工具 根据数据子集分配形成的,获得平行结果。以及分类工具,用于处理平行结果,获得复杂网络中的模型结构。
9.权利要求8所述的工具,其中的并行处理设备是一个图表处理器,其分布于局域网 或万维网。
10.权利要求8所述的工具,其中的任务模块包括图表搜索子模块和中间值子模块的 组合,或最短路径子模块和中间值子模块的组合。
11.权利要求8所述的工具,其中的节点代表不同的基因或蛋白,数值代表这些节点间 的特定相互作用。
12.权利要求8所述的工具,其中的节点代表一个团体中的不同成员,数值代表这些节 点间的特定关系。
13.权利要求8所述的工具,其进一步的特征是,网络数据读取器,用于提取图表,这些图表代表了节点和有数值的边缘。以及数据储存器,用于将图片作为任务数据进行储存。
14.权利要求8所述的工具,其中的模型结构是由多重的团体组成,这些团体各自分别 含有紧密相关的节点。
15.一个用于从复杂网络中鉴定模型结构的系统,其包括一个CPU和一个并行处理设 备,其中,CPU包括,数据读取工具,用于读取任务数据,这些任务数据包括复杂网络中的节点,具有指示节 点间相互关系数值的边缘,以及复杂网络中执行一个任务的任务参数。模块储存工具,用于储存一套预设的子模块,这些子模块各自指示着一个特殊的进程。确定工具,用于确定任务模块,从而根据任务数据从一套分别指示着一个特定进程的 预设子模块中分配子任务进程,这些子任务进程将会分别由并行处理设备上的多重并行处 理器中执行。第一界面,用于接收由确定工具转换而来的任务模块。发报机工具,用于根据多重并行处理器将任务数据分为多重数据子集。以及第二界面,用于接收由发报机转换而来的任务数据。并行处理设备包括,位于并行处理设备上的第一前端,其连接着第一界面,用于接收由第一界面转换而来 的任务模块。位于并行处理设备上的程序汇编工具,用于接收由第一前端传递过来的任务模块,产 生能被多重并行处理器从任务模块中读取的子任务进程,以及分配这些子任务进程到多重 并行处理器。位于并行处理设备上的第二前端,其连接着第二界面,用于接收来自于第二界面的多 重数据子集,并将这些多重数据子集分别传递给多重并行处理器。多重并行处理器,用于分别平行执行子任务进程,这些子任务进程是由程序汇编工具 根据数据子集分配形成的,获得平行结果。以及分类工具,用于处理平行结果,获得复杂网络中的模型结构。
全文摘要
本发明涉及一种用于从复杂网络中鉴定模型结构的工具,其使用了一个具有一个CPU和一个并行处理设备的计算系统。该工具包括一个用于读取任务数据的数据读取工具;一个用于储存一套预设子模块的模块储存工具,这些子模块各自指示着一个特殊进程;一个用于确定任务模块的确定工具,从而根据任务数据从一套分别指示着一个特定进程的预设子模块中分配子任务进程,这些子任务进程将会分别由并行处理设备上的多重并行处理器中执行;一个用于接收由确定工具转换而来的任务模块的第一界面;一个用于根据多重并行处理器将任务数据分为多重数据子集的发报机工具;一个用于接收由发报机转换而来的任务数据的第二界面;一个用于接收由第一界面转换而来的任务模块的第一前端;一个用于接收由第一前端传递过来的任务模块,产生能被多重并行处理器从任务模块中读取的子任务进程,以及分配这些子任务进程到多重并行处理器的程序汇编工具;一个用于接收来自于第二界面的多重数据子集,并将这些多重数据子集分别传递给多重并行处理器的第二前端;用于分别平行执行子任务进程,这些子任务进程是由程序汇编工具根据数据子集分配形成的,并获得平行结果的多重并行处理器;以及一个用于处理平行结果,从复杂网络中获得模型结构的分类工具。
文档编号G06F7/00GK102667710SQ201080051364
公开日2012年9月12日 申请日期2010年10月21日 优先权日2010年10月21日
发明者李化常, 王瑞, 陈星原 申请人:北京华金瑞清生物医药技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1