# Research on Optimal Path of Data Migration among Multisupercomputer Centers

Authors: Gang Li; Qingpu Zhang; Zhengqian Feng
Journal: Scientific Programming
 (2016)

---

## Abstract

Data collaboration between supercomputer centers requires a lot of data migration. In order to increase the efficiency of data migration, it is necessary to design optimal path of data transmission among multisupercomputer centers. Based on the situation that the target center which finished receiving data can be regarded as the new source center to migrate data to others, we present a parallel scheme for the data migration among multisupercomputer centers with different interconnection topologies using graph theory analysis and calculations. Finally, we verify that this method is effective via numeric simulation.


---

## Body

## 1. Introduction

The development level of supercomputing is an important manifestation of the comprehensive power, which has become the strategic highland which every country competes for. A series of challenging problems can be solved in economic construction, social development, technological innovation, industrial upgrading, national security, and other aspects employing supercomputers.Supercomputing power and storage capacity of supercomputer centers can help enterprises and scientific research institutions more easily carry out the large-scale data-intensive computing tasks and have been increasingly applied in numerous fields, including global climate simulations, global climate modeling, gene mapping, gamma ray bursts, financial investment decisions, economic policy simulations, aerospace monitoring and control, and electronic-very long baseline interferometry [1–7]. In particular, petascale computing can detail the numerical simulation of multiphysics, cosmological evolution, molecular dynamics, and biomolecules [8]. It is important to note that some data-intensive computing tasks such as large hadron collider experiment require supercomputer centers to work cooperatively. However, supercomputer centers located in different regions will inevitably result in data migration between various centers. As for TB or even PB-class data size, the limited bandwidth of supercomputer centers will inevitably give rise to longer data migration time which will prolong the overall task completion time [9, 10]. In the case of multifiles transfer, time delay can also cause the increase of data migration time which also can prolong completion time of the overall task. Therefore, when there is a transmission task between different centers, an optimizing transmission path to make data transmission path the shortest will reduce the time of occupying bandwidth resources and can avoid effects on the migration of other data which will ultimately improve the efficiency of supercomputer centers [11].Data migration among supercomputer centers is a kind of shortest path problem in graph theory. There are several classic algorithms for this problem, such as Dijkstra, Floyd, Bellman-Ford, and SPFA. However, it must be noted that these algorithms cannot be directly used for searching the shortest path of data migration for the scenario that the source node can transfer data with a plurality of nodes connected to it and that a node which has obtained data from the previous one can also be used as a source node. In computer science, a lot of related researches have been done. Zhu et al. proposed a new method called Ap-proximate Path Searching (APS) for constructing the broadcast index at mobile clients with soft arrival times to destinations for this problem [12]. Ward and Wiegand researched on complexity results on labeled shortest path problems from wireless routing metrics [13]. Xie et al. found alternative shortest paths in spatial networks [14]. Buchholz and Felko presented a new approach to model weighted graphs with correlated weights at the edges. Such models are meaningful in describing many real world problems like routing in computer networks or finding shortest paths in traffic models under realistic assumptions [15]. Sommer has solved the shortest path queries in static networks [16]. Many other researchers have also done a lot of work on this issue. However, for shortest path of data migration among multisupercomputer centers with different interconnection topologies, the relevant researches and algorithms are very limited. Therefore, we do some research work on this issue.


## 2. Factors of Data Migration

