CN109710403B - 应用进程映射方法、电子装置及计算机可读存储介质 - Google Patents

应用进程映射方法、电子装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109710403B
CN109710403B CN201811563648.4A CN201811563648A CN109710403B CN 109710403 B CN109710403 B CN 109710403B CN 201811563648 A CN201811563648 A CN 201811563648A CN 109710403 B CN109710403 B CN 109710403B
Authority
CN
China
Prior art keywords
data center
application process
mapping
constraint condition
application
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.)
Active
Application number
CN201811563648.4A
Other languages
English (en)
Other versions
CN109710403A (zh
Inventor
周池
肖遥
毛睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN201811563648.4A priority Critical patent/CN109710403B/zh
Priority to PCT/CN2018/122369 priority patent/WO2020124488A1/zh
Publication of CN109710403A publication Critical patent/CN109710403A/zh
Application granted granted Critical
Publication of CN109710403B publication Critical patent/CN109710403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种应用进程映射方法、电子装置及计算机可读存储介质,其中,该应用进程映射方法包括:S1:将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;S2:对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;S3:分别获得所述H个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。

Description

应用进程映射方法、电子装置及计算机可读存储介质
技术领域
本申请涉及电子技术领域,尤其涉及一种应用进程映射方法、电子装置及计算机可读存储介质。
背景技术
对于进程映射问题,目前处于领先水平的算法是一种启发式的贪心算法(Greedy算法),该算法用于解决异构网络中的进程映射问题,这种方法是基于贪心算法的映射策略,这种方法开销小,同时能取得较好的优化效果;另外一种是针对任意的消息传递型应用的映射优化方法(MPIPP,MPI Process Placement toolset),这种方法是基于k-way图划分的一种方法,这种方法搜索的空间比较大,对任意的消息传递型的应用的进程映射问题都比较适用。但这两种方法都是对在集群或网格计算中的传统映射问题的研究,它们都没有考虑到在地理分布式环境下的进程映射问题有其独特的特点。
首先是地理分布式环境下的网络特点:数据中心内的网络带宽比数据中心间的网络带宽要高很多;数据中心之间的网络带宽与数据中心之间的地理距离有很高的相关性。其次是地理分布式环境下的数据迁移约束:由于世界各个国家区域对数据隐私保护的程度不一,数据不允许从数据隐私保护级别高的区域迁移到数据隐私保护级别低的区域进行处理。因而地理分布式环境下的进程映射问题是带有约束条件的进程映射问题。由于Greedy算法和MPIPP算法并没有考虑上述的地理分布式环境下的进程映射的特点,因此这两种算法可能并不适用于地理分布式环境下的进程映射问题。
发明内容
本申请实施例提供一种应用进程映射方法、电子装置及计算机可读存储介质,用于解决地理分布式环境下网络异构性的特点以及数据隐私保护的特点的应用进程映射问题。
本申请实施例第一方面提供一种应用进程映射方法,包括:
S1:将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程;
S2:对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;
S3:使用步骤S2的方法,分别获得所述H个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
进一步地,所述将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合,包括:
使用K-means算法将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合。
进一步地,所述将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心,包括:
A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;
A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;
A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
进一步地,所述将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,包括:
B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure BDA0001913948590000031
-1个通信量最大的邻居应用进程之间通信量的和,其中I
Figure BDA0001913948590000032
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure BDA0001913948590000033
-1个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
B3:重复步骤B1和步骤B2,直至所有不带约束条件的应用进程都映射至数据中心。
进一步地,所述将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心之前,包括:
通过网络中的网络校准模块获取所述M个数据中心的延时矩阵和带宽矩阵;
通过网络中的性能分析模块获取所述N个应用进程之间的通信模式矩阵和计数矩阵;
所述计算映射方案的通信开销,包括:
根据所述延时矩阵、所述带宽矩阵、所述通信模式矩阵和所述计数矩阵计算映射方案对应的通信开销。
本申请实施例第二方面提供另一种电子装置,包括:
分组单元,用于将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程;
映射计算单元,用于对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;
方案选择单元,用于分别获得所述H个有序数据中心组的组合各自对应的通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
进一步地,所述映射计算单元具体用于:
A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;
A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;
A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
进一步地,所述映射计算单元具体还用于:
B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure BDA0001913948590000041
-1其个通信量最大的邻居应用进程之间通信量的和,其中
Figure BDA0001913948590000042
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure BDA0001913948590000043
-1个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
B3:重复步骤B1和步骤B2,直至所有不带约束条件的应用进程都映射至数据中心。
本申请实施例第三方面提供另一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本申请实施例第一方面提供的应用进程映射方法。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的应用进程映射方法。
由上可见,本申请方案设计了基于约束条件的应用进程的映射方法,能够针对地理分布式环境下网络异构性的特点以及数据隐私保护的特点,而生成满足数据隐私保护同时开销较小的进程映射方案能解决带有约束条件的进程映射问题,同时获得较高的性能提升。
附图说明
图1-a为本申请实施例提供的应用进程映射方法的实现流程示意图;
图1-b为本申请实施例提供的应用进程映射方法的网络架构示意图;
图1-c为本申请实施例提供的通信模式矩阵示意图;
图1-d为本申请实施例提供的带宽矩阵示意图;
图1-e为本申请实施例提供的约束条件矩阵示意图;
图2为本申请一实施例提供的电子装置结构示意图;
图3为本申请另一实施例提供的电子装置硬件结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
以下为本申请实施例中参数的定义表:
Figure BDA0001913948590000061
实施例一
本申请实施例提供一种应用进程映射方法,请参阅图1-a,该应用进程映射方法主要包括以下步骤:
101、将M个数据中心聚成K个数据中心组;
将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程。
具体的,所述H可以等于K的阶乘,也可以小于K的阶乘,此处具体不作限定。
在本发明实施例中,将一系列的进程分配到各个机器上,使得进程间的通信能够有效地利用网络中的物理链路,这样的过程称为进程映射(process mapping)的过程。
考虑到在按地区分布的云环境(geo-distributed cloud environment)中,现有技术中存在一个有别于传统的进程映射的问题:带约束的进程映射。
关于约束条件,示例性的,如地理分布式环境下的数据迁移约束:由于世界各个国家区域对数据隐私保护的程度不一,数据不允许从数据隐私保护级别高的区域迁移到数据隐私保护级别低的区域进行处理。因而地理分布式环境下的进程映射问题是带有约束条件的进程映射问题。
102、将应用进程映射到数据中心,并计算映射方案对应的通信开销;
对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射,计算映射方案的通信开销。
在本发明实施例中,所述剩余的数据中心指的是,一个数据中心组中带约束条件的应用进程映射完后剩余的数据中心。
示例性的,可以使用K-means算法将M个数据中心聚成K个数据中心组。
具体的,A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;具体的,松紧程度根据进程可被映射到的数据中心数量来定,约束条件约束进程可被映射到的数据中心数量越多,约束条件越松。
示例性的,进程p的约束条件的松紧程度定义为:
Figure BDA0001913948590000071
对具有最紧的约束条件(即ttp最大)并且未被映射的进程,计算它们可能的数据中心内通信量,来衡量一个进程对整体的数据中心间通信开销的影响。A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
其中,潜在数据中心指的是待分配应用进程的数据中心。
其中,上述示例所描述的“第一应用进程”、“第一通信量”和“第一潜在数据中心”中的“第一”是一种标号,用于指代带约束条件应用进程的映射计算,不具有其它顺序、程度、大小等含义。
示例性的,在映射不带约束条件的应用进程的步骤中,可以使用启发式的映射算法。具体为:B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure BDA0001913948590000081
-1其个通信量最大的邻居应用进程之间通信量的和,其中
Figure BDA0001913948590000082
是数据中心m剩余的可用节点数;B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将所述第二应用进程映射至所述第二通信量最大的第二潜在数据中心中,且所述第二潜在数据中心不再作为潜在数据中心;B3:重复步骤B 1和步骤B 2,直至所有不带约束条件的应用进程都映射至数据中心。
其中,上述示例所描述的“第二应用进程”、“第二通信量”和“第二潜在数据中心”中的“第二”是一种标号,用于指代带约束条件应用进程的映射计算,不具有其它顺序、程度、大小等含义。
103、确定最终映射方案。
使用步骤102的方法,分别获得所述H个有序数据中心组的组合各自对应的通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
由上可见,本申请方案设计了基于约束条件的应用进程的映射方法,能够针对地理分布式环境下网络异构性的特点以及数据隐私保护的特点,而生成满足数据隐私保护同时开销较小的进程映射方案能解决带有约束条件的进程映射问题,同时获得较高的性能提升。
实施例二
为了使得本申请中应用进程映射方法的整个优化过程能够自动运行,在整个网络架构中设置了网络校准模块和应用性能分析模块,具体的,请参阅图1-b,包括:
如图1-b所示,网络校准模块得到LT、BT以及PC,之后,将LT、BT以及PC传输给分组优化模块;应用性能分析模块得到CG、AG
Figure BDA0001913948590000091
Figure BDA0001913948590000092
之后,将CG、AG
Figure BDA0001913948590000093
Figure BDA0001913948590000094
传输给映射优化模块,映射优化模块综合分组优化模块的处理结果,得到进程映射方案。
定义LT和BT两个大小为M*M的矩阵,分别表示不同数据中心间的延时和带宽,其中的元素LT(k’,l’)和BT(k’,l’)分别表示数据中心k’与l’之间的延时和带宽。矩阵对角线上的元素则表示数据中心内的延时和带宽。
定义通信模式矩阵CG,其中元素CG(i,j)表示应用进程i与应用进程j之间的通信量。定义计数矩阵AG,其中元素AG(i,j)表示应用进程i发送给应用进程j的信息的次数。
根据以上定义,当应用进程i映射到数据中心k’,应用进程j映射到数据中心l’时,通信开销可以按以下公式计算:
Figure BDA0001913948590000095
其中,wi,j表示应用进程i和应用进程j之间的通信量,dk’,l’表示数据中心k’和l’之间的网络性能,f(w,d)是开销函数。
定义大小为N*M的约束条件矩阵C,其中每个元素C(i,j)表示应用进程i能否映射到数据中心j中(C(i,j)=1表示应用进程i能映射到数据中心j,C(i,j)=0表示不能);若应用进程i能映射到所有数据中心(C(i,j)=1,j=1,2,...,M),表示应用进程i没有约束条件。
定义N维向量
Figure BDA0001913948590000096
表示映射结果,其中第i个元素表示应用进程i映射到的数据中心。
定义M维向量
Figure BDA0001913948590000101
其中第i个元素表示数据中心i中的可用节点数。
定义函数
Figure BDA0001913948590000102
用于计数向量
Figure BDA0001913948590000103
中值等于m的元素的个数。
基于以上定义,问题可以用以下公式描述:
最小化
Figure BDA0001913948590000104
满足条件
Figure BDA0001913948590000105
以及
Figure BDA0001913948590000106
其中,
Figure BDA0001913948590000107
用公式(1)计算。
本申请所要解决的问题即公式(2)(3)所描述的带约束条件的优化问题。
请参阅图1-b,本申请实施例中的映射优化算法采用网络校准和应用性能分析的结果作为输入。给定一个网络校准的输出,使用分组优化方法来将附近的数据中心聚类成为一个大的数据中心,以此来减少映射优化算法的开销。这样设计的原因如下:首先,使用网络校准模块和应用性能分析模块使得整个优化过程能够自动运行,而无需用户提供网络或应用信息;其次由于该问题的解空间很大(O(NM)),因此在可以接受的时间内找到最优解是很困难的,因此目的是以相对低的开销找到比较好的解。
网络校准模块用于测量不同数据中心之间的网络性能。为了测量从数据中心k’到l’的网络性能,从数据中心k’和l’中各选出一台机器,使用标准检测程序中的Pingpong_Send_Recv函数,来发送和接受消息以及测量消耗的时间。延时即发送一个字节的消息所消耗的时间,带宽可以使用发送8MB的信息所消耗的时间计算得出。用这种方式可以获得延时矩阵LT和带宽矩阵BT
性能分析模块用于产生通信模式矩阵CG和计数矩阵AG
映射优化模块即使用提出的地理分布式进程映射算法来获得一个较好的应用进程映射方案。算法的大致步骤如下:首先利用K-means算法将M个数据中心聚成k个组;对于一个给定的数据中心组的序列,首先将带约束条件的应用进程映射到满足条件的数据中心,然后用一个启发式的算法映射不带约束条件的应用进程。下面将详细解释如何映射带约束条件的应用进程和不带约束条件的应用进程。
示例性的,要映射带约束条件的应用进程,首先将这些应用进程按照约束条件的松紧程度排序,其中应用进程p的约束条件的松紧程度定义为:
Figure BDA0001913948590000111
对具有最紧的约束条件(即ttp最大)并且未被映射的应用进程,计算它们可能的数据中心内通信量(即,上述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量),来衡量一个应用进程对整体的数据中心间通信开销的影响。一个应用进程p在数据中心m中可能的数据中心内通信量是指,应用进程p与所有可以被映射到m的未被映射的应用进程之间的通信量总和。对每个应用进程,计算其在所有约束条件规定的数据中心中的可能数据中心内通信量,将最大的可能数据中心内通信量记为qp。从这些应用进程中选择具有最大的qp的应用进程记为p0,将其映射到对应的数据中心m0,并将数据中心m0可用节点减一。当数据中心m0可用节点为零时,设置该数据中心为“selected”,更新带约束应用进程的约束条件,即将数据中心m0从tt的计算中移除。重复进行以上步骤直至所有带约束条件的应用进程全部映射到满足条件的数据中心。
示例性的,要映射不带约束的应用进程,首先将这些应用进程根据其通信量排序。选择通信量最大的应用进程,将其映射到能使应用进程数据中心内通信量(即,上述第二应用进程分别在所述剩余的数据中心的第二通信量)最大的数据中心。其中,应用进程p在数据中心m中的数据中心内通信量定义如下:应用进程p和已映射至m中的带约束条件应用进程之间的通信量,以及p与其
Figure BDA0001913948590000112
-1个通信量最大的邻居应用进程之间通信量的和,其中
Figure BDA0001913948590000113
是数据中心m剩余的可用节点数。设找到的最佳的数据中心为m0,将应用进程p以及它前
Figure BDA0001913948590000114
-1个通信量最大的邻居应用进程映射到数据中心m0中,将数据中心m0设置为“selected”。重复以上步骤直至所有应用进程都被映射到对应数据中心。
对每一个数据中心组的序列,应用以上方法得到一个映射方案,选择开销最小的方案作为最终的映射方案。
实施例三
为了便于理解,以下通过一个例子说明映射算法的流程,包括:
某个应用有8个应用进程,编号为1-8;有四个数据中心,分为四组,编号为1-4,每个数据中心有两个节点,即
Figure BDA0001913948590000121
从上述公式(1)中可以看到,开销的计算由两部分组成:延时开销和带宽开销,由于延时造成的开销相对带宽造成的开销低很多,为简单起见,在本例中忽略延时而只计算带宽造成的开销。通信模式矩阵CG、带宽矩阵BT、约束条件矩阵C分别参见图1-c、图1-d图1-e。
图1-c中,通信模式矩阵CG(第一行和第一列分别是应用进程编号,通信量单位为MB,空表示0)。
图1-d中,带宽矩阵BT(第一行和第一列分别为数据中心编号,带宽单位为MB/sec)。
图1-e中,约束条件矩阵C(第一行为数据中心编号,第一列为应用进程编号)。
从约束条件矩阵可以看到,带有约束条件的应用进程为1-4,不带约束条件的应用进程为5-8,算法首先映射带有约束条件的应用进程,然后映射不带有约束条件的应用进程。该例应用映射算法的详细步骤如下:
1.选出未被映射且约束条件最紧的应用进程:1,2。
计算其最大的可能的数据中心内通信量,由于应用进程1和2只能映射到数据中心a中,因此只需要计算应用进程1、2在数据中心a中的可能的数据中心内通信量:
q1=CG(1,2)+CG(2,1)=4
q2=CG(1,2)+CG(2,1)+CG(2,3)+CG(3,2)=12
选择应用进程2和对应的数据中心a,将应用进程2映射至数据中心a中,计算数据中心a剩余节点数:
I(a)=2-1=1
2.选出未被映射且约束条件最紧的应用进程:1。
计算其最大的可能的数据中心内通信量,即对应数据中心a的可能数据中心内通信量,由于应用进程2已被映射,因此计算应用进程1可能的数据中心内通信量时不再考虑与应用进程2的通信量:
q1=0
将应用进程1映射到数据中心a中,计算数据中心a剩余节点数:
I(a)=1-1=0
检测到数据中心a可用节点数为0,设置a为“selected”,更新未被映射的带约束条件的应用进程的约束条件松紧程度:
tt3=3,tt4=3
3.选出未被映射且约束条件最紧的应用进程:3,4。
由于数据中心a从约束条件中移除,只需计算应用进程3、4在数据中心b中的可能数据中心内通信量即为其最大的可能数据中心内通信量:
q3=CG(3,4)+CG(4,3)=8
q4=CG(3,4)+CG(4,3)+CG(4,5)+CG(5,4)=24
选择应用进程4映射到数据中心b中,计算数据中心b剩余节点数:
I(b)=2-1=1
4.选出未被映射且约束条件最紧的应用进程:3;
计算其最大的可能的数据中心内通信量,即对应数据中心b的可能数据中心内通信量:
q3=0
将应用进程3映射到数据中心b中,计算数据中心b剩余节点数:
I(b)=1-1=0
检测到数据中心b可用节点数为0,设置b为“selected”,带约束条件的应用进程映射完毕。
然后映射不带约束条件的应用进程,首先将4个数据中心组进行全排(在本例中,每个数据中心组只有一个数据中心,所以实际上后面所有对数据中心组的操作即为对该组中的数据中心的操作),共有24种排列方式,但由于在本例中数据中心a和b已被占满,不带约束条件的应用进程不可能再映射到这两个数据中心,所以为简单起见,只考虑数据中心c和d的排列方式,一共有两种即(c,d)和(d,c)。首先对于排列(c,d)产生一个映射方案:
5.计算应用进程5-8的各自的总通信量:
q5=CG(5,4)+CG(4,5)+CG(5,6)+CG(6,5)=20
q6=CG(6,5)+CG(5,6)+CG(6,7)+CG(7,6)=12
q7=CG(7,6)+CG(6,7)+CG(7,8)+CG(8,7)=16
q8=CG(8,7)+CG(7,8)=8
选择通信量最大的应用进程,即应用进程5进行映射,计算应用进程5在第c组数据中心的各个数据中心的数据中心内通信量(本例中第3组数据中心实际上只有一个数据中心,因此即计算应用进程5在数据中心c中的数据中心内通信量):
QI(5,c)=0+CG(5,6)+CG(6,5)=4
其中“0”表示应用进程5与已映射到数据中心c中的受约束条件的应用进程之间的通信量为0,“CG(5,6)+CG(6,5)”表示应用进程5其前I(c)-1=1个通信量最大的未被映射的邻居应用进程之间的通信量之和为CG(5,6)+CG(6,5)。
将应用进程5和其前I(c)-1=1个通信量最大的邻居应用进程6映射至数据中心c,设置数据中心c为“selected”。
6.选择未被映射的应用进程中通信量最大的应用进程,即应用进程7。
计算应用进程7在数据中心d中的数据中心内通信量:
QI(7,d)=0+CG(7,8)+CG(8,7)=4
将应用进程7和其前I(d)-1=1个通信量最大的邻居应用进程8映射至数据中心d,设置数据中心d为“selected”。这样不带约束条件的应用进程映射完毕,并产生了一个映射方案:
Figure BDA0001913948590000141
对排列(d,c)重复进行步骤5-6,产生另一个映射方案
Figure BDA0001913948590000142
分别计算
Figure BDA0001913948590000143
Figure BDA0001913948590000144
对应的通信开销:
Figure BDA0001913948590000151
Figure BDA0001913948590000152
选择开销小的即
Figure BDA0001913948590000153
作为最终的映射方案。
在Amazon EC2和Windows Azure两个云平台上对算法进行了实验,分别对包括BT(Block Tri-diagonal solver分块三对角方程组求解算法)、SP(Scalar Penta-diagonalsolver标量五对角方程组求解算法)、LU(Lower-upper Gauss-Seidel solver自底向上的高斯-赛德尔迭代算法)、K-means聚类算法和DNN(deep neutral network深度神经网络)在内的五种应用使用了提出的算法,来测试算法的性能。实验表明本申请提出的算法相比目前最好的应用进程映射算法能获得平均40%的性能提升。
实施例四
请参阅图2,为本申请实施例提供一种电子装置。该电子装置可用于实现上述图1-a所示实施例提供的应用进程映射方法。如图2所示,该电子装置主要包括:
分组单元201,用于将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程;
映射计算单元202,用于对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;
方案选择单元203,用于分别获得所述H个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
进一步地,所述映射计算单元具体用于:
A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;
A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;
A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
进一步地,所述映射计算单元具体还用于:
B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure BDA0001913948590000161
-1个通信量最大的邻居应用进程之间通信量的和,其中
Figure BDA0001913948590000162
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure BDA0001913948590000163
-1个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
B3:重复步骤B 1和步骤B 2,直至所有不带约束条件的应用进程都映射至数据中心。
需要说明的是,以上图2示例的电子装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将电子装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,在实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本实施例提供的电子装置中各功能模块实现各自功能的具体过程,请参见上述图1-a所示实施例中描述的具体内容,此处不再赘述。
实施例五
本申请实施例提供一种电子装置,请参阅图3,该电子装置包括:
存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,处理器302执行该计算机程序时,实现前述图1-a所示实施例中描述的应用进程映射方法。
进一步的,该电子装置还包括:
至少一个输入设备303以及至少一个输出设备304。
上述存储器301、处理器302、输入设备303以及输出设备304,通过总线305连接。
其中,输入设备303具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备304具体可为显示屏。
存储器301可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器301用于存储一组可执行程序代码,处理器302与存储器301耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图3所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1-a所示实施例中描述的应用进程映射方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的应用进程映射方法、电子装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种应用进程映射方法,其特征在于,包括:
S1:将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程,其中,所述约束条件为地理分布式环境下的数据迁移约束;
S2:对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;
S3:使用步骤S2的方法,分别获得所述H个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
2.根据权利要求1所述的方法,其特征在于,
所述将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合,包括:
使用K-means算法将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合。
3.根据权利要求1所述的方法,其特征在于,
所述将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心,包括:
A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;
A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;
A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
4.根据权利要求1所述的方法,其特征在于,
所述将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,包括:
B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure FDA0002518764450000021
个通信量最大的邻居应用进程之间通信量的和,其中
Figure FDA0002518764450000022
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure FDA0002518764450000023
个邻居进程映射到对应的第二潜在数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
B3:重复步骤B1和步骤B2,直至所有不带约束条件的应用进程都映射至数据中心。
5.根据权利要求1所述的方法,其特征在于,
所述将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心之前,包括:
通过网络中的网络校准模块获取所述M个数据中心的延时矩阵和带宽矩阵;
通过网络中的应用性能分析模块获取所述N个应用进程之间的通信模式矩阵和计数矩阵;
所述计算映射的通信开销,包括:
根据所述延时矩阵、所述带宽矩阵、所述通信模式矩阵和所述计数矩阵计算映射方案对应的通信开销。
6.一种电子装置,其特征在于,包括:
分组单元,用于将M个数据中心聚成K个数据中心组,并分别对所述K个数据中心组中的数据中心进行排序,K个数据中心组得到H个有序数据中心组的组合;所述H、所述K和所述M为大于零的整数;所述数据中心用于运行应用进程,所述应用进程包括:带约束条件的应用进程和不带约束条件的应用进程,其中,所述约束条件为地理分布式环境下的数据迁移约束;
映射计算单元,用于对于任一个所述有序数据中心组的组合,将带约束条件的应用进程映射到所述数据中心组中满足所述约束条件的数据中心;将不带约束条件的应用进程映射到所述数据中心组剩余的数据中心中,直至所有待映射的应用进程都完成映射方案,计算映射方案的通信开销;
方案选择单元,用于分别获得所述H个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
7.根据权利要求6所述的装置,其特征在于,
所述映射计算单元具体用于:
A1:根据所述约束条件的松紧程度对所述带约束条件的应用进程进行排序;
A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;
A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
8.根据权利要求6所述的装置,其特征在于,
所述映射计算单元具体还用于:
B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure FDA0002518764450000041
个通信量最大的邻居应用进程之间通信量的和,其中
Figure FDA0002518764450000042
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure FDA0002518764450000043
个邻居进程映射到对应的第二潜在数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
B3:重复步骤B1和步骤B2,直至所有不带约束条件的应用进程都映射至数据中心。
9.一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至5中的任意一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至5中的任意一项所述方法。
CN201811563648.4A 2018-12-20 2018-12-20 应用进程映射方法、电子装置及计算机可读存储介质 Active CN109710403B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811563648.4A CN109710403B (zh) 2018-12-20 2018-12-20 应用进程映射方法、电子装置及计算机可读存储介质
PCT/CN2018/122369 WO2020124488A1 (zh) 2018-12-20 2019-03-05 应用进程映射方法、电子装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811563648.4A CN109710403B (zh) 2018-12-20 2018-12-20 应用进程映射方法、电子装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109710403A CN109710403A (zh) 2019-05-03
CN109710403B true CN109710403B (zh) 2020-08-14

Family

ID=66256939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811563648.4A Active CN109710403B (zh) 2018-12-20 2018-12-20 应用进程映射方法、电子装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN109710403B (zh)
WO (1) WO2020124488A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347511B (zh) * 2019-07-10 2021-08-06 深圳大学 含隐私约束条件的地理分布式进程映射方法、装置及终端
WO2021003704A1 (zh) * 2019-07-10 2021-01-14 深圳大学 含隐私约束条件的地理分布式进程映射方法、装置及终端
CN112202599B (zh) * 2020-09-11 2021-08-03 北京科技大学 针对异构多核平台通信优化的拓扑感知映射方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334743A (zh) * 2008-05-21 2008-12-31 清华大学 基于配置文件的并行程序自动映射实现方法
CN105117292A (zh) * 2015-07-31 2015-12-02 华南理工大学 随机扩散动态负载均衡方法
CN106681827A (zh) * 2016-05-11 2017-05-17 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235445B2 (en) * 2009-02-23 2016-01-12 International Business Machines Corporation Process mapping parallel computing
CN102254123B (zh) * 2011-06-22 2013-04-17 深圳市安盾椒图科技有限公司 强化应用软件安全性的方法及装置
US20160364909A1 (en) * 2015-06-15 2016-12-15 Microsoft Technology Licensing, Llc. Architecture impact analysis
CN105808358B (zh) * 2016-03-29 2019-10-18 西安交通大学 一种用于众核系统的数据相关性线程分组映射方法
CN108804383B (zh) * 2018-05-30 2022-04-12 深圳大学 基于度量空间的支撑点并行枚举方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334743A (zh) * 2008-05-21 2008-12-31 清华大学 基于配置文件的并行程序自动映射实现方法
CN105117292A (zh) * 2015-07-31 2015-12-02 华南理工大学 随机扩散动态负载均衡方法
CN106681827A (zh) * 2016-05-11 2017-05-17 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于云计算的配电自动化集群Lzo无损压缩新方法;屈志坚;《计算机测量与控制》;20140425;全文 *
高性能计算集群运行时环境的配置优化;曹宗雁;《科研信息化技术与应用 》;20111120;全文 *

Also Published As

Publication number Publication date
WO2020124488A1 (zh) 2020-06-25
CN109710403A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
US10943167B1 (en) Restructuring a multi-dimensional array
Chen et al. Improving large graph processing on partitioned graphs in the cloud
CN109710403B (zh) 应用进程映射方法、电子装置及计算机可读存储介质
Iandola et al. Firecaffe: near-linear acceleration of deep neural network training on compute clusters
US10567494B2 (en) Data processing system, computing node, and data processing method
US20180357541A1 (en) Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
CN105630800B (zh) 一种节点重要性排序的方法和系统
Esteves et al. Competitive k-means, a new accurate and distributed k-means algorithm for large datasets
EP2390810A2 (en) Taxonomic classification of metagenomic sequences
CN110188825B (zh) 基于离散多视图聚类的图像聚类方法、系统、设备及介质
CN111400555A (zh) 图数据查询任务处理方法、装置、计算机设备和存储介质
CN115168281B (zh) 一种基于禁忌搜索算法的神经网络片上映射方法和装置
CN103559205A (zh) 基于MapReduce的并行特征选择方法
Freitas et al. Survey on biclustering of gene expression data
CN114580606A (zh) 数据处理方法、装置、计算机设备和存储介质
CN110929218A (zh) 一种差异最小化随机分组方法及系统
CN110110119B (zh) 图像检索的方法、装置及计算机可读存储介质
CN108363740B (zh) Ip地址的分析方法、装置、存储介质及终端
CN103019852A (zh) 一种适用于大规模集群的mpi并行程序负载问题三维可视化分析方法
Shang et al. Efficient breadth-first search on large graphs with skewed degree distributions
CN116962419A (zh) 服务器分配策略的生成方法及装置、电子设备及存储介质
Fu et al. The ACA–BEM approach with a binary-key mosaic partitioning for modelling multiple bubble dynamics
CN116094941A (zh) 基于共识合作超网络模型的共识方法、系统、介质、电子设备
CN110347511B (zh) 含隐私约束条件的地理分布式进程映射方法、装置及终端
Bienz et al. TAPSpMV: Topology-aware parallel sparse matrix vector multiplication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant