Distributed Load Balancing for Machines Fully Heterogeneous

Size: px
Start display at page:

Download "Distributed Load Balancing for Machines Fully Heterogeneous"

Transcription

1 Internship Report 2 nd of June - 22 th of August 2014 Distributed Load Balancing for Machines Fully Heterogeneous Nathanaël Cheriere nathanael.cheriere@ens-rennes.fr ENS Rennes Academic Year Département Informatique et Télécommunications fr/~ncherier/ Supervisor Erik Saule esaule@uncc.edu Department of Computer Science University of North Carolina Charlotte

2 Distributed Load Balancing for Machines Fully Heterogeneous Nathanaël Cheriere ENS Rennes, France, Abstract. With the increasing size of parallel systems, having a centralized algorithm to distribute the jobs to be executed can have a huge cost on the system; this is why many researchs are done in order to have decentralized scheduling algorithms. The objective of this work is to propose a decentralized solution to balance jobs on unrelated machines. We propose two distributed algorithms able to balance the load on unrelated machines with proven guarantees for some situations. The first one exploits a low heterogeneity of the jobs while the second one is focused on the case of two clusters of identical machines. Keywords: Decentralized Algorithms, Approximation Algorithms, Machine Heterogeneity, Unrelated Scheduling Problem, Work Stealing, Load-Balancing 1 Introduction Scheduling the execution of a parallel program on multiple machines is one of the basic problems in parallel computing. Its solution is far from obvious as many hypothesis can be done to specify the conditions, especially on the heterogeneity of the machines used to execute the program. These problems have been studied since the 60s, but often from a centralized point of view. However, with the current size of parallel systems, the cost of the resolution of the problem on one machine cannot be overlooked any more [9]. A solution to decrease the overload induced by the scheduling would be to have every machine participate in the distribution of the work. The work stealing strategy, used in Cilk [3] follows this idea: every machine is responsible for its own charge, and when there is no longer a job to execute, the machine tries to steal some work from another machine. However, this strategy cannot be directly applied in systems with high heterogeneity in their machine set because the initial distribution (which specifies the jobs that must be finished before stealing) is important. The execution of a first algorithm to balance the load between the machines removes the problematic cases which can disrupt a work stealing strategy. This is why this work is focused on the problem of decentralized loadbalancing for heterogeneous machines sets. It could provide a suitable initial

3 distribution which can then be used by a work stealing algorithm or be used at regular intervals. We propose centralized and decentralized algorithms with proven properties operating under practically relevant conditions. The first one is specialized for systems with high machine heterogeneity while having a low job heterogeneity while the second one has been created to solve the problem for two different clusters each containing only identical machines, typically a GPU-accelerated cluster. The problem is formally defined in Section 2. In Section 3 we present the results we extend in this paper and the model is detailed in Section 4. We develop an algorithm to solve the case of high machine heterogeneity and low job heterogeneity and prove an approximation ratio in Section 5. Then, in Section 6, we limit the heterogeneity of the machines to two clusters and provide an algorithm to load balance the machines and prove an approximation ratio in case of convergence, then experimentally study the convergence. 2 Problem The problem studied in this work is a load balancing problem, the goal is to construct a partition S of a set of jobs J onto the machines in the set M in order to minimize an objective function. Many functions can be minimized but we focus on the makespan C max (S) which is C max (S) = max i M C(S, i) where C(S, i) = j S(i) p i,j is the makespan of the machine i, p i,j is the time needed for the execution of job j on the machine i, and S(i) is the set of jobs assigned to the machine i. In the following parts, we will denote C(S, i) as C(i) when there is no ambiguity on the solution used to compute the makespan. In this problem, the partition obtained is usually compared to the minimum possible makespan OPT which characterizes the optimal solutions, OPT = min S C max (S). The homogeneity of the set of machines is the main hypothesis which is usually done on the set of machines used for a parallel execution. The machines can be uniform, related, or unrelated. The machines can be homogeneous. In this case, they are said to be uniform, each job j can be executed on every machine i with the exact same cost (usually the same duration), i, i M, p i,j = p i,j. In the related case, all the machines are different but only differ by a fixed factor. For all the jobs we have i, i M, α, j J, p i,j = αp i,j. The unrelated case is the most general with a lot of heterogeneity in the machine set; Every machine has a fixed cost p i,j for each job (which can be infinite) and there are no relations restricting this cost. The problem developed in the following parts is the load balancing of unrelated machines with objective to minimize C max which is denoted as R C max by Graham et al. in [8]. Because the problem is NP-Complete [6], we develop two approximation algorithms for the problem. 2

4 3 Related Work Scheduling problems have interested many researchers since the 60 : in 1969 Graham [7] showed that the scheduling problem on uniform machines can be approximated with in a factor 2 (there exists an algorithm that provides a solution S such that C max (S) 2 OPT). The scheduling problem on unrelated machines which is studied in this work has been studied by Lawler and Labetoulle in [10]. They showed that the problem can be solved in polynomial time using a linear programming problem when there is the hypothesis of pre-emption (the possibility to pause a job on a machine and restart it on another machine). The same problem without pre-emption has been approximated by a factor 2 by Lenstra et al. in [11] also using a linear programming problem. Moreover they showed that the problem cannot be approximated with a better approximation ratio than 3 2 unless P = NP. In [5], Guochuan et al. propose a centralized online algorithm to distribute the new arriving jobs between two different clusters of identical machines, and proved this algorithm has an approximation ratio of 4. Algorithm 1 Work Stealing for a particular machine Data: m machine Data: S(m) jobs assigned to m while true do if S(m) = then Select randomly a target machine i if S(i) then Steal half of the jobs of i else Start running a job j of S(m) Remove j of S(m) In order to avoid an excessive work load on the scheduling machine, a decentralized strategy has been introduced in 1981 by Burton and Sleep in [4]: the work stealing algorithm (Algorithm 1). The goal of the algorithm is to keep every machine busy until there are no more jobs to run. In order to meet this objective, when a machine finishes its last locally available job, it contacts its neighbours and try to steal some of the non running jobs. In 1994, Blumofe in [2,3] continued the idea of work stealing to apply it into the middleware Cilk, and proved some guarantees on the execution time of a batch of jobs using a work stealing algorithm on identical parallel machines. In particular, he proved that the expected maximum makespan is bounded by the average work per machine plus a big O of the critical path p of the problem, E(C max (S)) j J p i,j/ M + O(p ). In 2002, Bender and Rabin [1] extended this result to the problem with related machines and the possibility to use pre-emption, and proved that the 3