Assume that there are five supercomputer centers located in different regions (or countries) and they are defined as A, B, C, D, and E, respectively, of which the distributions are shown in Figure1. Data migration needs to be carried out between each other due to business collaborations. In engineering practice, factors affecting data migration time are mainly physical factors, network link factors, transmission protocols used, and so forth. However, in this paper, we assume that physical factors and transmission protocols are the same, so the main factors affecting migration time are network link factors as follows.Figure 1
Distribution of supercomputer centers.(a) Bandwidth. Network link resource used in supercomputer centers is provided by network operators instead of private networks due to the high cost so that the transmission medium and bandwidth are deterministic.(b) Delay. Delay includes Processing Delay (Tp), Transmission Delay (Tt), Propagation Delay (Tew), and Queuing Delay (Tq). Tp and Tq are determined by the computing capability and the hardware performance of each node (physical device). Tt is determined by bandwidth. Tew is determined by length of the link [17, 18]. When the migrated data is M bits, the delay is (1)DM=Tp+Tew+Tq+Tt=Tp+Tew+Tq+MBw,where D(M) is the total delay. Bw is bandwidth.The optimal path of data migration among supercomputer centers can be obtained when(2)T=min⁡DM,where T is data migration time.Supercomputer centers are very advanced in terms of physical devices (such as network cards), so thatTp and Tq can be ignored. Electrical signal transmission speed is approximately equal to the speed of light and the route between supercomputer centers is less than 300000 kilometers, so Tew depending on the two factors is very short and it can also be ignored. In this case, the optimal path is mainly depending on Tt, what is determined by the size of data migrated and the bandwidth.It is assumed that data migrated isM bits and bandwidth between each other is Bwi; the data migration time determined by these two parameters is as in Table 1.Table 1
Data migration time between any two centers (units: hours).
A B C D E A 0 20 240 120 4.8 B 20 0 120 2.4 30 C 240 120 0 12 24 D 120 2.4 12 0 120 E 4.8 30 24 120 0


## 3. Optimal Path Planning for Data Migration

### 3.1. Main Theory

Shortest path problem is a classical algorithm in graph theory, which is intended to find the shortest path between two nodes in the graph. Therefore, this paper carries out relevant research using graph theory.(1)
Graph is a data structure consisting of vertices and edges which is usually expressed asG(v,e).(2)
A valuew(e) can be assigned to each edge e in G(v,e). w(e) is called the weight which represents the delay of each link.(3)
Given two vertices in weighted graph, the path with the minimum weight is the shortest path between them [19].(4)
For weighted graph, the weighted adjacency matrix can be expressed as(3)aij=wvivj,ifvi,vj∈E0,i=j∞,ifvi,vj∉E,wherevi and vj represent the vertices of weighted graph. wij denotes the weight of edge determined by vi and vj. aij is the value of this weighted adjacency matrix. E denotes the set of all edges.


### 3.2. Searching Method: Floyd

Floyd algorithm is the easiest shortest path algorithm which can obtain the shortest path between any two nodes in graph. To make it more convenient to discuss the shortest path between supercomputer centers under a variety of scenarios, this paper takes the Floyd algorithm as an example. Constructor method of Floyd is as follows.Assuming that vertices of weighted graph areV={v1,v2,…,vν}, for k=1,2,…,ν,(4)Dk=dijkν×νdijk=min⁡dijk-1,dikk-1+dkjk-1Rk=rijkν×ν,where dij(k) denotes the length of the shortest path in all paths from vi to vj. D(k) is distance matrix. R(k) is path matrix and rij(k) is the node numbered shortest path to pass from vi to vj.R ( ν ) can be obtained at the same time with D(ν) and the shortest path between any nodes can be found from R(ν) [20, 21].


### 3.3. Searching Process

According to data migration time between any two centers as assumed in Table1, the constraint network graph with weight w(e) is shown in Figure 2.Figure 2
Constraint network graph with weightwe.In this way, we can get result after each node (v1,v2,…,vν) insertion through iterative process according to the constructor method and constraint network graph with weight w(e) (D(1) represents k=1, which means that v1 is inserted. Similarly, D(2) represents k=2, which means that v2 is inserted. The rest can be done in the same manner. Moreover, “=” in the matrix is the element that has changed after iteration and A, B, C, D, and E are the five nodes). The corresponding distance matrix and path matrix are(5)D0=0202401204.82001202.430240120012241202.41201204.830241200,R0=ABCDEABCDEABCDEABCDEABCDE,D1=0202401204.82001202.424.8__240120012241202.41201204.824.8__241200,R1=ABCDEABCDA__ABCDEABCDEAA__CDE,D2=020140__22.4__4.82001202.424.8140__1200122422.4__2.412027.2__4.824.82427.2__0,R2=ABB__B__EABCDAB__BCDEB__BCDA__AACA__E,D3=02014022.44.82001202.424.81401200122422.42.412027.24.824.82427.20,R3=ABBBEABCDABBCDEBBCDAAACAE,D4=02034.4__22.44.820014.4__2.424.834.4__14.4__0122422.42.412027.24.824.82427.20,R4=ABD__BEABD__DAD__D__CDEBBCDAAACAE,D5=02028.8__22.44.820014.42.424.828.8__14.40122422.42.412027.24.824.82427.20,R5=ABE__BEABDDAE__DCDEBBCDAAACAE.The shortest path of data migration between any two supercomputer centers can be obtained from the distance matrix. Route of data migration between any two supercomputer centers can be traced from the path matrix. As we can see from the matrixR(5), to find the shortest path from A to D, we first get to the node B. Then we search the shortest path from B to D and find it can be direct to D, so the migration path is A→B→D. We can see from the matrix D(5) that the shortest path is 22.4: (6)D5=02028.822.44.820014.42.424.828.814.40122422.42.412027.24.824.82427.20,R5=ABEB1EABDD2AEDCDEBBCDAAACAE.


