CN104702690A - 基于虚拟树型网络技术的分布式高性能计算的方法 - Google Patents
基于虚拟树型网络技术的分布式高性能计算的方法 Download PDFInfo
- Publication number
- CN104702690A CN104702690A CN201510107767.9A CN201510107767A CN104702690A CN 104702690 A CN104702690 A CN 104702690A CN 201510107767 A CN201510107767 A CN 201510107767A CN 104702690 A CN104702690 A CN 104702690A
- Authority
- CN
- China
- Prior art keywords
- subproblem
- computer
- virtual
- group
- divided
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于虚拟树型网络技术的分布式高性能计算方法,其特征在于:1)建立各种类型的计算机包括集群、个人计算机等组成虚拟分级拓扑树型结构的步骤;2)找出递归划分求解问题为子问题的方法的步骤;3)计算和返回结果或将子问题逐级分配到虚拟分级树下层的节点方法的步骤。本发明方法比之单机计算具有加速比 ER =αM (0<α<1),这里,M为计算机节点个数,α为由于各种开销引起计算性能下降的系数;一般地,α大于0.5。<b/>
Description
技术领域
本发明涉及计算机分布式计算领域,具体涉及基于虚拟树型网络技术的分布式高性能计算方法。
背景技术
高性能计算一直是国家、科学界、企业界特别关注的主题。每年国际上都有超级计算机排名。从核武器模拟到引力波探测,都需要巨大的计算能力。高性能计算如仿真模拟、力学计算、生物信息学计算、系统生物学计算等等都是各领域的关键。我们知道,这些关键任务一般需执行数小时、几天、几个月,甚至连目前最强大的超级计算机都根本计算不出来。一般情况下,解决此类的关键任务需要高性能的计算机。然而,高性能计算机价格昂贵(“天河二号”每日仅电费一项开支就超30 万人民币),并且经常满足不了高强度计算的需要。因此,如何将任务在大规模网络上并行执行从而提高效率和减少执行时间,使这些任务能在价格低廉的计算机(如Cluster、甚至PC 机)上运行,具有非常重大的科学价值和经济、社会意义。
云计算将网络、计算机等组成一个统一的资源为用户提供透明的服务。在云计算环境下,利用大量的价格低廉的计算机是高性能计算一个可行的解决办法。云计算是近年来发展起来旨在解决大规模网络环境下的资源、信息共享与协同的分布式计算环境。 随着云计算环境中计算机节点的增加,云计算环境规模越来越大。大规模云计算环境下计算处理能力和存贮能力大大提高。
将任务划分为子任务,分配到多个节点并行执行从而提供整体计算能力是当前国际上分布式计算研究的趋势。并行计算在集群机(Cluster)方面,有很好的方法;如利用MPI 标准的集群并行计算。MPI 的并行计算属于语言级的并行计算。然而,在大规模云计算环境下,则存在很多问题。由于网络的复杂性引起的通信的开销,语言级的并行计算显然不适合。
目前,利用MapReduce进行并行计算也是一种趋势。然后,MapReduce 也有许多缺点,不适合所有问题的并行计算。
本发明利用语义P2P网络技术本方法采用语义P2P网络技术(一种基于P2P的查找有关节点子集合的方法, 专利号:200910096247;一种建立基于P2P的大规模分布式文件系统的方法,专利号:200910097651;一种构建具有语义的P2P网络的方法, 专利号:200910100682;一种构建垂直虚拟组的P2P网络的方法, 专利号:200910100926)将低端、高端计算机一起组成分级的巨大网络,从而进行大规模的并行计算,具有价格低廉与高性能的优点。 本发明方法比之单机计算具有加速比 ER =αM (0<α <1), 这里, M为计算机节点个数,α为由于各种开销引起计算性能下降的系数;一般地,α大于0.5; 由于本发明M无上限,所有,本发明具有非常强的计算能力。
发明内容
基于虚拟树型网络技术的分布式高性能计算方法的具体步骤如下: 一. 计算机包括集群、个人计算机等组成虚拟分级拓扑结构的步骤。其中,计算机节点通过一定的方法形成虚拟分级拓扑结构,可以是用户加入相应的虚拟组,也可以是计算机程序自动形成虚拟分级拓扑结构。对于超级计算机或集群机,可以采用一个PC作为前端代理,也可以将内部节点作为单独计算机,和其他计算机节点一起构建虚拟分级拓扑网络;在虚拟分级拓扑结构中,先将所有计算机节点分组,然后从每组中选出1-d个节点组成上一级虚拟组,以此类推,直到形成唯一的一个顶级组,从而形成了虚拟分类树。二.找到求解的问题可以递归划分为子问题的方法,即问题P划分为n 个 子问题sPi, 每个子问题又可以划分为 m个子问题sPj。三. 1. 求解的问题划分为n个子问题,每个子问题分配给虚拟分级树的顶级组,如果这个组的计算机可以求出子问题,则求出结果,然后返回结果; 如果这个组的计算机不能求出结果,则将此子问题进一步划分成m个子子问题,再将此子子问题分配到下一层组的计算机;2. 下一层的计算机如果能求出子子问题,则求出结果,然后返回结果;否则,则进一步划分为子子子问题,再将此子子子问题分配到下一层组的计算机;3. 以此类推,直到所有子…子问题都求出为止; 4. 将所有返回的结果进行整合;求出问题的完全解。
计算机包括集群、个人计算机等组成虚拟分级拓扑结构的步骤。 假设有1073741824 (1024 X 1024 X 1024) 台计算机的用户加入分布式计算组并同意贡献其计算能力。 组成3级虚拟分级拓扑结构可能方法之一如下:1048576组叶节点虚拟组,每组含1024台计算机。1048576个叶节点虚拟组每个选择1台计算加入上级虚拟组;结果成为1024个上级虚拟组(每个上级虚拟组包含1024台计算机);此1024个上级虚拟组每个选择1台计算机,形成包含1024台计算机的顶级虚拟组。
求解问题需要发现可以递归划分为子问题的方法。 问题划分为 n 个子问题,子问题是可求解的或可更进一步划分为子子问题。问题与子问题的求解算法可以相同,也可以不同。
划分的子问题的分配与发送。划分的子问题通过通信分配到下层虚拟组的计算机,通信协议需要明确问题的发起者和发送消息的源,结果可根据问题的发起者和发送消息的源进行回传。
结果整合:合并整理返回的子问题求解结果。
本案实施方案1:背包问题求解。
求解问题需要发现可以递归划分为子问题的方法。背包问题是NP问题。当规模较大时,单台计算机是无法完成的。假设某一背包问题是具有100个元素; 我们可以将此背包问题划分为1024个包含90个元素的背包问题(求出前10个元素的组合值);而此包含90个元素的背包问题又可以划分为1024个包含80个元素的背包问题;以此类推,直至分解为能够为单台计算机完成的背包问题(例如20个元素的背包问题)。
划分的子问题的分配与发送。假设某一台电脑需要求解具有100个元素的背包问题;判断不能完成单独完成计算;此电脑此背包问题划分为1024个包含90个元素的背包问题;并将每一个发往顶级虚拟组的一台电脑;每一个顶级虚拟组的一台电脑将计算分解为1024个包含80个元素的背包子问题;并将每一个包含80个元素的背包子问题发往下级虚拟组,以此类推,直至计算机接收到的背包子问题能够单独完成计算(例如20个元素的背包问题);计算结果向相反的方向汇总,即下层虚拟组的计算机向上层虚拟组计算机汇总,上层计算机向上上层汇总有结果的解;总后顶级虚拟组的计算机向求解发起电脑汇总结果。
为了描述清楚,假设一个简单的例子含有10个元素(2,5,6,3,7,11,13,22,17,23)(77)的背包问题(求等于77数值的元素组合)。 假设有16台计算机分为4个虚拟组, (A,B,C,D), (E,F,G,H), (I,J,K,L), (M,N,O,P) , 每组选一个组成上层虚拟组, 比如(A, F, K,P)。假设单个计算机可求解6个元素的背包问题。 问题求解请求计算机将问题划分为4个含有8个元素的子背包问题 ,发送给顶级虚拟组(A, F, K,P) 相应的计算机:
(6,3,7,11,13,22,17,23)(77) =>A
(6,3,7,11,13,22,17,23)(75) => F
(6,3,7,11,13,22,17,23)(72) => K
(6,3,7,11,13,22,17,23)(70) => P
而其中每一个又可划分为4个含有6个元素的子背包问题 , 发送给下层虚拟组(A,B,C,D), (E,F,G,H), (I,J,K,L), (M,N,O,P) 相应的计算机,而下层计算机可求出6个元素的背包子问题:
A :(6,3,7,11,13,22,17,23)(77):
(7,11,13,22,17,23)(77) =>A
(7,11,13,22,17,23)(71) =>B
(7,11,13,22,17,23)(74) =>C
(7,11,13,22,17,23)(68) =>D
F: (6,3,7,11,13,22,17,23)(75):
(7,11,13,22,17,23)(75)=> F
(7,11,13,22,17,23)(69)=> E
(7,11,13,22,17,23)(72)=> G
(7,11,13,22,17,23)(66) => H
K: (6,3,7,11,13,22,17,23)(72)
(7,11,13,22,17,23)(72)=> K
(7,11,13,22,17,23)(66)=> I
(7,11,13,22,17,23)(69) => J
(7,11,13,22,17,23)(63) => L
P: (6,3,7,11,13,22,17,23)(68)
(7,11,13,22,17,23)(68) => P
(7,11,13,22,17,23)(62) =>M
(7,11,13,22,17,23)(63)=> N
(7,11,13,22,17,23)(59)=> O
16台计算机A-P 相应计算6个元素的子背包问题,发送结果给上层虚拟组计算机,上层虚拟组计算机发送结果给问题求解计算机,问题求解计算机给出汇总整合结果。
本案实施方案2: MPI前台代理。如 本案实施方案1,如果一台超级计算机有10000个节点,可以将此一万个节点作为计算机一样处理形成虚拟组织结构;也可以以一台普通计算机作为前台代理,当子任务分配到此前台代理,根据设置和计算,将划分一超级计算机可计算机的子任务和其他子任务。可计算机的子任务发送到超级计算机进行计算(可能采用MPI计算),其他的子任务分配给下层虚拟组计算机。
本案实施方案3: 计算机节点的多种计算模式。计算机节点计算可以根据设置和计算采用线程并行、GPU并行等多种计算方式。如发现计算机节点支持GPU计算,计算机可从服务器下载解决此问题的GPU组件,进行计算。
Claims (4)
1.一种基于虚拟树型网络技术的分布式高性能计算方法,其特征在于:1)建立各种类型的计算机包括集群、个人计算机等组成虚拟分级拓扑树型结构的步骤; 2)找出递归划分求解问题为子问题的方法的步骤;3)计算和返回结果或将子问题逐级分配到虚拟分级树下层的节点方法的步骤。
2. 根据权利要求1所述的建立各种类型的计算机包括集群、个人计算机等组成虚拟分级拓扑树型结构的步骤,计算机节点通过一定的方法形成虚拟分级拓扑结构,可以是用户加入相应的虚拟组,也可以是计算机程序自动形成虚拟分级拓扑结构;对于超级计算机或集群机,可以采用一个PC作为前端代理,也可以将内部节点作为单独计算机,和其他计算机节点一起构建虚拟分级拓扑网络;在虚拟分级拓扑结构中,先将所有计算机节点分组,然后从每组中选出1个或多个节点组成上一级虚拟组,以此类推,直到形成唯一的一个顶级组,从而形成了虚拟分类树。
3. 根据权利要求1所述的找出递归划分求解问题为子问题的方法的步骤,对需要求解的问题找到可以递归划分为子问题的方法,即问题P划分为n 个 子问题sPi, 每个子问题又可以划分为 m个子子问题sPj,以此类推。
4. 根据权利要求1所述的计算和返回结果或将子问题逐级分配到虚拟分级树下层的节点方法的步骤,求解的问题划分为n个子问题,每个子问题分配给虚拟分级树的顶级组,如果这个组的计算机可以求出子问题,则求出结果,然后返回结果; 如果这个组的计算机不能求出结果,则将此子问题进一步划分成m个子子问题,再将此子子问题分配到下一层组的计算机; 下一层的计算机如果能求出子子问题,则求出结果,然后返回结果;否则, 则进一步划分为子子子问题,再将此子子子问题分配到下一层组的计算机; 以此类推,直到所有子…子问题都求出为止; 将所有返回的结果进行整合;求出问题的完全解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107767.9A CN104702690A (zh) | 2015-03-12 | 2015-03-12 | 基于虚拟树型网络技术的分布式高性能计算的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107767.9A CN104702690A (zh) | 2015-03-12 | 2015-03-12 | 基于虚拟树型网络技术的分布式高性能计算的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104702690A true CN104702690A (zh) | 2015-06-10 |
Family
ID=53349448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510107767.9A Pending CN104702690A (zh) | 2015-03-12 | 2015-03-12 | 基于虚拟树型网络技术的分布式高性能计算的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702690A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955710A (zh) * | 2016-04-22 | 2016-09-21 | 广州市长程软件有限公司 | 基于树形通讯结构的并行仿真数据处理方法 |
CN108540306A (zh) * | 2018-02-28 | 2018-09-14 | 博尔联科(厦门)智能技术有限公司 | 一种网络节点管理方法及其通讯控制方法 |
WO2019137416A1 (zh) * | 2018-01-12 | 2019-07-18 | 华为技术有限公司 | 一种基于树状拓扑的计算系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505272A (zh) * | 2009-03-02 | 2009-08-12 | 浙江理工大学 | 一种基于p2p的查找有关节点子集合的方法 |
CN101616182A (zh) * | 2009-07-16 | 2009-12-30 | 浙江理工大学 | 一种构建具有语义的p2p网络的方法 |
CN101621539A (zh) * | 2009-08-06 | 2010-01-06 | 浙江理工大学 | 一种构建垂直虚拟组的p2p网络的方法 |
US20110225277A1 (en) * | 2010-03-11 | 2011-09-15 | International Business Machines Corporation | Placement of virtual machines based on server cost and network cost |
-
2015
- 2015-03-12 CN CN201510107767.9A patent/CN104702690A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505272A (zh) * | 2009-03-02 | 2009-08-12 | 浙江理工大学 | 一种基于p2p的查找有关节点子集合的方法 |
CN101616182A (zh) * | 2009-07-16 | 2009-12-30 | 浙江理工大学 | 一种构建具有语义的p2p网络的方法 |
CN101621539A (zh) * | 2009-08-06 | 2010-01-06 | 浙江理工大学 | 一种构建垂直虚拟组的p2p网络的方法 |
US20110225277A1 (en) * | 2010-03-11 | 2011-09-15 | International Business Machines Corporation | Placement of virtual machines based on server cost and network cost |
Non-Patent Citations (1)
Title |
---|
王历: "《基于树形网络的云计算环境下的任务调度策略》", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955710A (zh) * | 2016-04-22 | 2016-09-21 | 广州市长程软件有限公司 | 基于树形通讯结构的并行仿真数据处理方法 |
CN105955710B (zh) * | 2016-04-22 | 2019-03-01 | 广州市长程软件有限公司 | 基于树形通讯结构的并行仿真数据处理方法 |
WO2019137416A1 (zh) * | 2018-01-12 | 2019-07-18 | 华为技术有限公司 | 一种基于树状拓扑的计算系统及方法 |
CN108540306A (zh) * | 2018-02-28 | 2018-09-14 | 博尔联科(厦门)智能技术有限公司 | 一种网络节点管理方法及其通讯控制方法 |
CN108540306B (zh) * | 2018-02-28 | 2021-05-25 | 博尔联科(厦门)智能技术有限公司 | 一种网络节点的通讯控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jatoth et al. | QoS-aware Big service composition using MapReduce based evolutionary algorithm with guided mutation | |
Alfarrarjeh et al. | Scalable spatial crowdsourcing: A study of distributed algorithms | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN105471985A (zh) | 负载均衡方法及云平台计算方法、云平台 | |
Niu et al. | GMTA: A geo-aware multi-agent task allocation approach for scientific workflows in container-based cloud | |
Pop et al. | ARMCO: Advanced topics in resource management for ubiquitous cloud computing: An adaptive approach | |
Chen et al. | Tology-aware optimal data placement algorithm for network traffic optimization | |
Khanli et al. | FRDT: footprint resource discovery tree for grids | |
Rashid et al. | Distributed and parallel computing system using single-client multi-hash multi-server multi-thread | |
Theng et al. | VM management for cross-cloud computing environment | |
CN104702690A (zh) | 基于虚拟树型网络技术的分布式高性能计算的方法 | |
Ma et al. | Multidimensional parallel dynamic programming algorithm based on spark for large-scale hydropower systems | |
Yang et al. | K-Means Method for Grouping in Hybrid MapReduce Cluster. | |
Shi et al. | Partitioning dynamic graph asynchronously with distributed FENNEL | |
Chandrasekaran et al. | Load balancing of virtual machine resources in cloud using genetic algorithm | |
Chen et al. | A cost minimization data allocation algorithm for dynamic datacenter resizing | |
Li | New divisible load distribution methods using pipelined communication techniques on tree and pyramid networks | |
Gangeshwari et al. | Hpcloud: A novel fault tolerant architectural model for hierarchical mapreduce | |
Hinge et al. | MuGDAD: Multilevel graph drawing algorithm in a distributed architecture | |
de Rezende et al. | MapReduce with components for processing big graphs | |
Jin et al. | A data-locality-aware task scheduler for distributed social graph queries | |
CN103020197B (zh) | 网格仿真平台及网格仿真方法 | |
Wu et al. | ACO-DPDGW: an ant colony optimization algorithm for data placement of data-intensive geospatial workflow | |
Benjamas et al. | Enhancing parallel data mining performance on a large cluster using UCE scheduling | |
Ebrahimi et al. | Task and data allocation strategies for big data workflows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150610 |