5 completion time is bounded by E(C max (S)) j J p 1,j/( M π) + O(p /π) where expected machine 1 is the fastest machine and π is the average speed of the machines, normalized by the speed of fastest machine. 4 A Priori Load Balancing For the work stealing algorithm as developed by Blumofe in [2,3], little is known about the jobs and the machines and this is possible because all machines are the same. For the work stealing algorithm adapted by Bender and Rabin [1], the algorithm knows and uses the relative speed of both machines which is enough to characterize the differences between the machines. However, in the case of unrelated machines, machines are characterized by the cost of each job execution and this also defines each job, so we consider as known the costs p i,j of each job. Applying a work stealing strategy on unrelated machines has a flaw. Indeed, this strategy starts stealing jobs from another machine only when the work previously scheduled on the machine has been executed. But if the initial distribution is poorly done, the first steal can happen long after the optimal makespan. Theorem 1. Applying a work stealing strategy on unrelated machines can induce an unbounded makespan. Proof. The circled schedule presented in table 1, presents a situation where the first steal can only happen after a time n, and so the execution can be finished in n + 1 units of time. However, with a good schedule the work can be finished in 2 units of time. Table 1. Bad initial distribution Cost Machine A Machine B Machine C Job 1 1 n n Job n Job 3 n 1 1 Job 4 n 1 1 Job 5 n 1 1 The circled distribution is a bad initial distribution to apply a Work Stealing strategy(algorithm 1). This is why a load balancing before executing the first jobs in an unrelated work stealing strategy seems necessary. However, making a centralized load balancing would not fit the work stealing algorithm as it is completely distributed. 4

6 Theorem 2. A generic algorithm balancing optimally each pair of machine optimally can induce an unbounded makespan. Proof. The example developed in Fig. 1 has a makespan of n and each pair of machine is optimally balanced. However, the optimal solution has a makespan of 1. B {3} Optimal Optimal {2} Optimal {1} A C Cost Machine A Machine B Machine C Job 1 1 n n 2 Job 2 n 2 1 n Job 3 n n 2 1 Makespan of the circled distribution: n Optimal distribution for all pairs Optimal makespan: 1 Fig. 1. Example of situation with 3 machines and 3 jobs with an unbounded makespan There is little hope to find generic solutions, so we look at particular cases. The following parts focus on providing bounded algorithms to solve the problem. 5 Load Balancing per Type of Job In this section, the jobs are grouped by type. In each type, all the jobs have the same costs: j, j J, j has the same type as j i M, p i,j = p i,j. This distinction can easily be made in real systems where simple queries can represent most of the jobs of a system: even if the jobs are not exactly the same, their cost is similar and only vary depending on which machine executes them. 5.1 Balancing only one type of job This section presents an algorithm the case where there is only one type of job, and the proof of optimality of this algorithm. The One Job Type Balancing algorithm (Algorithm 3) is quite simple. It randomly chooses a target and balances the load of the two machines in an optimal way. Getting the optimal load balancing for two machines in this problem is ensured by Basic Greedy (Algorithm 2) thanks to the fact that the jobs cost is defined by the machine only (Proof omitted since this is trivial). Theorem 3. One Job Type Balancing (Algorithm 3) provides an optimal distribution S of the jobs. C max (S) = OPT (1) 5

7 Algorithm 2 Basic Greedy Data: machines m and i Data: S distribution of jobs A := S(i) S(m) S(m) := S(i) := while J do let j be the first job in A if C(m) + p m,j C(i) + p i,j then S(m) := S(m) {j} else S(i) := S(i) {j} A := A\{j} Algorithm 3 One Job Type Balancing Data: m host machine Data: S initial distribution of the jobs Result: C max(s) = OPT while true do Select i M Distribute optimally the load of i and m with the Basic Greedy Proof. Let S(n) be the solution created after the n-th execution of the algorithm. Note that C max (S(n + 1)) C max (S(n)); If not, the balancing done between the two machines at step n + 1 would not be optimal. Hence the function C max (S(n)) is decreasing. Let S be the distribution created by the algorithm 3 after an infinite number of executions. As all the jobs have the same costs we denote as p i the cost of any job on the machine i. We can now represent S(i) only by its cardinal which we denote as N(i), N(i) = S(i). We also have C(i) = N(i) p i Let S be an optimal distribution and N (i) = S (i) By contradiction, let us assume that C max (S) > C max (S ) There exists i max M such that C(i max ) = C max (S). In particular, N(i max ) > N (i max ), but this also implies that there exists i such that N(i) < N (i) (because i M N(i) = J = i M N (i)). So at least one job can be moved from i max to i to have a better local distribution (C max would decrease). Hence the distribution S is not optimal for the pair of machine i max and i but as the algorithm 3 has been applied an infinite number of times and because C max is decreasing, S should be optimal for i max and i. In conclusion we have C max (S) C max (S ) hence C max (S) = C max (S ). 5.2 Extension to multiple types of jobs The One Job Type Balancing algorithm can be extended into the Multiple Job Type Balancing algorithm to balance multiple types of jobs; however, the performance guarantee of the algorithm become linear with the number of types of jobs. 6