## 3.1. Main Theory

Shortest path problem is a classical algorithm in graph theory, which is intended to find the shortest path between two nodes in the graph. Therefore, this paper carries out relevant research using graph theory.(1)
Graph is a data structure consisting of vertices and edges which is usually expressed asG(v,e).(2)
A valuew(e) can be assigned to each edge e in G(v,e). w(e) is called the weight which represents the delay of each link.(3)
Given two vertices in weighted graph, the path with the minimum weight is the shortest path between them [19].(4)
For weighted graph, the weighted adjacency matrix can be expressed as(3)aij=wvivj,ifvi,vj∈E0,i=j∞,ifvi,vj∉E,wherevi and vj represent the vertices of weighted graph. wij denotes the weight of edge determined by vi and vj. aij is the value of this weighted adjacency matrix. E denotes the set of all edges.


## 3.2. Searching Method: Floyd

Floyd algorithm is the easiest shortest path algorithm which can obtain the shortest path between any two nodes in graph. To make it more convenient to discuss the shortest path between supercomputer centers under a variety of scenarios, this paper takes the Floyd algorithm as an example. Constructor method of Floyd is as follows.Assuming that vertices of weighted graph areV={v1,v2,…,vν}, for k=1,2,…,ν,(4)Dk=dijkν×νdijk=min⁡dijk-1,dikk-1+dkjk-1Rk=rijkν×ν,where dij(k) denotes the length of the shortest path in all paths from vi to vj. D(k) is distance matrix. R(k) is path matrix and rij(k) is the node numbered shortest path to pass from vi to vj.R ( ν ) can be obtained at the same time with D(ν) and the shortest path between any nodes can be found from R(ν) [20, 21].


## 3.3. Searching Process

According to data migration time between any two centers as assumed in Table1, the constraint network graph with weight w(e) is shown in Figure 2.Figure 2
Constraint network graph with weightwe.In this way, we can get result after each node (v1,v2,…,vν) insertion through iterative process according to the constructor method and constraint network graph with weight w(e) (D(1) represents k=1, which means that v1 is inserted. Similarly, D(2) represents k=2, which means that v2 is inserted. The rest can be done in the same manner. Moreover, “=” in the matrix is the element that has changed after iteration and A, B, C, D, and E are the five nodes). The corresponding distance matrix and path matrix are(5)D0=0202401204.82001202.430240120012241202.41201204.830241200,R0=ABCDEABCDEABCDEABCDEABCDE,D1=0202401204.82001202.424.8__240120012241202.41201204.824.8__241200,R1=ABCDEABCDA__ABCDEABCDEAA__CDE,D2=020140__22.4__4.82001202.424.8140__1200122422.4__2.412027.2__4.824.82427.2__0,R2=ABB__B__EABCDAB__BCDEB__BCDA__AACA__E,D3=02014022.44.82001202.424.81401200122422.42.412027.24.824.82427.20,R3=ABBBEABCDABBCDEBBCDAAACAE,D4=02034.4__22.44.820014.4__2.424.834.4__14.4__0122422.42.412027.24.824.82427.20,R4=ABD__BEABD__DAD__D__CDEBBCDAAACAE,D5=02028.8__22.44.820014.42.424.828.8__14.40122422.42.412027.24.824.82427.20,R5=ABE__BEABDDAE__DCDEBBCDAAACAE.The shortest path of data migration between any two supercomputer centers can be obtained from the distance matrix. Route of data migration between any two supercomputer centers can be traced from the path matrix. As we can see from the matrixR(5), to find the shortest path from A to D, we first get to the node B. Then we search the shortest path from B to D and find it can be direct to D, so the migration path is A→B→D. We can see from the matrix D(5) that the shortest path is 22.4: (6)D5=02028.822.44.820014.42.424.828.814.40122422.42.412027.24.824.82427.20,R5=ABEB1EABDD2AEDCDEBBCDAAACAE.


