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

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

Info

Publication number
WO2020124488A1
WO2020124488A1 PCT/CN2018/122369 CN2018122369W WO2020124488A1 WO 2020124488 A1 WO2020124488 A1 WO 2020124488A1 CN 2018122369 W CN2018122369 W CN 2018122369W WO 2020124488 A1 WO2020124488 A1 WO 2020124488A1
Authority
WO
WIPO (PCT)
Prior art keywords
data center
constraints
application
mapping
application process
Prior art date
Application number
PCT/CN2018/122369
Other languages
English (en)
French (fr)
Inventor
周池
肖遥
毛睿
Original Assignee
深圳大学
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 深圳大学 filed Critical 深圳大学
Publication of WO2020124488A1 publication Critical patent/WO2020124488A1/zh

Links

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]

Definitions

  • This application relates to the field of electronic technology, and in particular, to an application process mapping method, an electronic device, and a computer-readable storage medium.
  • the currently leading algorithm is a heuristic greedy algorithm (Greedy algorithm), which is used to solve the process mapping problem in heterogeneous networks.
  • This method is based on the greedy algorithm's mapping strategy. This method has low overhead and can achieve better optimization results; the other is a mapping optimization method (MPIPP, MPI Process Placement toolset) for any message-passing application.
  • MPIPP MPI Process Placement toolset
  • This method is based on a k-way graph. This method has a relatively large search space, and is more applicable to the process mapping problem of any messaging application. But these two methods are the research on the traditional mapping problem in cluster or grid computing. They do not consider the unique characteristics of the process mapping problem in the geographically distributed environment.
  • the first is the network characteristics in a geographically distributed environment: the network bandwidth in the data center is much higher than the network bandwidth between the data centers; the network bandwidth between the data centers is highly correlated with the geographic distance between the data centers.
  • the second is the data migration constraints in a geographically distributed environment: due to the varying degrees of data privacy protection in various countries and regions in the world, data is not allowed to be processed from areas with high data privacy protection levels to areas with low data privacy protection levels. Therefore, the process mapping problem in a geographically distributed environment is a process mapping problem with constraints. Since the Greedy algorithm and the MPIPP algorithm do not consider the above-mentioned characteristics of process mapping in a geographically distributed environment, these two algorithms may not be applicable to the process mapping problem in a geographically distributed environment.
  • S1 M data centers are grouped into K data center groups, and the data centers in the K data center groups are sorted separately, and the K data center groups obtain a combination of H ordered data center groups; H, the K and the M are integers greater than zero; the data center is used to run application processes, the application processes include: application processes with constraints and application processes without constraints;
  • step S3 Use the method of step S2 to obtain the corresponding mapping scheme and communication cost of the combination of the H ordered data center groups respectively, and select the combined mapping scheme of the ordered data center group with the smallest communication cost as the final Mapping scheme.
  • This application scheme designs a mapping method for application processes based on constraints, which can generate process mapping schemes that meet the requirements of data privacy protection and have a lower cost in response to the characteristics of network heterogeneity and data privacy protection in a geographically distributed environment. Solve the process mapping problem with constraints, and at the same time get a higher performance improvement.
  • FIG. 1-a is a schematic diagram of an implementation process of an application process mapping method provided by an embodiment of this application.
  • FIG. 1-b is a schematic diagram of a network architecture of an application process mapping method provided by an embodiment of this application.
  • 1-c is a schematic diagram of a communication mode matrix provided by an embodiment of this application.
  • Figure 1-e is a schematic diagram of a constraint matrix provided by an embodiment of this application.
  • FIG. 2 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a hardware structure of an electronic device provided by another embodiment of the present application.
  • An embodiment of the present application provides an application process mapping method. Please refer to FIG. 1-a.
  • the application process mapping method mainly includes the following steps:
  • M data centers are grouped into K data center groups, and the data centers in the K data center groups are sorted separately, and the K data center groups obtain a combination of H ordered data center groups; the H, The K and the M are integers greater than zero; the data center is used to run application processes, and the application processes include: application processes with constraints and application processes without constraints.
  • the H may be equal to the factorial of K, or may be smaller than the factorial of K, which is not specifically limited herein.
  • process mapping process mapping
  • constraints for example, data migration constraints in a geographically distributed environment: due to the varying degrees of data privacy protection in various countries and regions of the world, data is not allowed to migrate from areas with high data privacy protection levels to data privacy protection levels Low areas are processed. Therefore, the process mapping problem in a geographically distributed environment is a process mapping problem with constraints.
  • map application processes with constraints to data centers in the data center group that satisfy the constraints; map application processes without constraints to the data In the remaining data centers of the central group, until all the application processes to be mapped have completed the mapping, the communication overhead of the mapping scheme is calculated.
  • the remaining data center refers to a data center remaining after the application process with constraints in a data center group is mapped.
  • the K-means algorithm may be used to aggregate M data centers into K data center groups.
  • A1 sort the constrained application processes according to the degree of tightness of the constrained conditions; specifically, the degree of tightness is determined according to the number of data centers to which the processes can be mapped, and the constrained constrained processes can be mapped The greater the number of data centers, the looser the constraints.
  • the degree of tightness of the constraints of process p is defined as: .
  • tt p the largest
  • A2 For the first application process to be mapped with the tightest constraints, calculate the first traffic of the first application process in the potential data center that meets its constraints, and map the first application process to the Update the available nodes in the first potential data center in the first potential data center with the largest first traffic, and when the available nodes in the first potential data center are zero, the first potential data center does not Participate in the calculation of the degree of tightness;
  • A3 Repeat steps A1 and A2 until all application processes with constraints are mapped to the data center.
  • the potential data center refers to the data center to which application processes are to be distributed.
  • the "first” in the “first application process”, “first traffic” and “first potential data center” described in the above example is a label used to refer to the mapping of the constrained application process Calculation does not have other meanings such as order, degree, size, etc.
  • a heuristic mapping algorithm may be used. Specifically: B1: Calculate the second communication volume of each of the application processes without constraints in the remaining data center; the calculation method of the second communication volume is: the application process p and the mapped to the data center The traffic between the constrained application processes in m, and the application process p and The sum of the traffic between the neighboring application processes with the largest traffic, where Is the number of remaining available nodes in the data center m; B2: select the second application process with the second largest traffic in the remaining data center among the application processes without constraints, and map the second application process To the second potential data center with the largest second traffic, and the second potential data center is no longer a potential data center; B3: Repeat steps B 1 and B 2 until all applications without constraints Processes are mapped to the data center.
  • the "second” in the “second application process”, “second traffic” and “second potential data center” described in the above example is a label used to refer to the mapping of the constrained application process Calculation does not have other meanings such as order, degree, size, etc.
  • step 102 the communication costs corresponding to the combinations of the H ordered data center groups are respectively obtained, and the combined mapping scheme of the ordered data center group with the smallest communication cost is selected as the final mapping scheme.
  • this application scheme has designed a mapping method for application processes based on constraints, which can generate features that meet the requirements of data privacy protection and have low overhead in response to the characteristics of network heterogeneity and data privacy protection in a geographically distributed environment.
  • the process mapping solution can solve the process mapping problem with constraints, and at the same time obtain a higher performance improvement.
  • a network calibration module and an application performance analysis module are provided in the entire network architecture.
  • FIG. 1-b including:
  • the network calibration module obtains And PC, after that, And PC transmission to the packet optimization module; the application performance analysis module gets with After that, It is transmitted to the mapping optimization module, and the mapping optimization module synthesizes the processing results of the group optimization module to obtain the process mapping scheme.
  • L T and B T two matrices of size M*M, which respectively represent the delay and bandwidth between different data centers, the elements L T (k ' , l ' ) and B T (k ' , l ' ) respectively the bandwidth and latency between a data center k 'and l'.
  • the diagonal elements of the matrix represent the delay and bandwidth in the data center.
  • the communication mode matrix C G where the element C G (i, j) represents the communication volume between the application process i and the application process j.
  • the count matrix AG where the element AG (i, j) represents the number of times the application process i sends information to the application process j.
  • the communication overhead can be calculated as follows:
  • w i , j represents the communication volume between the application process i and the application process j
  • d k ', l ' represents the network performance between the data center k'and l'
  • f(w, d) is the cost function
  • N-dimensional vector Indicates the mapping result, where the i-th element indicates the data center to which the application process i is mapped.
  • the problem to be solved in this application is the optimization problem with constraints described in formulas (2) and (3).
  • the mapping optimization algorithm in the embodiment of the present application uses the results of network calibration and application performance analysis as inputs.
  • a group optimization method is used to cluster nearby data centers into a large data center, thereby reducing the overhead of the mapping optimization algorithm.
  • the reasons for this design are as follows: First, the use of a network calibration module and application performance analysis module enables the entire optimization process to run automatically without the need for users to provide network or application information; and secondly, the solution space for this problem is large (O(N M )) Therefore, it is very difficult to find the optimal solution in an acceptable time, so the purpose is to find a better solution with relatively low overhead.
  • the network calibration module is used to measure the network performance between different data centers.
  • one machine is selected from each of the data centers k'and l', and the Pingpong_Send_Recv function in the standard inspection program is used to send and receive messages and measure the time consumed.
  • the delay is the time it takes to send a one-byte message, and the bandwidth can be calculated using the time it takes to send 8MB of information. In this way, the delay matrix L T and the bandwidth matrix B T can be obtained.
  • the performance analysis module is used to generate a communication mode matrix C G and a count matrix A G.
  • the mapping optimization module uses the proposed geographically distributed process mapping algorithm to obtain a better application process mapping scheme.
  • the general steps of the algorithm are as follows: first, use the K-means algorithm to gather M data centers into k groups; for a given sequence of data center groups, first map the application process with constraints to the data centers that meet the conditions, Then use a heuristic algorithm to map the application process without constraints. The following will explain in detail how to map the application process with constraints and the application process without constraints.
  • the application processes to map the application processes with constraints, first sort the application processes according to the degree of tightness of the constraints, where the degree of tightness of the constraints of the application process p is defined as: .
  • the degree of tightness of the constraints of the application process p is defined as: .
  • calculate their possible data center traffic that is, the first application processes mentioned above are ranked first in the potential data centers that meet their constraints. Traffic
  • the possible traffic in the data center of an application process p in the data center m refers to the sum of the traffic between the application process p and all unmapped application processes that can be mapped to m.
  • the traffic of the application process p in the data center in the data center m is defined as follows: the traffic between the application process p and the constrained application process that has been mapped to m, and p and its The sum of the traffic between the neighboring application processes with the largest traffic, where Is the number of remaining available nodes in data center m.
  • the above method is used to obtain a mapping scheme, and the scheme with the least cost is selected as the final mapping scheme.
  • mapping algorithm For ease of understanding, the following describes the flow of the mapping algorithm through an example, including:
  • An application has 8 application processes, numbered 1-8; there are four data centers, divided into four groups, numbered 1-4, each data center has two nodes, namely .
  • the calculation of overhead consists of two parts: delay overhead and bandwidth overhead.
  • the overhead due to delay is much lower than the overhead due to bandwidth. For simplicity, the delay is ignored in this example. Sometimes only the overhead caused by bandwidth is calculated.
  • the communication mode matrix C G , the bandwidth matrix B T , and the constraint matrix C refer to FIGS. 1-c, 1-d, and 1-e, respectively.
  • the communication mode matrix C G (the first row and the first column are the application process number, the communication unit is MB, and empty means 0).
  • the bandwidth matrix B T (the first row and the first column are the data center number, and the bandwidth unit is MB/sec).
  • the application process with constraints is 1-4
  • the application process without constraints is 5-8.
  • the algorithm first maps the application process with constraints, and then maps without constraints Application process.
  • the detailed steps for applying the mapping algorithm in this example are as follows:
  • Map application process 1 to data center a, and calculate the number of remaining nodes in data center a:
  • Map application process 3 to data center b, and calculate the number of remaining nodes in data center b:
  • each data center group has only one data center, so in fact all subsequent operations on the data center group are right
  • the operation of the data centers in this group there are a total of 24 arrangements, but in this example, the data centers a and b are already occupied, and application processes without constraints cannot be mapped to these two data centers. So for simplicity, only the arrangement of data centers c and d is considered. There are two types (c, d) and (d, c). First, a mapping scheme is generated for the arrangement (c, d):
  • FIG. 2 provides an electronic device according to an embodiment of the present application.
  • the electronic device may be used to implement the application process mapping method provided in the embodiment shown in FIG. 1-a.
  • the electronic device mainly includes:
  • the grouping unit 201 is used to group M data centers into K data center groups, and sort the data centers in the K data center groups respectively.
  • the K data center groups obtain H ordered data center groups.
  • Combination; the H, the K and the M are integers greater than zero; the data center is used to run application processes, the application processes include: application processes with constraints and application processes without constraints;
  • the mapping calculation unit 202 is configured to map the application process with constraints to the data centers in the data center group that satisfy the constraints for any combination of the ordered data center groups; those without constraints The application process is mapped into the remaining data centers of the data center group until all the application processes to be mapped have completed the mapping scheme, and the communication overhead of the mapping scheme is calculated;
  • the scheme selection unit 203 is used to obtain the corresponding mapping scheme and communication cost of the combination of the H ordered data center groups respectively, and select the combined mapping scheme of the ordered data center group with the smallest communication cost as the final mapping Program.
  • mapping calculation unit is specifically used for:
  • A1 Sort the constrained application processes according to the tightness of the constrained conditions
  • A2 For the first application process to be mapped with the tightest constraints, calculate the first traffic of the first application process in the potential data center that meets its constraints, and map the first application process to the Update the available nodes in the first potential data center in the first potential data center with the largest first traffic, and when the available nodes in the first potential data center are zero, the first potential data center does not Participate in the calculation of the tightness;
  • A3 Repeat steps A1 and A2 until all application processes with constraints are mapped to the data center.
  • mapping calculation unit is also specifically used to:
  • B1 Calculate the second communication volume of each of the application processes without constraints in the remaining data center; the calculation method of the second communication volume is: the application process p and the mapped to the data center m Traffic between application processes with constraints, and application process p and The sum of the traffic between the neighboring application processes with the largest traffic, where Is the number of remaining available nodes in the data center m;
  • B2 Select the second application process with the largest second communication volume in the remaining data center among the application processes without constraints, and combine the process with the largest second communication volume and its corresponding Neighbor processes are mapped to corresponding data centers, and the second potential data center is no longer a potential data center;
  • Step B3 Repeat Step B 1 and Step B 2 until all application processes without constraints are mapped to the data center.
  • each functional module is only an example, and in actual applications, according to needs, such as the configuration requirements of the corresponding hardware or the convenience of software implementation, the The above function allocation is performed by different function modules, that is, the internal structure of the electronic device is divided into different function modules to complete all or part of the functions described above.
  • the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be completed by corresponding hardware executing corresponding software. All the embodiments provided in this specification can apply the above description principles, which will not be repeated below.
  • an electronic device please refer to FIG. 3, the electronic device includes:
  • the electronic device further includes:
  • At least one input device 303 and at least one output device 304 At least one input device 303 and at least one output device 304.
  • the memory 301, the processor 302, the input device 303, and the output device 304 are connected via a bus 305.
  • the input device 303 may specifically be a camera, a touch panel, a physical button, a mouse, or the like.
  • the output device 304 may specifically be a display screen.
  • the memory 301 may be a high-speed random access memory (RAM, Random Access Memory) memory, or a non-volatile memory (non-volatile memory), such as disk storage.
  • RAM Random Access Memory
  • non-volatile memory non-volatile memory
  • the memory 301 is used to store a set of executable program codes, and the processor 302 is coupled to the memory 301.
  • an embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium may be provided in the electronic device in each of the foregoing embodiments, and the computer-readable storage medium may be as shown in FIG. 3 above.
  • the memory in the embodiment is shown.
  • a computer program is stored on the computer-readable storage medium, and when the program is executed by the processor, the application process mapping method described in the foregoing embodiment shown in FIG. 1-a is implemented.
  • the computer-storable medium may also be various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a RAM, a magnetic disk, or an optical disk.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the modules is only a division of logical functions.
  • there may be other divisions for example, multiple modules or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or modules, and may be in electrical, mechanical or other forms.
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the integrated module is implemented in the form of a software function module and sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of the present application essentially or part of the contribution to the existing technology or all or part of the technical solution can be embodied in the form of a software product, the computer software product is stored in a readable storage
  • the medium includes several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application.
  • the foregoing readable storage media include various media that can store program codes, such as a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.

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个有序数据中心组的组合各自对应的映射方案及通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
有益效果
本申请方案设计了基于约束条件的应用进程的映射方法,能够针对地理分布式环境下网络异构性的特点以及数据隐私保护的特点,而生成满足数据隐私保护同时开销较小的进程映射方案能解决带有约束条件的进程映射问题,同时获得较高的性能提升。
附图说明
图1-a为本申请实施例提供的应用进程映射方法的实现流程示意图;
图1-b为本申请实施例提供的应用进程映射方法的网络架构示意图;
图1-c为本申请实施例提供的通信模式矩阵示意图;
图1-d为本申请实施例提供的带宽矩阵示意图;
图1-e为本申请实施例提供的约束条件矩阵示意图;
图2为本申请一实施例提供的电子装置结构示意图;
图3为本申请另一实施例提供的电子装置硬件结构示意图。
本发明的最佳实施方式
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
以下为本申请实施例中参数的定义表:
Figure WO-DOC-FIGURE-17-1