8 Algorithm 4 Multiple Job Type Balancing Data: m host machine of type Data: S initial distribution of the jobs Data: k number of types of jobs Result: C max(s) k OPT while true do Select i M foreach l: type of job do Distribute the jobs of type l between i and m using Basic Greedy Theorem 4. Multiple Job Type Balancing (Algorithm 4), applied to k types of jobs, provides distribution S of the jobs which is a k-approximation. C max (S) k OPT (2) Proof. The theorem 3 is applied for each type of job. The approximation ratio is at most linear with the number of types of jobs k but we can also show that the minimal lower bound is at least ln(k) (Fig. 2). Cost Machine m 1 m Job j m 1/m 1/m... 1/m 1/m j m 1 1/(m 1)... 1/(m 1) 1/(m 1).. j /2 1/2 j J is constructed with the rule i [1, m], add i job j i Number of job Machine per machine m 1 m Job j m j m j j If the order used by the algorithm 4 is [j m, j m 1,..., j 2, j 1], the distribution is stable for all pairs of machines, and C max = m 1/k ln(k) k=1 Fig. 2. Example of ln(k) schedule produced by the algorithm 4 6 Load balancing with two types of machines In this section, we limit the problem to two different clusters of identical machines M 1 and M 2 ( i, i M 1 (resp. M 2 ), j J, p i,j = p i,j). This is meaningful in practice since the advent of GPU-accelerated clusters. We develop a new algorithm with a proven approximation ratio of 2 under the assumption that the 7

9 cost of any task is smaller than the optimal makespan for the problem, which is formally expressed as i M, j J, p i,j OPT. This hypothesis is realistic in the sense that any machine is able to do almost everything another machine does but with a different speed, we suppose here that there is not a job which can only run on one cluster (and if this was the case, they could be assigned beforehand). Moreover, this hypothesis also suggests that there is a large amount of jobs, which is the starting point for creating a decentralized algorithm. To simplify the notations, in this section we will denote as p i,j the cost of job j on cluster i. 6.1 A centralized algorithm We first focus on the centralized version of the problem and then use this centralized algorithm as a stepping stone to create a decentralized one that solves the problem. This problem is a sub-problem of the scheduling problem of m unrelated machines which has already been studied by Lenstra et al. in 1990 [11]. They provide an algorithm with an approximation ratio of 2. However, the solution is provided by solving a linear programming problem first and this method seems difficult to decentralize. This is why we developed a new greedy algorithm to balance the load between two clusters. The idea behind this new algorithm, called Centralized Load Balancing for two clusters of machines (Algorithm 5), is quite simple: we first sort the jobs according to the ratio p 1,j /p 2,j so that the jobs which are executed faster on the first cluster are at the beginning of the list and the one executed faster on the second cluster are at the end of the list. Then we evaluate the decision of placing the first job of the list on the machine of the first cluster with minimal makespan and placing the last job of the list on the second cluster on the machine with minimal makespan. The job placed is the one that minimize the makespan of those two machines. That way, if a job is not placed on the cluster where it can be executed at its minimal cost, we know this choice does not have a significant impact on the overall makespan. Theorem 5. The job partition S given by the Centralized Load Balancing for two clusters of machines algorithm (Algorithm 5) has a makespan at most two times larger than the optimal solution. C max (S) 2 OPT (3) Proof. Let i max be a machine of M = M 1 M 2 such that C max (S) = C(i max ) We can suppose, without loss of generality, that i max M 1. Let j max be the last job placed on i max. Let S be the incomplete partition of J just before the choice is made by Algorithm 5 to place j max on i max. Let C 1 be C(S, i max ) and C 2 be such that C 2 = min i M 2 C(S, i). Note that C 1 has also the property C 1 = min i M 1 C(S, i). 8

10 Algorithm 5 Centralized Load Balancing for two clusters of machines Data: M 1 Cluster of identical machines of type 1 Data: M 2 Cluster of identical machines of type 2 Data: J Set of n jobs such that j {1,..., n}, p 1,J(j) OPT and p 2,J(j) OPT Result: Partition S of jobs for each machine, such that C max(s) 2 OPT Sort jobs in J in increasing order of p 1,j/p 2,j Initialize S with one empty set per machine j 1 := 1 j 2 := n while j 1 j 2 do Select i 1 M 1 such that C(i 1 ) = min i M 1 C(i) Select i 2 M 2 such that C(i 2 ) = min i M 2 C(i) if C(i 1 ) + p 1,J(j 1 ) C(i 2 ) + p 2,J(j 2 ) then S(i 1 ) := S(i 1 ) {J(j 1 )} j 1 := j else S(i 2 ) := S(i 2 ) {J(j 2 )} j 2 := j 2 1 return S Let us compare min(c 1, C 2 ) to OPT Let S 1 be the jobs placed on cluster 1 in S, and S 2 the ones placed on cluster 2, S k = i M k S (i). To compare C 1 and C 2, we will use the notion of work, the work is defined as the total cost of the jobs assigned to the machines. The work done on the cluster 1, W 1, has the property W 1 M 1 C 1, similarly, the work W 2 done on cluster 2 is such that W 2 M 2 C 2. Let S be an optimal solution with S 1 the set of jobs placed on cluster 1 and S 2 the set of jobs placed on cluster 2. The work done on cluster 1 with an optimal solution is denoted as W 1, the work done on cluster 2 is denoted as W 2 To create an optimal solution from S, the jobs J 1 = S 1 S 2 should be moved from the cluster 1 to the cluster 2, and the jobs J 2 = S 2 S 1 from cluster 2 to cluster 1. We have the equations W 1 = W 1 p 1,j + p 1,j and W 2 = W 2 p 2,j + p 2,j (4) j J 1 j J 2 j J 2 j J 1 By contradiction, let us assume that W 1 < W 1 and W 2 < W 2, from 4 we deduce p 1,j < p 1,j and p 2,j < p 2,j (5) j J 2 j J 1 j J 1 j J 2 Let α = p 1,jmax /p 2,jmax Because the algorithm sorts the jobs, we have j J 1, p 1,j /p 2,j α and j J 2, p 1,j /p 2,j α and with 5 we have 9