## 4. Application Model

We can easily obtain the shortest path between any two nodes from the searching process above. That is, if one supercomputer center is fixed, the other supercomputer center which can perform large-scale data-intensive computing tasks with it is also determined. However, the algorithm above cannot be applied to searching the shortest path when the data is distributed from one node to all nodes.


### 4.1. TSP Model That Does Not Return to the Source Node

Typically, data migration between supercomputer centers is interpreted as selecting a node as the source node and migrating data to other supercomputer centers from this source node and each node can be routed through only once. This scenario is TSP (Traveling Salesman Problem) model that does not return to the source node [22, 23]. TSP is a problem that given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? There has been a lot of research work in this field to solve the optimal data migration path problem based on the TSP model. This paper will no longer investigate for this scenario. Taking Figure 2 as example, if source node is 3 (C), the shortest path is 39.2 and migration path is C→D→B→A→E.


### 4.2. Data Migration in Parallel

The scenario introduced in Section4.1 is typical, but it does not consider the case when a node is migrating data with another node; it can also migrate data with other nodes at the same time. Moreover, a node which has obtained data from the previous node can also be used as the source node and all the source nodes can migrate data with a plurality of nodes connected to it in parallel. In order to solve this problem well, this paper presents an optimal path algorithm, which is as follows.Definition 1.
V = { v 1 , v 2 , … , v n }; V is the set of nodes.Definition 2.
A k is the set of nodes reached at step k, and Ak¯ denotes the nodes not reached yet, k∈{1,2,…,n-1}.Definition 3.
w v i v j k is weight between vi and vj at step k.Definition 4.
V s k is the source node of step k and Vek is the end node of step k.At stepk, we have(7)wvskvekk-1=min⁡wvikvjkk-1,vik∈Ak-1,vjk∈Ak-1¯Ak=Ak-1∪vek,Ak¯=Ak-1¯-vekwvekvjkk=wvekvjkk-1+wvskvekk-1,vjk∈Ak¯.Shortest path can be obtained when all nodes have reached (V=An-1). Of course, shortest path and migration path can be obtained through enumeration method when the number of nodes is small. In order to verify the correctness of this algorithm, we compared the results with that of enumeration. Taking Figure 2 as example, the shortest path obtained by enumeration is shown in Table 2 with each node as the source point.Table 2
Shortest path and migration path obtained by enumeration method in case 1.
Source point A B C D E Shortest path 28.8 24.8 28.8 27.2 27.2 Migration path A → E → C B → D → C C → D → B D → B → A → E E → A → B → D A → B → D B → A → E C → E → A D → C E → CHowever, as the number of nodes increases, the difficulty of enumeration will increase rapidly. The proposed algorithm can easily obtain the shortest path results, but it is likely to have mistakes. So we developed a function using this algorithm to simplify the calculation which has been tested in MATLAB. Function is as Algorithm1.Algorithm 1
function[result, routes] = parallel(start, results) count = size (results, 1); arrived = [start, start, 0]; while size(arrived) ~= count temp = Inf; from = 0; to = 0; for index = 1:count if ismember(index, arrived(:, 2)) == 0 for index2 = 1:size(arrived, 1) if results(arrived(index2, 2), index) < temp temp = results(arrived(index2, 2), index); from = arrived (index2, 2); to = index; end end end end results(to,:) = results(to,:) + temp; arrived = [arrived;[from to temp]]; end result = max(arrived(:,3)); routes = [arrived((2:count), 1), arrived((2:count), 2)];For example, selecting 3 (C) as resource point, the simulation result is shown in Figure S.1 in Supplementary Material available online athttp://dx.doi.org/10.1155/2016/5018213.Result shows that shortest path is 28.8 and data migration path is{C→D→B,C→E→A}. By comparison, the simulation result is the same as the result of enumeration, so the correctness of the algorithm is verified.It can be concluded that this algorithm is accurate and friendly (machine-executable). Although the time complexity isO(n2), the algorithm is feasible in solving these complex problems.


### 4.3. Data Migration among Nonfully Connected Centers

