ISSN 10642307, Journal of Computer and Systems Sciences International, 2014, Vol. 53, No. 5, pp. 689–701. © Pleiades Publishing, Ltd., 2014. Original Russian Text © P.M. Vdovin, I.A. Zotov, V.A. Kostenko, A.V. Plakunov, R.L. Smelyanskiy, 2014, published in Izvestiya Akademii Nauk. Teoriya i Sistemy Upravleniya, 2014, No. 5, pp. 71–83.
COMPUTER METHODS
Comparing Various Approaches to Resource Allocation in Data Centers P. M. Vdovin, I. A. Zotov, V. A. Kostenko, A. V. Plakunov, and R. L. Smelyanskiy Moscow State University, Moscow, 119991 Russia email:
[email protected] Received January 24, 2014
Abstract—In this paper, abstractions for describing resource requests and physical resources of data centers are chosen. A mathematical model of a data center is developed; this model provides an oppor tunity for describing a wide class of data center architectures. In terms of this model, a mathematical formulation of the resource allocation problem is given that admits migration of virtual machines and replication of data storage elements. Resource allocation algorithms for data centers with a unified scheduler for all types of resources, algorithms for data centers with specific schedulers for each type of resources, and similar algorithms from the OpenStack platform are compared; the comparison results are presented. DOI: 10.1134/S1064230714040145
INTRODUCTION The performance of schedulers in data centers (DCs) determines the workload of resources of DCs and the possibility of ensuring the level of service as specified in the service level agreement (SLA). The algo rithms used in the OpenStack platform (“assigning the request to the first appropriate physical resource” or “random assignment of a physical resource from the set of appropriate resources”) [1] are acceptable in terms of the quality of obtained request maps onto physical resources of DCs when the workload is 50% or lower. At more than 50% workload, the quality of mapping provided by these algorithms is considerably lower (this is shown in Section 3). In order to map resource requests onto physical resources of DCs, it is necessary to solve three interdependent NPhard problems: Mapping virtualmachines onto computational resources of DCs. Mapping storageelements onto data storages of DCs. Mapping virtual channels onto physical resources of the DC exchange network. In the case of high load of DC physical resources, the OpenStack algorithms are unacceptable in the quality of the requesttoresource mapping, and exact algorithms are unacceptable because of the high computational complexity. Therefore, we face the problem of developing heuristic algorithms that provide a balance between the accuracy and computational complexity. To ensure the high load in the InfrastructureasaService mode of using DCs [2], it is necessary to solve the following problems: (1) Eliminate segmentation of physical resources by migrating virtual resources in DCs. (2) Eliminate the overload of data exchange channels in the physical data storage. This problem arises if we have virtual data storages with high intensity of reading and low intensity of writing. The problem can be solved if data storages may be replicated. In this case, no broadband channel is needed to ensure data consistency; a half of applications can work with a virtual data storage and the other half with its copy placed on another physical data storage. (3) The possibility of assigning SLA for all types of DC resources. For this purpose, computational resources, data storages, and network resources must be considered as scheduled types of resources and they must be scheduled consistently in the sense that the quality of service must be assured. The results of comparing the known algorithms [3–16] depending on how they can solve the three abovelisted problems are presented in the table. The table shows that none of these algorithms makes it possible to solve all these problems. In this paper, we give a mathematical formulation of the problem of the resource request mapping onto DC physical resources and propose algorithms for its solution; these algorithms make it possible to solve all the abovelisted problems for the InfrastructureasaService model. 689
690
VDOVIN et al.
Comparative characteristics of algorithms
Considered works
Application placement on a cluster of servers [3] Cloud Storage and Online Bin Pack ing [4] Efficient Resource Scheduling in Data Centers using MRIS [5] Quantifying Load Imbalance on Vir tualized EnterpriseServers [6] On Theory of VM Placement: Anom alies in Existing Methodologies and Their Mitigation Using a Novel Vector Based Approach [7] Optimal Mapping of Virtual Networks with Hidden Hops [8] Rethinking Virtual Network Embed ding: Substrate Support for Path Split ting and Migration [9] A Virtual Network Mapping Algo rithm based on Subgraph Isomor phism [10] Algorithms for Assigning Substrate Network Resources to Virtualized net work Resources [11] Virtual network embedding with coor dinated node and link mapping [12] Virtual Network Embedding Through TopologyAware Node Ranking [13] Coupled placement in modern data centers [14] Serverstorage virtualization: integra tion and load balancing in data centers [15] Joint VM placement and routing for data center traffic engineering [16]
Capabilities Computa Network Data storag tional mapping resources as resources es as a type a type of re of virtual chan replication migra as a type of of resources tion sources nels onto physi resources cal ones +
–
–
–
–
–
–
+
–
–
–
–
+
+
–
–
–
–
+
–
–
–
–
+
+
–
–
–
–
+
–
–
–
+
–
–
+
–
–
+
–
+
+
–
–
+
–
–
+
–
–
–
–
–
+
–
–
+
–
–
+
–
–
+
–
–
+
+
+
±*
–
–
+
+
+
±*
–
+
+
–
+
+
–
+
* The algorithms are applicable only to DCs with the hierarchical (treelike) topology.
1. MATHEMATICAL FORMULATION OF THE RESOURCE ALLOCATION PROBLEM IN DATA CENTERS The model of DC physical resources is described by the graph H = (P ∪ M ∪ K , L) , where Р is the set of computation nodes, М is the set of data storages, К is the set of commutation elements of the DC data exchange network, and L is the set of physical data transmission channels. On the set Р, the functions vh(p) and qh(p) are defined that specify the performance of the computation node (operations per second) and the amount of memory on the computation node (bytes). On the set М, the functions uh(m) and type(m) are defined that specify the size of the data storage (bytes) and its type. On the set К, the function th(k) is defined that specifies the commutation element bandwidth (bytes/s); and on the set L, the function rh(l) is defined that specifies the rated bandwidth of the data transmission channel (bytes/s). JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
691
Fig. 1. FatTree, the standard DCtopology.
The functions vh(p), qh(p), uh(m), type(m), th(k), and rh(l) form a labeling of the graph H. An example of the standard DC topology called FatTree [17] is presented in Fig. 1: each root switch is connected to all the firstlevel switches, each firstlevel switch is connected to several secondlevel switches, and each secondlevel switch connects either several computation nodes or several data storages. A resource request is specified by the graph G = (W ∪ S , E ), where W is the set of virtual machines used by applications, S is the set of storage elements, and E is the set of virtual data transmission channels between virtual machines and storage elements of the request. On the set W, the functions v(w) and q(w) are defined that specify the performance of the virtual machines required by applications speed (operations per second) and the memory requirement. On the set S, the functions u(s) and type(s) are defined that specify the required storage capacity (bytes) and the type of the storage element. On the set E, the function r(e) is defined that specifies the required bandwidth of the virtual channel (bytes/s). The functions v(w), q(w), u(s), type(s), and r(e) form a labeling of the graph G. There are two types of resource requests: loosely coupled: [({Wi }iN=1, {S j }Kj =1), E = ∅ ]; tightly coupled: [({Wi }iN=1 , {S j }Kj =1), E = {(W ⊂ {Wi }iN=1 , S ⊂ {S j }Kj =1)}]. By the resource request assignment we mean a map A : G → H = {W → P, S → M, E → {K, L}} that sat isfies the following constraints: 1. The virtual machine w can be assigned to be executed on the computation node p if it holds that
∑ v(w) ≤ v h( p)
w ∈W p
and
∑ q(w) ≤ qh( p).
w ∈W p
Here, Wp is the set of virtual machines assigned to be executed on the computation node p. In other words, the performance of a computation node must be not less than the required total performance of the virtual machines assigned to this node and the amount of memory on the computation node must be not less than the required total memory of the virtual machines assigned to this node. Virtual machines are assigned to a computation node this node’s local scheduler. For each virtual machine, The local scheduler must ensure the required performance for each virtual machine assigned to its node. 2. A virtual channel e can be mapped onto a physical channel l if it holds that
∑ r(e) ≤ rh(l).
e ∈ El
Here, El is the set of virtual channels mapped onto the physical channel l. 3. A virtual channel e can pass through a commutation element k if it holds that
∑ r(e) ≤ τh(k).
e ∈ Ek
Here, Ek is the set of virtual channels passing through the commutation element k. 4. A storage element s can be placed in a data storage m if it holds that
∑ u(s) ≤ uh(m).
s ∈ Sm
JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
692
VDOVIN et al.
Here, Sm is the set of storage elements in the data storage m, where the type of the data storage is identical to the type of the storage element. By replication, we mean a map R : H → H such that duplicates the data of a certain m ∈ M and creates a virtual channel for maintaining the data consistency (m ', l1, k1, …, kn−1, l n, m), where ki ∈ K , l i ∈ L, and m ' ∈ M (m' is a replica of the storage m). If a storage element is a replica of a certain database s and data consistency must be maintained, then the node s' is added to the graph of the requested resources G. A virtual channel between the nodes s and s' is also added to the graph G; the bandwidth of this channel is determined based on the requirement of ensuring the consistency of the replica and the original database. A residual graph of available resources is a graph Hres for which the functions v hres ( p) = v h( p) −
∑ v(w),
qhres ( p) = qh( p) −
w ∈W p
τhres (k) = τh(k) −
∑ r(e),
∑ q(w),
uhres (m) = uh(m) −
w ∈W p
rhres (l ) = rh(l ) −
e ∈ El
∑ u(s),
s ∈ Sm
∑ r(e).
e ∈ Ek
are redefined. The initial data of the problem of assigning physical resources to resource requests are as follows: (1) the set of requests Z = {(Gi, Ti)} received by the central scheduler (here, Ti is the time for which the resources are requested by the request Gi); (2) the residual graph of available resources H res = (P ∪ M ∪ K , L). It is required to assign the maximum number of requests from the set Z to the DC so as to satisfy the conditions
∑ v(w) ≤ v h( p), ∑ q(w) ≤ qh( p);
w ∈W p
w ∈W p
∑ r(e) ≤ rh(l);
e ∈ El
∑ τ(e) ≤ τh(k);
e ∈ Ek
∑ u(s) ≤ uh(m);
∀ s ∈ S m : type(s) = type(m).
s ∈ Sm
The input of the algorithm of assigning physical resources to requests consists of the residual graph of available resources Hres and the set of resource requests {Gi}. The set {Gi} is formed by the task manager. In addition to newly received requests, this set can also include requests that are already executed and for which migration is acceptable. The task manager also determines the starting time of the scheduler. The output of the algorithm of assigning physical resources requests consists of the set of resource request assignments { Ai : Gi → H , i = 1, n} and the set of replications {Ri}, i = 0,1, …. 2. PRINCIPLES OF CONSTRUCTING ALGORITHMS OF ASSIGNING DATA CENTER PHYSICAL RESOURCES TO REQUESTS To solve the formulated problem, three algorithms were developed [18]: (1) The algorithm with a unified scheduler for all types of resources. (2) The algorithm that uses independent schedulers for each type of resources. (3) The algorithm based on the ant colony approach. The algorithm with a unified scheduler for all types of resources is based on the combination of greedy strategies and limited search strategies. According to three greedy criteria, first the next request is chosen, and then elements of the request and physical resources for them are selected. If a request element failed to be allocated at the next step, then the limited search procedure is called. If a storage element failed to be allocated, then the replication procedure is first called and the limited search procedure is called only if the replication procedure fails. The limited search procedure has a parameter that controls the compu tational complexity and the accuracy of the algorithm. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
693
In the case when an independent scheduler is used for each type of resources, the algorithm of assigning physical 31 resources to requests consists of three steps: 31 (1) assigning virtual machines to a minimum number of 71 31 computation nodes; 31 (2) assigning storage elements to a minimum number 106 of physical data storages; 31 71 (3) Mapping virtual request channels to the physical 31 channels of the data exchange network for the mappings of 3n n 6n the virtual machines and storage elements obtained at steps (1) and (2). Fig. 2. Assigning resources by the First Fit The algorithms of assigning virtual machines and stor algorithm. age elements are based on a combination of greedy strate gies and limited search strategies. In accordance with the three greedy criteria, first the next resource request is chosen and then the next element of the request (a virtual machine or a storage element) and a physical resource for it (a computation node or a data storage) are selected. If a request element failed to be assigned at the next step, then the limited search procedure is called. The limited search procedure has a parameter that controls the computational complexity and the accuracy of the algorithm. The algorithm of mapping virtual channel onto physical channels is based on finding k shortest paths in a graph [19]. The replication procedure of storage elements is called if the mapping of a virtual channel onto physical channels fails. The algorithm based on the ant colony approach can be used instead of the algorithm with a unified scheduler for all types of resources. This algorithm is based on the ant colony approach [20] to the map ping of virtual machines and storage elements onto computational nodes and data storages. Then for the maps of virtual machines and storage elements onto physical resources thus obtained, maps of the virtual request channels onto physical channels of the data exchange network are constructed using the shortest path algorithm [21]. In contrast to the algorithms based on the combination of greedy and limited search strategies, this algorithm does not require the selection of heuristic procedures for particular problems (constraints on feasible values of the initial data are given[A. V.1]), but its computational complexity is higher. 3. RESULTS OF THE EXPERIMENTAL EXPLORATION OF FEATURES OF THE ALGORITHMS All experiments were performed for DCs with the FatTree architecture. 3.1. Comparing the Proposed Algorithms with the Algorithms of the OpenStack Platform In this subsection, we present the results of comparing the proposed algorithms with the algorithms used in the OpenStack platform in terms of the quality of the maps produced by them. The quality of maps is estimated by the percentage of allocated requests from an initially given set. All experiments were per formed for sets of loosely coupled requests because the OpenStack algorithms do not support the alloca tion of tightly coupled requests. In OpenStack, two algorithms of assigning resource requests are implemented: First Fit and Random Fit. For each of them, sets of initial data were generated that demonstrate disadvantages of these algo rithms when the load of physical resources in a DC is high. For the First Fit algorithm, the initial data with the following characteristics were generated: (1) The number of physical computation nodes is 6n (n is a natural number), with the performance of 210 arbitrary units. (2) The total number of virtual machines is 18n. The request includes the following: (2.1) 6n virtual machines with the required performance of 31 arbitrary units, (2.2) 6n virtual machines with the required performance of 71 arbitrary units, (2.3) 6n virtual machines with the required performance of 106 arbitrary units. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
694
VDOVIN et al.
If the number of nodes is unlimited, the First Fit algorithm assigns all requests to 10n nodes (Fig. 2), while the optimal number of nodes is 6n (Fig. 3). If there are only 6n nodes, then the First Fit algorithm assigns all 71 virtual machines except 4n machines with the performance of 106 arbi trary units; in this case, the physical resources are loaded 65%. The pro posed algorithms successfully assigned all the virtual machines so that the physical resources were loaded 99%. The experiments showed that the 106 quality of maps is independent of n. For the Random Fit algorithm, the initial data with the following characteristics were generated: 6n (1) The number of computational nodes is n + 1, with the perfor mance of 1 million arbitrary units each. Fig. 3. Optimal resource (2) The total number of virtual machines is n3 + n: assignments. (2.1) n3 virtual machines with the required performance of 1 mil lion/n3 arbitrary units, (2.2) n virtual machines with the required performance of 1 million arbitrary units. As a result, the low performance requests were assigned to the available resources such that at least one virtual machine was assigned to each computation node. As a result, high performance virtual machines could not be assigned. On the average, for the Random Fit algorithm provided only 10% load of resources. The algorithms proposed in this paper made it possible to assign all virtual machines with 100% load of the physical resources. The experiments showed that the quality of the maps obtained using these algo rithms is independent of n. In order to demonstrate the deterioration of quality of results produced by the OpenStack algorithms depending on the potentially possible load of physical resources, we used the research scheme with increasing load. For the tests described above with n = 10, some resource requests were removed in such a way as to reduce the potentially possible load of physical resources with the step of 10%. Thus, two series of test data with increasing load were obtained. The results produced by the algorithms are illustrated in Figs. 4 and 5. 31
3.2. Investigation of Efficiency of the Replication Procedure To demonstrate the efficiency of the replication procedure, the following parameters of the FatTree topology were used: (1) The root level of the architecture consisted of ten routers with the capacity of 50?000 arbitrary units each. The data transmission channels connecting the routers of the root and second levels had the capacity of 10?000 arbitrary units. (2) The second level of the architecture consisted of 15 routers with the capacity of 16?000 arbitrary units each. The data transmission channels connecting the routers of the second and first levels had the capacity of 2000 arbitrary units. (3) Each secondlevel router was connected to four firstlevel routers with the capacity of 2000 arbi trary units each. Each firstlevel router was connected to two computation nodes or data storages by data transmission channels with the capacity of 1000 arbitrary units. (4) Totally, the DC had 60 computation nodes with the capacity of 1000 arbitrary units and 60 data storages with the capacity of 1000 arbitrary units. Each secondlevel router had access to four computation nodes and four data storages. To generate the set of requests, four basic patterns were used: (1) The pattern with a small number of virtual channels: seven virtual machines, five storage elements, and eleven virtual channels (on the average, two virtual channels for one storage element). (2) The pattern with a large number of virtual channels: five virtual machines, two storage elements, and eight virtual channels (four virtual channels for each storage element). (3) The pattern with a small number of virtual machines: three virtual machines and two storage ele ments. One of storage elements was connected to all virtual machines and the other storage element was connected to one of the virtual machines (totally, four virtual channels). JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
695
Assigned requests, % 100
100
100
100
100
100
100
100
100
100
100
92 85
80
76 69 65
60 40 20 0
10
20 30 40 50 60 70 80 90 100 The load of the DC physical resources, %
Fig. 4. The results of all algorithms on the data generated for First Fit: –䉬– the proposed algorithms, –䊏– First Fit, and –䉱– Random Fit.
Assigned requests, % 100
100
100
100
72
71
100
100
100
100 98
100 98
100 96
100 96
80 62
60
62 53
52 43
40
42 35
20 0
10
20 30 40 50 60 70 80 90 100 The load of the DC physical resources, %
Fig. 5. The results of all algorithms on the data generated for Random Fit: –䉬– the proposed algorithms, –䊏– First Fit, and –䉱– Random Fit.
(4) The pattern with high requirements for the network bandwidth: two virtual machines, one storage element, and two virtual channels between them. The requested virtual channel bandwidths were chosen so that their sum was 900 arbitrary units (with the bandwidth of 1000 arbitrary units for a channel con nected to a data storage). The sets of requests were divided into two basic classes and were generated using the following schemes: (1) In the first class, the potentially possible load of the channels (under the optimal allocation) con nected to data storages varied from 0.3 to 1.0. The load of the computation nodes and data storages was fixed to 0.75. In this class, only requests generated by the first and second patterns were used. (2) In the second class of the initial data, only requests generated by the third and fourth patterns were used. In this class, the number of requests generated by the fourth pattern varied from 0 to 30; in this case, the potentially possible load of the network increased from 0.5 to 0.8. The load of the computation nodes and data storages was fixed to 0.75. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
696
VDOVIN et al. Assigned requests, % 100
100
100
100
100
99 97
94 88
88 85
80
80 71
60 40 20 0
30
40
50 60 70 80 90 The potential load of channels connected to data storages, %
100
Fig. 6. The algorithm with individual schedulers on the first class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
Assigned requests, % 100
100
80
97 96
99 94
94 90
91 87
90 85
85 79
60 40 20 0
0
5 10 15 20 25 The number of fourthtype requests
30
Fig. 7. The algorithm with individual schedulers on the second class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
The number of requests in each set was 100. All the algorithms were executed on each sets of both classes of the initial data, once without the rep lication and once with the replication allowed. The algorithm based on the ant colony approach per formed 70 iterations; the search depth parameter in the algorithms with the unified and individual sched ulers was equal to 2. The figures show the difference in the number of requests assigned by each of the algo rithms with the replication off and on. Figures 6 and 7 present the results of the algorithm with the individual resource schedulers for the first and the second data classes, respectively. Figures 8 and 9 present the results of the algorithm with the unified resource scheduler for the first and the second data classes, respectively. Figures 10 and 11 present the results of the ant colony algorithm for the first and the second data classes, respectively. The investigation of the algorithms on the first class of the initial data shows that the replication pro cedure increases the number of the assigned requests in the case when the potentially possible load of JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
697
Assigned requests, % 100
100
100
100
100
99 96
96 91
93 86
88
80
79
60 40 20 0
30
40
50 60 70 80 90 The potential load of channels connected to data storages, %
100
Fig. 8. The algorithm with the unified scheduler on the first class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
Assigned requests, % 100
100
97 94
97 89
80
92 87
88 84
83
80
76 70
60 40 20 0
0
5 10 15 20 25 The number of fourthtype requests
30
Fig. 9. The algorithm with the unified scheduler on the second class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
channels connected to data storages is 0.7 or higher. For the second class of the initial data, similar results were obtained already when there were at least five requests with high requirements for the data exchange network bandwidth. Also note that, for the first class of data, the algorithm with the unified scheduler assigns more requests than the algorithm with individual schedulers, whereas the situation is opposite for the second class of data. The ant colony algorithm is more efficient these algorithms than both on the first class and the sec ond class of data. 3.3. Domains of Efficient Application of the Developed Algorithms To demonstrate the typical domains of application of the algorithms, we used a DC network with the FatTree topology with the following characteristics: (1) The root level of the architecture consists of five routers with the capacity of 100000 arbitrary units each. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
698
VDOVIN et al. Assigned requests, % 100
100
100
100
100
100
100 99
98 94 89 85
80 60 40 20 0
30
40
50
60
70
80
90
100
The potential load of channels connected to data storages, % Fig. 10. The ant colony algorithm on the first class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
Assigned requests, % 100
100
80
100 99
99 95
98 90
95 89
93 85
91 83
60 40 20 0
0
5 10 15 20 25 The number of fourthtype requests
30
Fig. 11. The ant colony algorithm on the second class of data: –䉬– the algorithm with replication and –䊏– the algorithm without replication.
(2) The second level of the architecture consists of ten routers with the capacity of 20000 arbitrary units each. The first and the second levels of the architecture are combined into a network by a bipartite graph; the bandwidth of the communication channels is also 20000 arbitrary units. (3) Each secondlevel router is connected to four thirdlevel routers with the capacity of 5000 arbitrary units each. The bandwidth of the communication channels between the second and the third levels of the network is 5000 arbitrary units for a channel. (4) The set of one secondlevel router and the four thirdlevel routers connected to it is called a seg ment of the FatTree topology. The leaf level of the topology of each segment is formed by ten computation nodes and ten data storages connected to threelevel routers so that five machines of the same type are connected to one router. This topology reflects the typical topology of independent segments with an additional accessibility level. With such a DC organization, tightly coupled requests are assigned to the same segment to reduce delays in data transmission and increase the performance of the internetwork interaction. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
699
Assigned requests, % 100
100
100
100
100
100
100
100
100 94
100
100
87
80
81
60 40 20 0
9.5
19 28.5 38 47.5 57 66.5 76 85.5 95 The potential load of leaf channels, %
Fig. 12. The results obtained on data of the first class: ⎯䉬– the algorithm with the unified scheduler and –䊏– the algo rithm with individual schedulers.
Assigned requests, % 100
100
100
100
100
100
100
100
100
100 95
100 85
80 60 40 20 0
9.5
19 28.5 38 47.5 57 66.5 76 85.5 95 The potential load of leaf channels, %
Fig. 13. The results obtained on data of the second class: ⎯䉬– the algorithm with the unified scheduler and –䊏– the algo rithm with individual schedulers.
The investigation was performed for the algorithms with the unified resource scheduler and individual resource schedulers. The limited search depth was limited to two. If this depth increases, the algorithms begin to behave asymptotically identically; however, the execution time grows polynomially. The investigation was performed on two classes of data. (1) Sets of requests from the first class were obtained by using a generator of the optimal segment load. For the given topology, this generator produces sets of requests such that their complete assignment requires not less than 95% load of each type of the DC resources. The set of requests is formed by setting various numbers of loaded segments (from one to ten). Correspondingly, the potentially possible load of the DC resources (with the optimal request mapping onto physical resources) for this class was in the range from 9.5 to 95%. (2) The second class of data was obtained by the same methods as the first one, but the potential load of the leaflevel network channels for this class was 50% on the average with the variation range of 5%. In addition, a limitation on the number of requests “heavy” and “light” pattern types was used. The expec tation of the required performance of elements of the heavy type request is 60% of the performance of the JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
700
VDOVIN et al.
physical resource (a computation node or a data storage). The corresponding value for light type requests is 20% of the performance of the physical nodes. On the average, for each class of initial data, 200 requests for a segment were generated, which loaded it 95% in the case of optimal mapping. The number of virtual machines and data storages in a request var ied from 10 to 20; the ratio of the number of virtual machines to the number of channels was 1. The investigation of the algorithms on the first class of initial data showed that the algorithm with the unified scheduler completely assigns the requests when the potential load of the DC physical resources is up to 95%. The results of the algorithm with an individual scheduler for each type of resources are worse if the potential load of the DC physical resources exceeds 70%. The investigation of the algorithms on the second class of initial data showed that the algorithm with an individual scheduler for each type of resources completely assigns the requests when the potential load of the DC computation nodes and data storages is up to 95%. The results of the algorithm with the unified scheduler for each type of resources are worse if the potential load of these physical resources exceeds 80%. The results of comparing the algorithms are presented in Figs. 12 and 13. CONCLUSIONS The proposed approach and algorithms of mapping resource requests onto DC physical resources pos sess the following distinctive features: (1) They leave room for the migration of virtual resources; this makes it possible to reduce the segmen tation of physical resources, which can occur in the course of the DC operation. (2) They leave room for the replication of data storages in order to increase the reliability of data storage and the efficiency of physical resource usage. (3) They leave room for considering all types of resources (computation resources, data storages, and network resources) as a scheduled type of resources. This makes it to assign SLA for all types of resources. The experimental study shows that by using the proposed algorithms we can obtain the mapping of resource requests onto the DC physical resources under which the given SLA level can be assured with the load of physical resources up to 95%. REFERENCES 1. K. Pepple, Deploying OpenStack (O’Reilly, Sebastopol, 2011). 2. A. Amies, H. Sluiman, Q. G. Tong, et al., Developing and Hosting Applications on the Cloud (IBM Press, Boston, 2012). 3. B. Urgaonkar, A. L. Rosenberg, and P. Shenoy, “Application placement on a cluster of servers,” Int. J. Founda tions Comput. Sci. 18, 1023–1041 (2007). 4. D. Bein, W. Bein, and S. Venigella, “Cloud storage and online bin packing,” in Proc. of the 5th Int. Symp. on Intelligent Distributed Computing (IDC, Delft, 2011), pp. 63–68. 5. S. Nagendram, J. V. Lakshmi, D. V. Rao, et al., “Efficient resource scheduling in data centers using MRIS,” Indian J. Comput. Sci. Eng. 2 (2011). 6. E. Arzuaga and D. R. Kaeli, “Quantifying load imbalance on virtualized enterprise servers,” in Proc. of the First Joint WOSP/SIPEW Int. Conf. on Performance Engineering. San Josa, Calif.: ACM, 235–242 (2010). 7. M. Mishra and A. Sahoo, “On theory of VM placement: Anomalies in existing methodologies and their mitiga tion using a novel vector based approach,” in IEEE Int. Conf. on Cloud Computing (CLOUD) (IEEE Press, Wash ington, DC, 2011). 8. J. F. Botero, X. Hesselbach, A. Fischer, et al., “Optimal mapping of virtual networks with hidden hops,” Tele commun. Syst. 51, 273–282 (2012). 9. M. Yu, Y. Yi, J. Rexford, et al., “Rethinking virtual network embedding: Substrate support for path splitting and migration,” ACM SIGCOMM Comput. Commun. Rev. 38 (2), 17–29 (2008). 10. J. Lischka and H. Karl, “A virtual network mapping algorithm based on subgraph isomorphism detection,” in Proc. of the 1st ACM Workshop on Virtualized Infrastructure Systems and Architectures, Barcelona, 2009, pp. 81– 88. 11. Y. Zhu and M. H. Ammar, “Algorithms for assigning substrate network resources to virtual network compo nents,” in 25th Int. Conf. on Computer Communications (INFOCOM), Barcelona, 2006, pp. 1–12. JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014
COMPARING VARIOUS APPROACHES TO RESOURCE ALLOCATION
701
12. N. M. M. K. Chowdhury, M. R. Rahman, and R. Boutaba, “Virtual network embedding with coordinated node and link mapping,” in 28th Int. Conf. on Computer Communications (INFOCOM), Barcelona, 2009, pp. 783–791. 13. X. Cheng, S. Sen, Z. Zhongbao, et al., “Virtual network embedding through topologyaware node ranking,” ACM SIGCOMM Comput. Commun. Rev. 41 (2), 38–47 (2011). 14. M. Korupolu, A. Singh, and B. Bamba, “Coupled placement in modern data centers,” in IEEE Int. Symp. on Parallel & Distributed Processing (IPDPS, New York, 2009), pp. 1–12. 15. A. Singh, M. Korupolu, and D. Mohapatra, “Serverstorage virtualization: Integration and load balancing in data centers,” in Proc. of the ACM/IEEE Conf. on Supercomputing, 2008, (IEEE Press, Austin, 2008), pp. 1–12. 16. J. W. Jiang, L. Tian, H. Sangtae, et al., Joint VM Placement and Routing for Data Center Traffic Engineering,” in 31st Int. Conf. on Computer Communications (INFOCOM), Orlando, 2012, pp. 2876–2880. 17. M. AlFares, A. Loukissas, and A. A. Vahdat, “Commodity data center network architecture,” ACM SIGCOMM Comput. Commun. Rev. 38 (4), 63–74 (2008). 18. P. M. Vdovin, I. A. Zotov, V. A. Kostenko, et al., “Data center resource allocation problem and approaches to its solution,” in VII Moscow Int. Conf. on Operations Research (ORM2013) (Vychisl. Tsentr Ross. Akad. Nauk, Moscow, 2013), Vol. 2, pp. 30–32. 19. D. Eppstein, “Finding the k shortest paths,” SIAM J. Comput. 28, 652–673 (2006). 20. V. A. Kostenko and A. V. Plakunov, “An algorithm for constructing single machine schedules based on ant colony approach,” J. Comput. Syst. Sci. Int. 52, 928–937 (2013). 21. R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory, Algorithms, and Applications (Prentice Hall, New Jersey, 1993).
Translated by L. Kartvelishvili
JOURNAL OF COMPUTER AND SYSTEMS SCIENCES INTERNATIONAL
Vol. 53
No. 5
2014