11 But p 1,j < p 1,j α p 2,j < α p 2,j j J 2 j J 1 j J 1 j J 2 (6) p 1,j α p 2,j j J 2 j J 2 (7) With the contradiction given by 6 and 7, we deduce that W 1 W 1 or W 2 W 2, in particular, OPT max(w 1 / M 1, W 2 / M 2 ) min(w 1 / M 1, W 2 / M 2 ) min(c 1, C 2 ). In conclusion, min(c 1, C 2 ) OPT (8) Let j be the job compared to j max when j max is placed. Because j max has been placed on i max from the first cluster, we have C 1 + p 1,jmax C 2 + p 2,j (9) If C 1 C 2, C 1 OPT and p 1,jmax OPT so C max (S) 2 OPT. If C 2 < C 1, we have C 2 OPT, p 2,j OPT and C 1 + p 1,jmax C 2 + p 2,j so C max (S) 2 OPT. In both cases, C max (S) 2 OPT (10) 6.2 Distributed algorithm The Centralized Load Balancing for two clusters of machines algorithm is the base for a decentralized algorithm to balance the load of machines on two clusters of uniform machines. Indeed, like the peer to peer approach from the Work Stealing algorithm the Decentralized Load Balancing for two clusters of machines algorithm is executed on each machine, and each machine randomly selects a target (a machine), and if both machines are from the same cluster, a Greedy Load Balancing is applied, and if both machines are from different clusters, the Centralized Load Balancing for two clusters of machines algorithm is used to balance both machines (considering two sub-clusters of one machine each). This algorithm uses Greedy Load Balancing to balance two machines from the same cluster (Algorithm 6), this algorithm is in particular a 3 2 -approximation [7]. Decentralized Load Balancing for two clusters of machines also ensures an interesting property: when the situation is stable, the makespan of the job distribution is bounded by twice the optimal makespan. 10

12 Algorithm 6 Greedy Load Balancing Data: m 1, m 2 machines of the same cluster to balance Data: S distribution of jobs A = S(m 1 ) S(m 2 ) if m 1 is in cluster 1 then Sort jobs in A in increasing order of p 1,j/p 2,j else Sort jobs in A in increasing order of p 2,j/p 1,j Initialize S with one empty set for m 1 and m 2 while A do j first job in A if C(m 1 ) C(m 2 ) then S(m 1 ) := S(m 1 ) {j} else S(m 2 ) := S(m 2 ) {j} A := A\{j} return S Algorithm 7 Decentralized Load Balancing for two clusters of machines Data: m host machine of type k Data: J(m) Set of jobs initially on m Result: C(J(m)) 2 OPT while true do Select i M if i is in the same cluster as m then Apply Greedy Load Balancing to i and m else M 1 := {m} M 2 := {i} Apply Centralized Load Balancing for two clusters of machines to M 1 and M 2 Theorem 6. If the distribution S provided by the execution of Algorithm 7 becomes stable (for every pair of machine, the algorithm does not move any job), S is such that C max (S) 2 OPT. Proof. Let S 1 be the set of jobs assigned to cluster M 1 (S 1 = m M 1 S(m)) and S 2 the set of jobs assigned to cluster M 2. We first show that the jobs in S 2 have a ratio p 1,j /p 2,j larger the jobs in S 1. Let j 1 be such that p 1,j 1/p 2,j 1 = max j S 1 p 1,j /p 2,j and j 2 be p 1,j 2/p 2,j 2 = min j S 2 p 1,j /p 2,j. By contradiction let us assume that p 1,j 2/p 2,j 2 < p 1,j 1/p 2,j 1. Let us denote by m 1 the machine on which j 1 is scheduled, and m 2 the machine on which j 2 is scheduled. Because Decentralized Load Balancing for two clusters of machines have been executed for all pairs of machine and does not change the solution, it has been executed to balance m 1 and m 2 in particular. As we saw in proof of Theorem 5, there exists α such that j S(m 1 ), j S(m 2 ), p 1,j /p 2,j α and p 1,j /p 2,j α. 11

13 From these we conclude that j 1 S 1, j 2 S 2, p 1,j 1/p 2,j 1 p 1,j 2/p 2,j 2 (11) Let i max be a machine such that C max (S) = C(i max ). Without any loss of generality, we assume that i max M 1. Let j max be a job assigned to i max such that p 1,jmax /p 2,jmax = max j Simax p 1,j /p 2,j. Let C 1 = C(i max ) p 1,jmax. Since Greedy Load Balancing has been applied between the machines of the same cluster, we have the property i M 1, C 1 C(i) (12) Let C 2 and i 2 be such that C 2 = C(i 2 ) = min i M 2 C(i). Using the same reasoning by contradiction as in the proof of theorem 5 with α = p 1,j 1/p 2,j 1, we get min(c 1, C 2 ) OPT (13) Let us consider an execution of Centralized Load Balancing for two clusters of machines between i max and i 2. if j max is not the last job placed by the algorithm, then j max has been compared to j which has been placed afterward, so C 1 + p 1,jmax C 2 but C 1 + p 1,jmax C 2 (because C 1 + p 1,jmax = C max (S)). Hence C 1 C 2 so we deduce C 1 OPT and with p 1,jmax OPT we have C max (S) 2 OPT if j max is the last job placed by the algorithm, we have C 1 + p 1,jmax C 2 + p 2,jmax Hence C max (S) 2 OPT In both cases we have C max (S) 2 OPT (14) This result is valid when the situation is stable, and the same upperbound can be obtained for any situation where i max can not exchange any job with any other machine. However, the convergence is not always possible, there exists possible cycles of exchanges (Fig. 3). 6.3 Experiments Theorem 6 ensures an upperbound when the partition is stable but, as Figure 3 demonstrates, the convergence may not happen. In this part, we experimentally study the convergence of the solution generated by Algorithm 7. We focus on two clusters of similar size (often there is one or two CPU and one GPU per machine) 12