The above discussion is a perfect case, in which all nodes are connected to each other. If the nodes given are not connected to each other, can this algorithm still be used in searching shortest path? In order to verify the correctness of this algorithm in this case, this paper similarly takes Figure2 as an example. We assume that links between node A and node C, node B and node C, node B and node D, and node B and node E are removed (of course, you can remove any links between the nodes); then the entire constraint network graph is shown in Figure 3.Figure 3
Entire constraint network graph.First, get the shortest path and the migration path through enumeration method just as in Section4.2. The results are shown in Table 3.Table 3
Shortest path and migration path obtained by enumeration method in case 2.
Source point A B C D E Shortest path 40.8 60.8 48.8 60.8 36 Migration path A → E → C → D B → A → E → C → D C → E → A → B D → C → A → E → B E → A → B A → B C → D E → C → DSecond, get the shortest path and the migration path through simulation.Finally, compare the two sets of results and determine whether the results are identical.In addition, setting 3 (C) as the resource point, the simulation result is shown in Figure S.2 in Supplementary Material.Result shows that the shortest path is 48.8 and the data migration path is{C→E→A→B,C→D}. By comparison, the simulation result is the same as the result of enumeration, so this algorithm can be used in searching shortest path in this case.


### 4.4. Data Migration When Nodes Are Increasing

It is easy to find out the shortest path when the number of nodes is small. However, as the number of nodes increases, what will be the result? In order to verify that this algorithm can be applied to an arbitrary weighted graph, we carried out further experiments. You can randomly determine the number of nodes and the weight between them. For example, we randomly determine ten nodes and the weight between them and the entire constraint network graph just as in Figure4.Figure 4
Entire constraint network graph of 10 nodes.For example, setting 3 (C) as the resource point, the simulation result is shown in Figure S.3 in the Supplementary Material. Result shows that shortest path is 55 and data migration path is{C→D→B→F→H→G,C→E→A,D→J→I}. But what we have to note is that it will be very troublesome if we still use enumeration method directly just as in Sections 4.2 and 4.3 to verify the result, so we borrowed calculating process of Floyd. Searching shortest path in accordance with the process described in Section 3.2 and the result is as follows:(8)D10=020.028.832.04.825.051.035.052.856.820.0024.012.024.85.031.015.047.043.028.824.0012.024.029.055.039.048.044.032.012.012.0036.017.043.027.036.032.04.824.824.036.0029.855.839.848.052.025.05.029.017.029.8026.010.042.038.051.031.055.043.055.826.0016.016.012.035.015.039.027.039.810.016.0032.028.052.847.048.036.048.042.016.032.004.056.843.044.032.052.038.012.028.04.00,R10=ABEBEBBBEEABDDAFF3FFFEDCDEDD1DDDBBCDCBB2BJJAACCEAAAIIBBBBBFH4HHHHHHHHHG5HJJFFFFFFGHGGEJJJEJJJIJIGDDIGGGIJ.Result shows that the shortest pathC→G has the largest weight and the corresponding data migration path is {C→D→B→F→H→G}. As the goal is to achieve data migration from node C to all the other nodes, this path {C→D→B→F→H→G} with the largest weight is certainly one of the paths we need. After determining this path, the entire constraint network graph shown in Figure 4 can be simplified to Figure 5(a) (the paths between the nodes that have already been reached are removed). For simplification of calculation, we changed the form of Figure 5(a) into Figure 5(b) and marked the arrival time of data at nodes (as shown in the box).Figure 5
Entire constraint network graph removed paths between the nodes having reached.We have determined one path above ({C→D→B→F→H→G}), so there are 4 nodes A, E, I, and J not having been reached. As shown in Figure 5(b), it is easy to calculate the shortest path to the rest of the nodes and the shortest path is {C→E→A,D→J→I}. After the two steps mentioned before, each node has been reached, and the shortest data migration path from node C to all the other nodes is {C→D→B→F→H→G,C→E→A,D→J→I}. In addition, the weights of the migration paths are, respectively, {55,28.8,48}, so the shortest path is the largest one which is 55. By comparing with the result obtained by the simulation, the two results are the same. So this algorithm can be used in searching the shortest path when data migration is in parallel, and it can be applied to arbitrary weighted graphs.


## 4.1. TSP Model That Does Not Return to the Source Node