Figure WO-DOC-FIGURE-17-2
实施例一
本申请实施例提供一种应用进程映射方法,请参阅图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 WO-DOC-FIGURE-31
。对具有最紧的约束条件(即tt p最大)并且未被映射的进程,计算它们可能的数据中心内通信量,来衡量一个进程对整体的数据中心间通信开销的影响。A2:对于约束条件最紧的待映射的第一应用进程,计算所述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量,将所述第一应用进程映射至所述第一通信量最大的第一潜在数据中心中,并更新所述第一潜在数据中心的可用节点,当所述第一潜在数据中心的可用节点为零时,则所述第一潜在数据中心不参与所述松紧程度的计算;A3:重复步骤A1和步骤A2,直至所有带约束条件的应用进程都映射至数据中心。
其中,潜在数据中心指的是待分配应用进程的数据中心。
其中,上述示例所描述的“第一应用进程”、“第一通信量”和“第一潜在数据中心”中的“第一”是一种标号,用于指代带约束条件应用进程的映射计算,不具有其它顺序、程度、大小等含义。
示例性的,在映射不带约束条件的应用进程的步骤中,可以使用启发式的映射算法。具体为:B1:计算各个所述不带约束条件的应用进程分别在所述剩余的数据中心的第二通信量;所述第二通信量的计算方法为:应用进程p和已映射至数据中心m中的带约束条件应用进程之间的通信量,以及应用进程p与
Figure WO-DOC-FIGURE-34-1
其个通信量最大的邻居应用进程之间通信量的和,其中
Figure WO-DOC-FIGURE-34-2
是数据中心m剩余的可用节点数;B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将所述第二应用进程映射至所述第二通信量最大的第二潜在数据中心中,且所述第二潜在数据中心不再作为潜在数据中心;B3:重复步骤B 1和步骤B 2,直至所有不带约束条件的应用进程都映射至数据中心。
其中,上述示例所描述的“第二应用进程”、“第二通信量”和“第二潜在数据中心”中的“第二”是一种标号,用于指代带约束条件应用进程的映射计算,不具有其它顺序、程度、大小等含义。
103、确定最终映射方案。
使用步骤102的方法,分别获得所述H个有序数据中心组的组合各自对应的通信开销,并选择所述通信开销最小的有序数据中心组的组合的映射方案作为最终映射方案。
由上可见,本申请方案设计了基于约束条件的应用进程的映射方法,能够针对地理分布式环境下网络异构性的特点以及数据隐私保护的特点,而生成满足数据隐私保护同时开销较小的进程映射方案能解决带有约束条件的进程映射问题,同时获得较高的性能提升。
本发明的实施方式
为了使得本申请中应用进程映射方法的整个优化过程能够自动运行,在整个网络架构中设置了网络校准模块和应用性能分析模块,具体的,请参阅图1-b,包括:
如图1-b所示,网络校准模块得到
Figure WO-DOC-FIGURE-40-1
以及PC,之后,将
Figure WO-DOC-FIGURE-40-2
以及PC传输给分组优化模块;应用性能分析模块得到
Figure WO-DOC-FIGURE-40-3
Figure WO-DOC-FIGURE-40-4
之后,将
Figure WO-DOC-FIGURE-40-5
传输给映射优化模块,映射优化模块综合分组优化模块的处理结果,得到进程映射方案。
定义L T和B T两个大小为M*M的矩阵,分别表示不同数据中心间的延时和带宽,其中的元素L T(k ,l )和B T(k ,l )分别表示数据中心k 与l 之间的延时和带宽。矩阵对角线上的元素则表示数据中心内的延时和带宽。
定义通信模式矩阵C G,其中元素C G(i,j)表示应用进程i与应用进程j之间的通信量。定义计数矩阵A G,其中元素A G(i,j)表示应用进程i发送给应用进程j的信息的次数。
根据以上定义,当应用进程i映射到数据中心k ,应用进程j映射到数据中心l 时,通信开销可以按以下公式计算:
Figure WO-DOC-FIGURE-44
其中,w i j表示应用进程i和应用进程j之间的通信量,d k ’, 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 WO-DOC-FIGURE-47
表示映射结果,其中第i个元素表示应用进程i映射到的数据中心。
定义M维向量
Figure WO-DOC-FIGURE-48
,其中第i个元素表示数据中心i中的可用节点数。
定义函数
Figure WO-DOC-FIGURE-49-1
,用于计数向量
Figure WO-DOC-FIGURE-49-2
中值等于m的元素的个数。
基于以上定义,问题可以用以下公式描述:
最小化
Figure WO-DOC-FIGURE-51
满足条件
Figure WO-DOC-FIGURE-52
以及
Figure WO-DOC-FIGURE-53
其中,
Figure WO-DOC-FIGURE-54
用公式(1)计算。
本申请所要解决的问题即公式(2)(3)所描述的带约束条件的优化问题。
请参阅图1-b,本申请实施例中的映射优化算法采用网络校准和应用性能分析的结果作为输入。给定一个网络校准的输出,使用分组优化方法来将附近的数据中心聚类成为一个大的数据中心,以此来减少映射优化算法的开销。这样设计的原因如下:首先,使用网络校准模块和应用性能分析模块使得整个优化过程能够自动运行,而无需用户提供网络或应用信息;其次由于该问题的解空间很大(O(N M)),因此在可以接受的时间内找到最优解是很困难的,因此目的是以相对低的开销找到比较好的解。
网络校准模块用于测量不同数据中心之间的网络性能。为了测量从数据中心k’到l’的网络性能,从数据中心k’和l’中各选出一台机器,使用标准检测程序中的Pingpong_Send_Recv函数,来发送和接受消息以及测量消耗的时间。延时即发送一个字节的消息所消耗的时间,带宽可以使用发送8MB的信息所消耗的时间计算得出。用这种方式可以获得延时矩阵L T和带宽矩阵B T
性能分析模块用于产生通信模式矩阵C G和计数矩阵A G
映射优化模块即使用提出的地理分布式进程映射算法来获得一个较好的应用进程映射方案。算法的大致步骤如下:首先利用K-means算法将M个数据中心聚成k个组;对于一个给定的数据中心组的序列,首先将带约束条件的应用进程映射到满足条件的数据中心,然后用一个启发式的算法映射不带约束条件的应用进程。下面将详细解释如何映射带约束条件的应用进程和不带约束条件的应用进程。
示例性的,要映射带约束条件的应用进程,首先将这些应用进程按照约束条件的松紧程度排序,其中应用进程p的约束条件的松紧程度定义为:
Figure WO-DOC-FIGURE-60
。对具有最紧的约束条件(即tt p最大)并且未被映射的应用进程,计算它们可能的数据中心内通信量(即,上述第一应用进程分别在符合其约束条件的潜在数据中心的第一通信量),来衡量一个应用进程对整体的数据中心间通信开销的影响。一个应用进程p在数据中心m中可能的数据中心内通信量是指,应用进程p与所有可以被映射到m的未被映射的应用进程之间的通信量总和。对每个应用进程,计算其在所有约束条件规定的数据中心中的可能数据中心内通信量,将最大的可能数据中心内通信量记为q p。从这些应用进程中选择具有最大的q p的应用进程记为p 0,将其映射到对应的数据中心m 0,并将数据中心m 0可用节点减一。当数据中心m 0可用节点为零时,设置该数据中心为“selected”,更新带约束应用进程的约束条件,即将数据中心m 0从tt的计算中移除。重复进行以上步骤直至所有带约束条件的应用进程全部映射到满足条件的数据中心。
示例性的,要映射不带约束的应用进程,首先将这些应用进程根据其通信量排序。选择通信量最大的应用进程,将其映射到能使应用进程数据中心内通信量(即,上述第二应用进程分别在所述剩余的数据中心的第二通信量)最大的数据中心。其中,应用进程p在数据中心m中的数据中心内通信量定义如下:应用进程p和已映射至m中的带约束条件应用进程之间的通信量,以及p与其
Figure WO-DOC-FIGURE-61-1
个通信量最大的邻居应用进程之间通信量的和,其中
Figure WO-DOC-FIGURE-61-2
是数据中心m剩余的可用节点数。设找到的最佳的数据中心为m 0,将应用进程p以及它前
Figure WO-DOC-FIGURE-61-3
个通信量最大的邻居应用进程映射到数据中心m 0中,将数据中心m 0设置为“selected”。重复以上步骤直至所有应用进程都被映射到对应数据中心。
对每一个数据中心组的序列,应用以上方法得到一个映射方案,选择开销最小的方案作为最终的映射方案。
实施例三
为了便于理解,以下通过一个例子说明映射算法的流程,包括:
某个应用有8个应用进程,编号为1-8;有四个数据中心,分为四组,编号为1-4,每个数据中心有两个节点,即
Figure WO-DOC-FIGURE-65
从上述公式(1)中可以看到,开销的计算由两部分组成:延时开销和带宽开销,由于延时造成的开销相对带宽造成的开销低很多,为简单起见,在本例中忽略延时而只计算带宽造成的开销。通信模式矩阵C G、带宽矩阵B T、约束条件矩阵C分别参见图1-c、图1-d图1-e。
图1-c中,通信模式矩阵C G(第一行和第一列分别是应用进程编号,通信量单位为MB,空表示0)。
图1-d中,带宽矩阵B T(第一行和第一列分别为数据中心编号,带宽单位为MB/sec)。
图1-e中,约束条件矩阵C(第一行为数据中心编号,第一列为应用进程编号)。
从约束条件矩阵可以看到,带有约束条件的应用进程为1-4,不带约束条件的应用进程为5-8,算法首先映射带有约束条件的应用进程,然后映射不带有约束条件的应用进程。该例应用映射算法的详细步骤如下:
1.选出未被映射且约束条件最紧的应用进程:1,2。
计算其最大的可能的数据中心内通信量,由于应用进程1和2只能映射到数据中心a中,因此只需要计算应用进程1、2在数据中心a中的可能的数据中心内通信量:
q 1=C G(1,2)+C G(2,1)=4
q 2=C G(1,2)+C G(2,1)+C G(2,3)+C G(3,2)=12
选择应用进程2和对应的数据中心a,将应用进程2映射至数据中心a中,计算数据中心a剩余节点数:
Figure WO-DOC-FIGURE-75
2.选出未被映射且约束条件最紧的应用进程:1。
计算其最大的可能的数据中心内通信量,即对应数据中心a的可能数据中心内通信量,由于应用进程2已被映射,因此计算应用进程1可能的数据中心内通信量时不再考虑与应用进程2的通信量:
Figure WO-DOC-FIGURE-77
将应用进程1映射到数据中心a中,计算数据中心a剩余节点数:
Figure WO-DOC-FIGURE-78
检测到数据中心a可用节点数为0,设置a为“selected”,更新未被映射的带约束条件的应用进程的约束条件松紧程度:
tt 3=3,tt 4=3
3.选出未被映射且约束条件最紧的应用进程:3,4。
由于数据中心a从约束条件中移除,只需计算应用进程3、4在数据中心b中的可能数据中心内通信量即为其最大的可能数据中心内通信量:
q 3=C G(3,4)+C G(4,3)=8
q 4=C G(3,4)+C G(4,3)+C G(4,5)+C G(5,4)=24
选择应用进程4映射到数据中心b中,计算数据中心b剩余节点数:
Figure WO-DOC-FIGURE-85
4.选出未被映射且约束条件最紧的应用进程:3;
计算其最大的可能的数据中心内通信量,即对应数据中心b的可能数据中心内通信量:
Figure WO-DOC-FIGURE-87
将应用进程3映射到数据中心b中,计算数据中心b剩余节点数:
Figure WO-DOC-FIGURE-88
检测到数据中心b可用节点数为0,设置b为“selected”,带约束条件的应用进程映射完毕。
然后映射不带约束条件的应用进程,首先将4个数据中心组进行全排(在本例中,每个数据中心组只有一个数据中心,所以实际上后面所有对数据中心组的操作即为对该组中的数据中心的操作),共有24种排列方式,但由于在本例中数据中心a和b已被占满,不带约束条件的应用进程不可能再映射到这两个数据中心,所以为简单起见,只考虑数据中心c和d的排列方式,一共有两种即(c,d)和(d,c)。首先对于排列(c,d)产生一个映射方案:
5.计算应用进程5-8的各自的总通信量:
q 5=C G(5,4)+C G(4,5)+C G(5,6)+C G(6,5)=20
q 6=C G(6,5)+ C G(5,6)+C G(6,7)+C G(7,6)=12
q 7=C G(7,6)+C G(6,7)+C G(7,8)+C G(8,7)=16
q 8=C G(8,7)+C G(7,8)=8
选择通信量最大的应用进程,即应用进程5进行映射,计算应用进程5在第c组数据中心的各个数据中心的数据中心内通信量(本例中第3组数据中心实际上只有一个数据中心,因此即计算应用进程5在数据中心c中的数据中心内通信量):
QI(5,c)=0+C G(5,6)+C G(6,5)=4
其中“0”表示应用进程5与已映射到数据中心c中的受约束条件的应用进程之间的通信量为0,“C G(5,6)+C G(6,5)”表示应用进程5其前
Figure WO-DOC-FIGURE-98
个通信量最大的未被映射的邻居应用进程之间的通信量之和为C G(5,6)+C G(6,5)。
将应用进程5和其前
Figure WO-DOC-FIGURE-99
个通信量最大的邻居应用进程6映射至数据中心c,设置数据中心c为“selected”。
6.选择未被映射的应用进程中通信量最大的应用进程,即应用进程7。
计算应用进程7在数据中心d中的数据中心内通信量:
Figure 966794dest_path_image022
QI(7,d)=0+C G(7,8)+ C G(8,7)=4
将应用进程7和其前
Figure WO-DOC-FIGURE-103
个通信量最大的邻居应用进程8映射至数据中心d,设置数据中心d为“selected”。这样不带约束条件的应用进程映射完毕,并产生了一个映射方案:
Figure WO-DOC-FIGURE-103-2
对排列(d,c)重复进行步骤5-6,产生另一个映射方案
Figure WO-DOC-FIGURE-104-1
,分别计算
Figure WO-DOC-FIGURE-104-2
对应的通信开销:
Figure WO-DOC-FIGURE-104-3
选择开销小的即
Figure WO-DOC-FIGURE-105
作为最终的映射方案。
在Amazon EC2和Windows Azure两个云平台上对算法进行了实验,分别对包括BT(Block Tri-diagonal solver分块三对角方程组求解算法)、SP(Scalar Penta-diagonal solver标量五对角方程组求解算法)、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 WO-DOC-FIGURE-117-1
个通信量最大的邻居应用进程之间通信量的和,其中
Figure WO-DOC-FIGURE-117-2
是数据中心m剩余的可用节点数;
B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
Figure WO-DOC-FIGURE-118
个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
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 WO-DOC-FIGURE-4-1
    个通信量最大的邻居应用进程之间通信量的和,其中
    Figure WO-DOC-FIGURE-4-2
    是数据中心m剩余的可用节点数;
    B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
    Figure WO-DOC-FIGURE-4-3
    个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
    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 WO-DOC-FIGURE-8-1
    个通信量最大的邻居应用进程之间通信量的和,其中
    Figure WO-DOC-FIGURE-8-2
    是数据中心m剩余的可用节点数;
    B2:选择所述不带约束条件的应用进程中在所述剩余的数据中心的第二通信量最大的第二应用进程,将第二通信量最大的进程及其对应的
    Figure WO-DOC-FIGURE-8-3
    个邻居进程映射到对应的数据中心,且所述第二潜在数据中心不再作为潜在数据中心;
    B3:重复步骤B1和步骤B2,直至所有不带约束条件的应用进程都映射至数据中心。
  9. 一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至5中的任意一项所述方法。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至5中的任意一项所述方法。