14 A 1 4 A 1 4 B 2 3 B 2 C 5 (a) A + balancing(b,c) C 5 3 (b) C + balancing(a,b) A B C (c) B + balancing(a,c) Job Cluster 1 = {A,B} Cluster 2 = {C} 1 4ɛ 1 2 4ɛ 1 3 ɛ 2ɛ 4 1 8ɛ ɛ (d) Cost of each job Fig. 3. The cycle [(a),(b),(c)] is an example of cycle in the execution of the Decentralized Load Balancing for two clusters of machines (Algorithm 7). For each step of this cycle, there is only one non-trivial balancing possible and it leads to the next step. and use randomly generated jobs which are initially distributed randomly among the machines. We developed a simulator that implements Centralized Load Balancing for two clusters of machines and Decentralized Load Balancing for two clusters of machines (Algorithms 5 and 7). For each iteration of the simulation, a pair of machine is randomly chosen and then balanced using the decentralized algorithm. As the partition can cycle, the process is limited to 1,000,000 iterations at most. We computed the makespan of the distribution obtained as well as the stability of the partition for clusters composed of 64 and 32 machines. The results show that the stability is not often obtained, only 18% of the simulations are stable when the average number of jobs per machine is smaller than 4, and it quickly drops as the average number of jobs per machine increases (Fig. 4) and eventually reaches 0%. However, the same simulation shows that the makespan of the solution created by the decentralized algorithm gets quickly under 150% of the makespan obtained with the centralized algorithm (we denote this value as 1.5cent). This threshold is hopefully much smaller than 3 times the optimal makespan as the centralized algorithm is a proven 2-approximation. The experiments show that 90% of the partitions created have reached this threshold in less than 350 balancing which is less than 4 balancings per machine in this case. 13

15 Fraction of stability attained Number of jobs Fraction of experiments where Cmax 1.5cent Iterations 96 jobs 192 jobs 384 jobs 768 jobs 1536 jobs 3072 jobs Fig. 4. Experimentation on Decentralized Load Balancing for two clusters of machines onto a cluster of 64 machines and a cluster of 32 machines. (Left) Percentage of experiments that produced a stable partition. (Right) Percentage of partitions with a makespan smaller than 1.5cent after a number of iterations. 7 Conclusion In this work we propose two decentralized algorithms designed to balance the work on heterogeneous machines in two different cases. The Multiple Job Type Balancing algorithm uses of the limited number of classes of jobs and has an approximation ratio with an upper bound equal to the number of types of jobs considered. The Decentralized Load Balancing for two clusters of machines has a proven 2-approximation ratio if convergence is reached. However, experiments showed that the distribution is often unstable but also that the centralized algorithm quickly provides a distribution close to its centralized counter-part. Providing an upperbound for all the distributions created by the Decentralized Load Balancing for two clusters of machines algorithm and its extension to more than two clusters of machines are possible future works. Finally, it could be interesting to study implementations of this algorithm and in particular the convergence time and the quality of the approximation. Acknowledgements Many thanks to Erik Saule for the opportunity and help provided during the training course. References 1. Michael A. Bender and Michael O. Rabin. Online scheduling of parallel programs on heterogeneous systems with applications to cilk. Theory of Computing Systems, Special Issue on SPAA, 35(3): , Robert D. Blumofe. Scheduling multithreaded computations by work stealing. In FOCS, pages ,

16 3. Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. Cilk: An efficient multithreaded runtime system. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), page , F. Warren Burton and M. Ronan Sleep. Executing functional programs on a virtual tree of processors. In Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture, FPCA 81, pages , Lin Chen, Deshi Ye, and Guochuan Zhang. Online scheduling on a cpu-gpu cluster. In T-H.Hubert Chan, LapChi Lau, and Luca Trevisan, editors, Theory and Applications of Models of Computation, volume 7876 of Lecture Notes in Computer Science, pages 1 9. Springer Berlin Heidelberg, Michael R. Garey and David S. Johnson. Strong NP-completeness results: Motivation, examples, and implications. J. ACM, 25(3): , Ronald L. Graham. Bounds on multiprocessing timing anomalies. SIAM Journal of Applied Mathematics, 17(2): , Ronald L. Graham, Eugene L. Lawler, Jan Karel Lenstra, and Alexander. H. G. Rinnooy Kan. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of discrete mathematics, 5(2): , Ralf Hoffmann, Matthias Korch, and Thomas Rauber. Performance evaluation of task pools based on hardware synchronization. In SC, page 44, Eugene L. Lawler and Jacques Labetoulle. On preemptive scheduling of unrelated parallel processors by linear programming. J. ACM, 25(4): , Jan Karel Lenstra, David B. Shmoys, and Éva Tardos. Approximation algorithms for scheduling unrelated parallel machines. Mathematical Programming, 46: ,

Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06

Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06 CS880: Approximations Algorithms Scribe: Matt Elder Lecturer: Shuchi Chawla Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06 3.1 Set Cover The Set Cover problem is: Given a set of

More information

Duplicating and its Applications in Batch Scheduling

Duplicating and its Applications in Batch Scheduling Duplicating and its Applications in Batch Scheduling Yuzhong Zhang 1 Chunsong Bai 1 Shouyang Wang 2 1 College of Operations Research and Management Sciences Qufu Normal University, Shandong 276826, China

More information

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines This is the Pre-Published Version. An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines Q.Q. Nong, T.C.E. Cheng, C.T. Ng Department of Mathematics, Ocean

More information

Introduction to Scheduling Theory

Introduction to Scheduling Theory Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling

More information

Completion Time Scheduling and the WSRPT Algorithm

Completion Time Scheduling and the WSRPT Algorithm Completion Time Scheduling and the WSRPT Algorithm Bo Xiong, Christine Chung Department of Computer Science, Connecticut College, New London, CT {bxiong,cchung}@conncoll.edu Abstract. We consider the online

More information

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Martin Niemeier École Polytechnique Fédérale de Lausanne Discrete Optimization Group Lausanne, Switzerland martin.niemeier@epfl.ch

More information

Classification - Examples

Classification - Examples Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

More information

Dimensioning an inbound call center using constraint programming