Typically, data migration between supercomputer centers is interpreted as selecting a node as the source node and migrating data to other supercomputer centers from this source node and each node can be routed through only once. This scenario is TSP (Traveling Salesman Problem) model that does not return to the source node [22, 23]. TSP is a problem that given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? There has been a lot of research work in this field to solve the optimal data migration path problem based on the TSP model. This paper will no longer investigate for this scenario. Taking Figure 2 as example, if source node is 3 (C), the shortest path is 39.2 and migration path is C→D→B→A→E.


## 4.2. Data Migration in Parallel

The scenario introduced in Section4.1 is typical, but it does not consider the case when a node is migrating data with another node; it can also migrate data with other nodes at the same time. Moreover, a node which has obtained data from the previous node can also be used as the source node and all the source nodes can migrate data with a plurality of nodes connected to it in parallel. In order to solve this problem well, this paper presents an optimal path algorithm, which is as follows.Definition 1.
V = { v 1 , v 2 , … , v n }; V is the set of nodes.Definition 2.
A k is the set of nodes reached at step k, and Ak¯ denotes the nodes not reached yet, k∈{1,2,…,n-1}.Definition 3.
w v i v j k is weight between vi and vj at step k.Definition 4.
V s k is the source node of step k and Vek is the end node of step k.At stepk, we have(7)wvskvekk-1=min⁡wvikvjkk-1,vik∈Ak-1,vjk∈Ak-1¯Ak=Ak-1∪vek,Ak¯=Ak-1¯-vekwvekvjkk=wvekvjkk-1+wvskvekk-1,vjk∈Ak¯.Shortest path can be obtained when all nodes have reached (V=An-1). Of course, shortest path and migration path can be obtained through enumeration method when the number of nodes is small. In order to verify the correctness of this algorithm, we compared the results with that of enumeration. Taking Figure 2 as example, the shortest path obtained by enumeration is shown in Table 2 with each node as the source point.Table 2
Shortest path and migration path obtained by enumeration method in case 1.
Source point A B C D E Shortest path 28.8 24.8 28.8 27.2 27.2 Migration path A → E → C B → D → C C → D → B D → B → A → E E → A → B → D A → B → D B → A → E C → E → A D → C E → CHowever, as the number of nodes increases, the difficulty of enumeration will increase rapidly. The proposed algorithm can easily obtain the shortest path results, but it is likely to have mistakes. So we developed a function using this algorithm to simplify the calculation which has been tested in MATLAB. Function is as Algorithm1.Algorithm 1
function[result, routes] = parallel(start, results) count = size (results, 1); arrived = [start, start, 0]; while size(arrived) ~= count temp = Inf; from = 0; to = 0; for index = 1:count if ismember(index, arrived(:, 2)) == 0 for index2 = 1:size(arrived, 1) if results(arrived(index2, 2), index) < temp temp = results(arrived(index2, 2), index); from = arrived (index2, 2); to = index; end end end end results(to,:) = results(to,:) + temp; arrived = [arrived;[from to temp]]; end result = max(arrived(:,3)); routes = [arrived((2:count), 1), arrived((2:count), 2)];For example, selecting 3 (C) as resource point, the simulation result is shown in Figure S.1 in Supplementary Material available online athttp://dx.doi.org/10.1155/2016/5018213.Result shows that shortest path is 28.8 and data migration path is{C→D→B,C→E→A}. By comparison, the simulation result is the same as the result of enumeration, so the correctness of the algorithm is verified.It can be concluded that this algorithm is accurate and friendly (machine-executable). Although the time complexity isO(n2), the algorithm is feasible in solving these complex problems.


## 4.3. Data Migration among Nonfully Connected Centers

The above discussion is a perfect case, in which all nodes are connected to each other. If the nodes given are not connected to each other, can this algorithm still be used in searching shortest path? In order to verify the correctness of this algorithm in this case, this paper similarly takes Figure2 as an example. We assume that links between node A and node C, node B and node C, node B and node D, and node B and node E are removed (of course, you can remove any links between the nodes); then the entire constraint network graph is shown in Figure 3.Figure 3
Entire constraint network graph.First, get the shortest path and the migration path through enumeration method just as in Section4.2. The results are shown in Table 3.Table 3
Shortest path and migration path obtained by enumeration method in case 2.
Source point A B C D E Shortest path 40.8 60.8 48.8 60.8 36 Migration path A → E → C → D B → A → E → C → D C → E → A → B D → C → A → E → B E → A → B A → B C → D E → C → DSecond, get the shortest path and the migration path through simulation.Finally, compare the two sets of results and determine whether the results are identical.In addition, setting 3 (C) as the resource point, the simulation result is shown in Figure S.2 in Supplementary Material.Result shows that the shortest path is 48.8 and the data migration path is{C→E→A→B,C→D}. By comparison, the simulation result is the same as the result of enumeration, so this algorithm can be used in searching shortest path in this case.