PCT/CN2018/122369 2018-12-20 2019-03-05 应用进程映射方法、电子装置及计算机可读存储介质 WO2020124488A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2020124488A1 true WO2020124488A1 (zh) 2020-06-25

Family

ID=66256939

Family Applications (1)

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

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
WO2021003704A1 (zh) * 2019-07-10 2021-01-14 深圳大学 含隐私约束条件的地理分布式进程映射方法、装置及终端
CN110347511B (zh) * 2019-07-10 2021-08-06 深圳大学 含隐私约束条件的地理分布式进程映射方法、装置及终端
CN112202599B (zh) * 2020-09-11 2021-08-03 北京科技大学 针对异构多核平台通信优化的拓扑感知映射方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334743A (zh) * 2008-05-21 2008-12-31 清华大学 基于配置文件的并行程序自动映射实现方法
CN105808358A (zh) * 2016-03-29 2016-07-27 西安交通大学 一种用于众核系统的数据相关性线程分组映射方法
US20160364909A1 (en) * 2015-06-15 2016-12-15 Microsoft Technology Licensing, Llc. Architecture impact analysis
CN108804383A (zh) * 2018-05-30 2018-11-13 深圳大学 基于度量空间的支撑点并行枚举方法及装置

Family Cites Families (4)

* 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 深圳市安盾椒图科技有限公司 强化应用软件安全性的方法及装置
CN105117292B (zh) * 2015-07-31 2018-09-14 华南理工大学 随机扩散动态负载均衡方法
CN106681827B (zh) * 2016-05-11 2021-04-06 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334743A (zh) * 2008-05-21 2008-12-31 清华大学 基于配置文件的并行程序自动映射实现方法
US20160364909A1 (en) * 2015-06-15 2016-12-15 Microsoft Technology Licensing, Llc. Architecture impact analysis
CN105808358A (zh) * 2016-03-29 2016-07-27 西安交通大学 一种用于众核系统的数据相关性线程分组映射方法
CN108804383A (zh) * 2018-05-30 2018-11-13 深圳大学 基于度量空间的支撑点并行枚举方法及装置