Dimensioning an inbound call center using constraint programming Dimensioning an inbound call center using constraint programming Cyril Canon 1,2, Jean-Charles Billaut 2, and Jean-Louis Bouquard 2 1 Vitalicom, 643 avenue du grain d or, 41350 Vineuil, France ccanon@fr.snt.com

More information

Ronald Graham: Laying the Foundations of Online Optimization

Ronald Graham: Laying the Foundations of Online Optimization Documenta Math. 239 Ronald Graham: Laying the Foundations of Online Optimization Susanne Albers Abstract. This chapter highlights fundamental contributions made by Ron Graham in the area of online optimization.

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

The Relative Worst Order Ratio for On-Line Algorithms

The Relative Worst Order Ratio for On-Line Algorithms The Relative Worst Order Ratio for On-Line Algorithms Joan Boyar 1 and Lene M. Favrholdt 2 1 Department of Mathematics and Computer Science, University of Southern Denmark, Odense, Denmark, joan@imada.sdu.dk

More information

Single machine parallel batch scheduling with unbounded capacity

Single machine parallel batch scheduling with unbounded capacity Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

More information

Scheduling Parallel Jobs with Monotone Speedup 1

Scheduling Parallel Jobs with Monotone Speedup 1 Scheduling Parallel Jobs with Monotone Speedup 1 Alexander Grigoriev, Marc Uetz Maastricht University, Quantitative Economics, P.O.Box 616, 6200 MD Maastricht, The Netherlands, {a.grigoriev@ke.unimaas.nl,

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Scheduling Parallel Jobs with Linear Speedup

Scheduling Parallel Jobs with Linear Speedup Scheduling Parallel Jobs with Linear Speedup Alexander Grigoriev and Marc Uetz Maastricht University, Quantitative Economics, P.O.Box 616, 6200 MD Maastricht, The Netherlands. Email: {a.grigoriev,m.uetz}@ke.unimaas.nl

More information

Performance metrics for parallelism

Performance metrics for parallelism Performance metrics for parallelism 8th of November, 2013 Sources Rob H. Bisseling; Parallel Scientific Computing, Oxford Press. Grama, Gupta, Karypis, Kumar; Parallel Computing, Addison Wesley. Definition

More information

One-Restart Algorithm for Scheduling and Offloading in a Hybrid Cloud

One-Restart Algorithm for Scheduling and Offloading in a Hybrid Cloud One-Restart Algorithm for Scheduling and Offloading in a Hybrid Cloud Jaya Prakash Champati and Ben Liang Department of Electrical and Computer Engineering, University of Toronto {champati,liang}@comm.utoronto.ca

More information

Decentralized Utility-based Sensor Network Design

Decentralized Utility-based Sensor Network Design Decentralized Utility-based Sensor Network Design Narayanan Sadagopan and Bhaskar Krishnamachari University of Southern California, Los Angeles, CA 90089-0781, USA narayans@cs.usc.edu, bkrishna@usc.edu

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Bi-objective approximation scheme for makespan and reliability optimization on uniform parallel machines

Bi-objective approximation scheme for makespan and reliability optimization on uniform parallel machines Bi-objective approximation scheme for makespan and reliability optimization on uniform parallel machines Emmanuel Jeannot 1, Erik Saule 2, and Denis Trystram 2 1 INRIA-Lorraine : emmanuel.jeannot@loria.fr

More information

Optimal and nearly optimal online and semi-online algorithms for some scheduling problems

Optimal and nearly optimal online and semi-online algorithms for some scheduling problems Optimal and nearly optimal online and semi-online algorithms for some scheduling problems Ph.D. thesis Made by: Dósa György Supervisor: Vízvári Béla University of Szeged, Faculty of Science Doctoral School

More information

Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances

Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances Bounded Cost Algorithms for Multivalued Consensus Using Binary Consensus Instances Jialin Zhang Tsinghua University zhanggl02@mails.tsinghua.edu.cn Wei Chen Microsoft Research Asia weic@microsoft.com Abstract

More information

Online Scheduling with Bounded Migration

Online Scheduling with Bounded Migration Online Scheduling with Bounded Migration Peter Sanders, Naveen Sivadasan, and Martin Skutella Max-Planck-Institut für Informatik, Saarbrücken, Germany, {sanders,ns,skutella}@mpi-sb.mpg.de Abstract. Consider

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Load balancing of temporary tasks in the l p norm

Load balancing of temporary tasks in the l p norm Load balancing of temporary tasks in the l p norm Yossi Azar a,1, Amir Epstein a,2, Leah Epstein b,3 a School of Computer Science, Tel Aviv University, Tel Aviv, Israel. b School of Computer Science, The

More information

On the k-path cover problem for cacti

On the k-path cover problem for cacti On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

More information

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004 Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

How To Find An Optimal Search Protocol For An Oblivious Cell

How To Find An Optimal Search Protocol For An Oblivious Cell The Conference Call Search Problem in Wireless Networks Leah Epstein 1, and Asaf Levin 2 1 Department of Mathematics, University of Haifa, 31905 Haifa, Israel. lea@math.haifa.ac.il 2 Department of Statistics,

More information

An example of a computable

An example of a computable An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept

More information

Stiffie's On Line Scheduling Algorithm

Stiffie's On Line Scheduling Algorithm A class of on-line scheduling algorithms to minimize total completion time X. Lu R.A. Sitters L. Stougie Abstract We consider the problem of scheduling jobs on-line on a single machine and on identical

More information

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are

More information

Priority Based Load Balancing in a Self-Interested P2P Network

Priority Based Load Balancing in a Self-Interested P2P Network Priority Based Load Balancing in a Self-Interested P2P Network Xuan ZHOU and Wolfgang NEJDL L3S Research Center Expo Plaza 1, 30539 Hanover, Germany {zhou,nejdl}@l3s.de Abstract. A fundamental issue in

More information

Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

More information

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS. R u t c o r Research R e p o r t A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS Navid Hashemian a Béla Vizvári b RRR 3-2011, February 21, 2011 RUTCOR Rutgers

More information

A New Nature-inspired Algorithm for Load Balancing

A New Nature-inspired Algorithm for Load Balancing A New Nature-inspired Algorithm for Load Balancing Xiang Feng East China University of Science and Technology Shanghai, China 200237 Email: xfeng{@ecusteducn, @cshkuhk} Francis CM Lau The University of

More information

Competitive Analysis of On line Randomized Call Control in Cellular Networks

Competitive Analysis of On line Randomized Call Control in Cellular Networks Competitive Analysis of On line Randomized Call Control in Cellular Networks Ioannis Caragiannis Christos Kaklamanis Evi Papaioannou Abstract In this paper we address an important communication issue arising

More information

Considerations on Distributed Load Balancing for Fully Heterogeneous Machines: Two Particular Cases

Considerations on Distributed Load Balancing for Fully Heterogeneous Machines: Two Particular Cases Considerations on Distributed Load Balancing for Fully Heterogeneous Machines: Two Particular Cases Nathanaël Cheriere Departent of Coputer Science ENS Rennes Rennes, France nathanael.cheriere@ens-rennes.fr

More information

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

Notes V General Equilibrium: Positive Theory. 1 Walrasian Equilibrium and Excess Demand

Notes V General Equilibrium: Positive Theory. 1 Walrasian Equilibrium and Excess Demand Notes V General Equilibrium: Positive Theory In this lecture we go on considering a general equilibrium model of a private ownership economy. In contrast to the Notes IV, we focus on positive issues such

More information

International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013

International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013 FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,

More information

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute

More information

20 Selfish Load Balancing

20 Selfish Load Balancing 20 Selfish Load Balancing Berthold Vöcking Abstract Suppose that a set of weighted tasks shall be assigned to a set of machines with possibly different speeds such that the load is distributed evenly among

More information

NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

More information

Optimal Online-list Batch Scheduling

Optimal Online-list Batch Scheduling Optimal Online-list Batch Scheduling Jacob Jan Paulus a,, Deshi Ye b, Guochuan Zhang b a University of Twente, P.O. box 217, 7500AE Enschede, The Netherlands b Zhejiang University, Hangzhou 310027, China

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,

More information

Factoring & Primality

Factoring & Primality Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

More information

The Student-Project Allocation Problem

The Student-Project Allocation Problem The Student-Project Allocation Problem David J. Abraham, Robert W. Irving, and David F. Manlove Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK Email: {dabraham,rwi,davidm}@dcs.gla.ac.uk.

More information

Scheduling Real-time Tasks: Algorithms and Complexity

Scheduling Real-time Tasks: Algorithms and Complexity Scheduling Real-time Tasks: Algorithms and Complexity Sanjoy Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

How To Solve The Stable Roommates Problem

How To Solve The Stable Roommates Problem THE ROOMMATES PROBLEM DISCUSSED NATHAN SCHULZ Abstract. The stable roommates problem as originally posed by Gale and Shapley [1] in 1962 involves a single set of even cardinality 2n, each member of which

More information

Offline sorting buffers on Line

Offline sorting buffers on Line Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

More information

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling. Tim Nieberg Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

More information

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem

More information

CSC2420 Spring 2015: Lecture 3

CSC2420 Spring 2015: Lecture 3 CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

More information

On-line machine scheduling with batch setups

On-line machine scheduling with batch setups On-line machine scheduling with batch setups Lele Zhang, Andrew Wirth Department of Mechanical Engineering The University of Melbourne, VIC 3010, Australia Abstract We study a class of scheduling problems

More information

Low upper bound of ideals, coding into rich Π 0 1 classes

Low upper bound of ideals, coding into rich Π 0 1 classes Low upper bound of ideals, coding into rich Π 0 1 classes Antonín Kučera the main part is a joint project with T. Slaman Charles University, Prague September 2007, Chicago The main result There is a low

More information

Determination of the normalization level of database schemas through equivalence classes of attributes

Determination of the normalization level of database schemas through equivalence classes of attributes Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,

More information

The Trip Scheduling Problem

The Trip Scheduling Problem The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

More information

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster , pp.11-20 http://dx.doi.org/10.14257/ ijgdc.2014.7.2.02 A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster Kehe Wu 1, Long Chen 2, Shichao Ye 2 and Yi Li 2 1 Beijing

More information

A Service Revenue-oriented Task Scheduling Model of Cloud Computing

A Service Revenue-oriented Task Scheduling Model of Cloud Computing Journal of Information & Computational Science 10:10 (2013) 3153 3161 July 1, 2013 Available at http://www.joics.com A Service Revenue-oriented Task Scheduling Model of Cloud Computing Jianguang Deng a,b,,

More information

ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

More information

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster

A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster Acta Technica Jaurinensis Vol. 3. No. 1. 010 A Simultaneous Solution for General Linear Equations on a Ring or Hierarchical Cluster G. Molnárka, N. Varjasi Széchenyi István University Győr, Hungary, H-906

More information

Load Balancing and Rebalancing on Web Based Environment. Yu Zhang

Load Balancing and Rebalancing on Web Based Environment. Yu Zhang Load Balancing and Rebalancing on Web Based Environment Yu Zhang This report is submitted as partial fulfilment of the requirements for the Honours Programme of the School of Computer Science and Software

More information

Primality - Factorization

Primality - Factorization Primality - Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.

More information

Near Optimal Solutions

Near Optimal Solutions Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

More information

IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS

IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE

More information

Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

More information

On the Traffic Capacity of Cellular Data Networks. 1 Introduction. T. Bonald 1,2, A. Proutière 1,2

On the Traffic Capacity of Cellular Data Networks. 1 Introduction. T. Bonald 1,2, A. Proutière 1,2 On the Traffic Capacity of Cellular Data Networks T. Bonald 1,2, A. Proutière 1,2 1 France Telecom Division R&D, 38-40 rue du Général Leclerc, 92794 Issy-les-Moulineaux, France {thomas.bonald, alexandre.proutiere}@francetelecom.com

More information

Online and Offline Selling in Limit Order Markets

Online and Offline Selling in Limit Order Markets Online and Offline Selling in Limit Order Markets Kevin L. Chang 1 and Aaron Johnson 2 1 Yahoo Inc. klchang@yahoo-inc.com 2 Yale University ajohnson@cs.yale.edu Abstract. Completely automated electronic

More information

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q... Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

More information

Using semantic properties for real time scheduling

Using semantic properties for real time scheduling Using semantic properties for real time scheduling Christian Fotsing, Annie Geniet LISI, ENSMA 1 Av. Clement Ader BP 40109-86961 Futuroscope Chasseneuil-France fotsingc@ensma.fr, annie.geniet@univ-poitiers.fr

More information

Lecture 4 Online and streaming algorithms for clustering

Lecture 4 Online and streaming algorithms for clustering CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks

A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks World Applied Sciences Journal 7 (10): 1324-1330, 2009 ISSN 1818-4952 IDOSI Publications, 2009 A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks Siamak Baradaran and S.M.T.

More information

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

More information

Improved Algorithms for Data Migration

Improved Algorithms for Data Migration Improved Algorithms for Data Migration Samir Khuller 1, Yoo-Ah Kim, and Azarakhsh Malekian 1 Department of Computer Science, University of Maryland, College Park, MD 20742. Research supported by NSF Award

More information

The Online Set Cover Problem

The Online Set Cover Problem The Online Set Cover Problem Noga Alon Baruch Awerbuch Yossi Azar Niv Buchbinder Joseph Seffi Naor ABSTRACT Let X = {, 2,..., n} be a ground set of n elements, and let S be a family of subsets of X, S

More information

Large induced subgraphs with all degrees odd

Large induced subgraphs with all degrees odd Large induced subgraphs with all degrees odd A.D. Scott Department of Pure Mathematics and Mathematical Statistics, University of Cambridge, England Abstract: We prove that every connected graph of order

More information

An Optimized Load-balancing Scheduling Method Based on the WLC Algorithm for Cloud Data Centers

An Optimized Load-balancing Scheduling Method Based on the WLC Algorithm for Cloud Data Centers Journal of Computational Information Systems 9: 7 (23) 689 6829 Available at http://www.jofcis.com An Optimized Load-balancing Scheduling Method Based on the WLC Algorithm for Cloud Data Centers Lianying

More information

Capacity Planning for Virtualized Servers 1

Capacity Planning for Virtualized Servers 1 Capacity Planning for Virtualized Servers 1 Martin Bichler, Thomas Setzer, Benjamin Speitkamp Department of Informatics, TU München 85748 Garching/Munich, Germany (bichler setzer benjamin.speitkamp)@in.tum.de

More information

Find-The-Number. 1 Find-The-Number With Comps

Find-The-Number. 1 Find-The-Number With Comps Find-The-Number 1 Find-The-Number With Comps Consider the following two-person game, which we call Find-The-Number with Comps. Player A (for answerer) has a number x between 1 and 1000. Player Q (for questioner)

More information

Analysis of a Production/Inventory System with Multiple Retailers

Analysis of a Production/Inventory System with Multiple Retailers Analysis of a Production/Inventory System with Multiple Retailers Ann M. Noblesse 1, Robert N. Boute 1,2, Marc R. Lambrecht 1, Benny Van Houdt 3 1 Research Center for Operations Management, University

More information

DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM

DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM 1 Introduction In parallel distributed computing system, due to the lightly loaded and overloaded nodes that cause load imbalance, could affect

More information

Load Balancing. Load Balancing 1 / 24

Load Balancing. Load Balancing 1 / 24 Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

More information

Load Balancing using Potential Functions for Hierarchical Topologies

Load Balancing using Potential Functions for Hierarchical Topologies Acta Technica Jaurinensis Vol. 4. No. 4. 2012 Load Balancing using Potential Functions for Hierarchical Topologies Molnárka Győző, Varjasi Norbert Széchenyi István University Dept. of Machine Design and

More information

Ph.D. Thesis. Judit Nagy-György. Supervisor: Péter Hajnal Associate Professor

Ph.D. Thesis. Judit Nagy-György. Supervisor: Péter Hajnal Associate Professor Online algorithms for combinatorial problems Ph.D. Thesis by Judit Nagy-György Supervisor: Péter Hajnal Associate Professor Doctoral School in Mathematics and Computer Science University of Szeged Bolyai

More information

TD(0) Leads to Better Policies than Approximate Value Iteration

TD(0) Leads to Better Policies than Approximate Value Iteration TD(0) Leads to Better Policies than Approximate Value Iteration Benjamin Van Roy Management Science and Engineering and Electrical Engineering Stanford University Stanford, CA 94305 bvr@stanford.edu Abstract

More information

Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

More information

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015 ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015 ONLINE STEINER FOREST PROBLEM An initially given graph G. s 1 s 2 A sequence of demands (s i, t i ) arriving

More information

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT

More information

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Maher Rebai University of Technology of Troyes Department of Industrial Systems 12 rue Marie Curie, 10000 Troyes France maher.rebai@utt.fr

More information

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE/ACM TRANSACTIONS ON NETWORKING 1 A Greedy Link Scheduler for Wireless Networks With Gaussian Multiple-Access and Broadcast Channels Arun Sridharan, Student Member, IEEE, C Emre Koksal, Member, IEEE,

More information

Tiers, Preference Similarity, and the Limits on Stable Partners

Tiers, Preference Similarity, and the Limits on Stable Partners Tiers, Preference Similarity, and the Limits on Stable Partners KANDORI, Michihiro, KOJIMA, Fuhito, and YASUDA, Yosuke February 7, 2010 Preliminary and incomplete. Do not circulate. Abstract We consider

More information

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Minimizing the Number of Machines in a Unit-Time Scheduling Problem Minimizing the Number of Machines in a Unit-Time Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by Frank

More information