## 4.4. Data Migration When Nodes Are Increasing

It is easy to find out the shortest path when the number of nodes is small. However, as the number of nodes increases, what will be the result? In order to verify that this algorithm can be applied to an arbitrary weighted graph, we carried out further experiments. You can randomly determine the number of nodes and the weight between them. For example, we randomly determine ten nodes and the weight between them and the entire constraint network graph just as in Figure4.Figure 4
Entire constraint network graph of 10 nodes.For example, setting 3 (C) as the resource point, the simulation result is shown in Figure S.3 in the Supplementary Material. Result shows that shortest path is 55 and data migration path is{C→D→B→F→H→G,C→E→A,D→J→I}. But what we have to note is that it will be very troublesome if we still use enumeration method directly just as in Sections 4.2 and 4.3 to verify the result, so we borrowed calculating process of Floyd. Searching shortest path in accordance with the process described in Section 3.2 and the result is as follows:(8)D10=020.028.832.04.825.051.035.052.856.820.0024.012.024.85.031.015.047.043.028.824.0012.024.029.055.039.048.044.032.012.012.0036.017.043.027.036.032.04.824.824.036.0029.855.839.848.052.025.05.029.017.029.8026.010.042.038.051.031.055.043.055.826.0016.016.012.035.015.039.027.039.810.016.0032.028.052.847.048.036.048.042.016.032.004.056.843.044.032.052.038.012.028.04.00,R10=ABEBEBBBEEABDDAFF3FFFEDCDEDD1DDDBBCDCBB2BJJAACCEAAAIIBBBBBFH4HHHHHHHHHG5HJJFFFFFFGHGGEJJJEJJJIJIGDDIGGGIJ.Result shows that the shortest pathC→G has the largest weight and the corresponding data migration path is {C→D→B→F→H→G}. As the goal is to achieve data migration from node C to all the other nodes, this path {C→D→B→F→H→G} with the largest weight is certainly one of the paths we need. After determining this path, the entire constraint network graph shown in Figure 4 can be simplified to Figure 5(a) (the paths between the nodes that have already been reached are removed). For simplification of calculation, we changed the form of Figure 5(a) into Figure 5(b) and marked the arrival time of data at nodes (as shown in the box).Figure 5
Entire constraint network graph removed paths between the nodes having reached.We have determined one path above ({C→D→B→F→H→G}), so there are 4 nodes A, E, I, and J not having been reached. As shown in Figure 5(b), it is easy to calculate the shortest path to the rest of the nodes and the shortest path is {C→E→A,D→J→I}. After the two steps mentioned before, each node has been reached, and the shortest data migration path from node C to all the other nodes is {C→D→B→F→H→G,C→E→A,D→J→I}. In addition, the weights of the migration paths are, respectively, {55,28.8,48}, so the shortest path is the largest one which is 55. By comparing with the result obtained by the simulation, the two results are the same. So this algorithm can be used in searching the shortest path when data migration is in parallel, and it can be applied to arbitrary weighted graphs.


## 5. Conclusions and Further Work

Based on graph theory calculations we present a parallel method to migrate data among multisupercomputer centers with different interconnection topologies when supercomputer centers are required to work cooperatively. Specifically, this paper gives a method of node selection, a method of searching the shortest path and migration path. At last, the correctness of this method has also been verified. It is worth mentioning that this method can provide a good reference for data migration between different supercenters. The calculation process is given in this paper. However, how load balancing of data transmission link, large data migration, and multiple and fewer files impact on data migration time and migration path selection is not considered. What is more, some other factors for data transfers across data centers in reality such as the availability of the data and the security issues are also not taken into account. Therefore, according to the actual application of the actual circumstances, we will take into account all influence factors above to explore more accurate optimal path selection next.



---

*Source: 5018213-2016-07-03.xml*