Also Published As

Publication number Publication date
CN109710403B (zh) 2020-08-14
CN109710403A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
US10445638B1 (en) Restructuring a multi-dimensional array
Choi et al. On-chip communication network for efficient training of deep convolutional networks on heterogeneous manycore systems
WO2021051713A1 (zh) 一种深度学习训练任务的工作方法及装置
EP3223169A1 (en) Search method and apparatus for graph data
Neelakandan et al. Large scale optimization to minimize network traffic using MapReduce in big data applications
WO2020133317A1 (zh) 计算资源分配技术及神经网络系统
WO2020124488A1 (zh) 应用进程映射方法、电子装置及计算机可读存储介质
WO2016123808A1 (zh) 数据处理系统、计算节点和数据处理的方法
US20040015628A1 (en) Interrupt handling in systems having multiple multi-processor clusters
US20100183028A1 (en) System And Method For Establishing Sufficient Virtual Channel Performance In A Parallel Computing Network
US20130227244A1 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
US11329690B2 (en) Network-on-Chip topology generation
Wu et al. Hierarchical task mapping for parallel applications on supercomputers
WO2020133463A1 (zh) 神经网络系统及数据处理技术
Chen et al. Tology-aware optimal data placement algorithm for network traffic optimization
EP3486774B1 (en) Method and device for dynamically assigning task and providing resources and system thereof
Zhou et al. Cost-aware partitioning for efficient large graph processing in geo-distributed datacenters
CN116070682B (zh) 神经元计算机操作系统的snn模型动态映射方法及装置
Sun et al. Multi-node acceleration for large-scale GCNs
WO2016197706A1 (zh) 数据的迁移方法及装置
US11310169B2 (en) Network-on-chip topology generation
EP4012573A1 (en) Graph reconstruction method and apparatus
Gaffour et al. A new congestion-aware routing algorithm in network-on-chip: 2D and 3D comparison
US11467973B1 (en) Fine-grained access memory controller
Chen et al. A cost minimization data allocation algorithm for dynamic datacenter resizing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18943499

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29.09.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18943499

Country of ref document: EP

Kind code of ref document: A1