82
Int. J. Advanced Intelligence Paradigms, Vol. 9, No. 1, 2017
A combination of game theory and genetic algorithm for load balancing in distributed computer systems Hajar Siar* and Kourosh Kiani Department of Electrical and Computer Engineering, Semnan University, Semnan, Iran Email:
[email protected] Email:
[email protected] *Corresponding author
Anthony T. Chronopoulos Department of Computer Science, University of Texas at San Antonio, San Antonio, USA Email:
[email protected] Abstract: High demand of computation and communication in recent decades has increased the importance of distributed computer systems. Because of the heterogeneity of resources, resource management is one of the main challenges in designing distributed computer systems. In this paper, a new method has been proposed for solving load balancing problem in distributed computer systems using game theory and a genetic algorithm. The load balancing problem has been modelled as a non-cooperative game among users of the system. The payoff function of players was computed using an introduced parameter in order to decrease the users’ expected response time. Certain Nash equilibriums are unstable in a multi agent problem. Thus, a genetic algorithm based on the concept of Nash equilibrium is used for solving the load balancing game. Simulation results show the performance of the proposed load balancing algorithm in terms of the expected response time and fairness index as parameters in evaluating the performance of load balancing algorithms. Keywords: distributed computer systems; load balancing; game theory; Nash equilibrium; genetic algorithm. Reference to this paper should be made as follows: Siar, H., Kiani, K. and Chronopoulos, A.T. (2017) ‘A combination of game theory and genetic algorithm for load balancing in distributed computer systems’, Int. J. Advanced Intelligence Paradigms, Vol. 9, No. 1, pp.82–95. Biographical notes: Hajar Siar received her BSc in Software Engineering from Islamic Azad University, Iran in 2009. In 2014, she received her MSc in Artificial Intelligence from Semnan University, Seman, Iran. Her main research interests are in artificial intelligence, machine learning, game theory, distributed computing and networking.
Copyright © 2017 Inderscience Enterprises Ltd.
A combination of game theory and genetic algorithm for load balancing
83
Kourosh Kiani received his BSc and MSc in Electrical Engineering from Delft University of Technology in Delft, the Netherlands in 1993 and PhD in Medical Information from Erasmus University in Rotterdam, the Netherlands in 1997. Between 1997 and 2005, he was employed as an engineer and researcher by Philips Medical Systems. He left the industry in 2005 to become an Assistant Professor in the Department of Electrical Engineering at the Semnan University, Semnan, Iran. Anthony T. Chronopoulos obtained his PhD in Computer Science from the University of Illinois at Urbana-Champaign, USA in 1986. He is currently a Professor in Computer Science at the University of Texas at San Antonio, USA. He has published 52 journal and 69 peer-reviewed conference proceedings publications in the areas of distributed and parallel computing, grid and cloud computing, scientific computing. He has over 1,600 non-co-authors’ citations and H-index = 27.
1
Introduction
Distributed computer systems are one of the most important achievements of the networking technology. Users of a distributed system can have access to the resources simultaneously (Foster and Kesselman, 2003; Kołodziej and Xhafa, 2011; Penmatsa and Chronopoulos, 2011; Chana, 2013). Each user of the distributed system sends a set of requests to the system as inputs, which are called jobs. To increase the performance of the system and process the tasks in an appropriate time, the users’ jobs must balance well over the resources. Distributing appropriately users’ jobs between the resources of the system is called load balancing (Grosu and Chronopoulos, 2005; Tanenbaum and Van Steen, 2007; Penmatsa and Chronopoulos, 2011). Game theory is a method for analysing and modelling the phenomenon when decision-makers interact (Osborne and Rubinstein, 1994). In this theory, each player tries to obtain his/her best utility. Since, in the load balancing problem each user desires to process maximum amount of his/her jobs in a unit of time (Rahmani Hosseinabadi et al., 2014), game theory can be an appropriate approach to handle this problem. Many different methods are proposed for resource management in distributed systems and some studies have been focused on solving this problem using game theory. A game-theoretic algorithm has been proposed (Grosu and Chronopoulos, 2005) for solving load balancing problem in distributed computer systems. In this algorithm, the load balancing problem is modelled as a non-cooperative game among users. The strategy of each player is the fragment of user’s jobs sent to the computers of system. The expected response time of each user is considered as his payoff. In another research paper (Penmatsa and Chronopoulos, 2006), the load balancing problem has been modelled as a cooperative game among the computers and the communication system. In Kołodziej and Xhafa (2011), a mixture of game theory and genetic algorithm is used for task scheduling in grid systems. The payoff of users was calculated using three parameters: task execution cost, resource utilisation cost and cost of security-assured allocation of user’s tasks.
84
H. Siar et al.
In another study (Xu et al., 2013), a new game theory automatic load balancing scheme in long term evolution (LTE) networks is proposed based on non-cooperative differential game. In this paper, the optimal load allocated to each cell is formulated as a Nash equilibrium. In Mani et al. (2005), a method has been proposed for solving the static load balancing problem in distributed system using genetic algorithm. It is considered that the arrival jobs to a central scheduler are allocated to various processors in the system with certain probabilities. A genetic algorithm is designed to minimise the expected response time of jobs by determining the probability of sending the jobs to each processor in the distributed system. A game-theoretic-based solution to the grid load-balancing problem has been proposed in Subrata et al. (2008). The developed algorithm combines the inherent efficiency of the centralised approach and the fault-tolerant nature of the decentralised approach. The problem has been modelled as a non-cooperative game, the objective of which is to reach the Nash equilibrium. In this game, the players are the schedulers, and each player tries to minimise its own average task completion time independently. In this paper, a method was proposed for solving the load balancing problem in distributed computer systems. This method use game theory to model the load balancing problem in the distributed system as a non-cooperative game among the users. The objective of the introduced load balancing game is minimising the expected response time of users’ jobs. Hence, the payoff function of players has been proposed in a way that the players will try to choose strategies that leads them to this goal. The distributed system is a multi-agent system, the agents of which are users or computers. Since certain equilibriums in game theory may not be stable in multi agent systems (Feldman and Tamir, 2008; Pendharkar, 2012), the genetic algorithm in this paper is used for estimating the near-optimal strategy of the load balancing game based on the concept of Nash equilibrium. Simulation results of the proposed algorithm are shown an appropriate turnover of this algorithm. The structure of the paper is as follows. Features of the load balancing problem and modelling the distributed system as a non-cooperative game are described in Section 2. The utilised method for solving the proposed load balancing game is explained in Section 3. Section 4 contains the simulation results of the proposed load balancing algorithm. Finally, the conclusion of the paper is presented in Section 5.
2
The proposed load balancing algorithm
2.1 Problem description To define the load balancing problem, the considered parameters are described so that the model of the distributed system can be illustrated accordingly. The number of computers and users of the distributed system are denoted as n and m, respectively. We note that each computer is modelled as an M/M/1 queue system. This means that the arrival rate of jobs to the computer is a Poisson distribution and processing times are exponentially distributed. The average processing rate of computer i is μi, and the average job generation rate of user j is Фj (Grosu and Chronopoulos, 2005; Mani et al., 2005; Subrata et al., 2008). It is assumed that each user generates tasks independently of the other users. The load balancing problem is the manner of distribution of jobs among computers so that the expected response time of users is minimised and the computer system has an
A combination of game theory and genetic algorithm for load balancing
85
appropriated performance. Thus, each user as an agent of the problem desires to obtain more utility. For modelling this problem based on game theory, we considered the users of the distributed computer system as players of the game. The strategy of each player is the fractions of user’s job that are sent to the computers of the distributed system for processing. Assume that sji represents the fraction of user j jobs sent to computer i, then the strategy profile of user j is represented as vector s j = ( s j1 ,..., s ji ,..., s jn ). Figure 1 represents a general model of the considered load balancing problem in a distributed computer system. Figure 1
A general model of the load balancing problem in a distributed computer system (see online version for colours)
For solving the described load balancing problem based on mentioned features, some constraints must be considered to generate valid strategies for each user (Grosu and Chronopoulos, 2005; Subrata et al., 2008; Song et al., 2014). Each player has to consider these constraints for generating his/her strategies (Grosu and Chronopoulos, 2005). These constraints are as follows: m
n
∑φ < ∑ μ j
i
j =1
i =1
s ji ≥ 0, i = 1,… , n; j = 1,… , m n
∑s
ji
= 1, j = 1,… , m
i =1 m
∑s φ
ji j
j =1
< μi , i = 1,… , n
86
H. Siar et al.
2.2 The non-cooperative load balancing game model To model a problem based on game theory, besides determining the players and their strategies, we need to specify the players’ payoff. The payoff of each player is estimated based on playing his strategy and the strategies of other players in the game. The objective of the introduced load balancing game is minimising the expected response time of the users. While game-theoretic load balancing schemes that were introduced in the past (Grosu and Chronopoulos, 2005; Penmatsa and Chronopoulos, 2011) considered the users’ expected response time (i.e., Dj) as the payoff function to achieve this goal, our introduced load balancing game uses a new objective function. By using this objective function the payoff of each user as the player is estimated in a way that the expected response time of users’ jobs will be decreased. The following represents the utilised payoff function in the introduced load balancing game in this paper (i.e., Fj). It is considered that the arrival rate of user j job to computer i is sjiφj. So, the arrival m
rate of all users’ jobs to computer i, is
∑ s φ . Hence, the remaining processing rate at ji j
j =1
computer i is: m
μi −
∑s φ
(1)
ki k
k =1
Thus, the expected response time in computer i is: 1
(2)
m
μi −
∑s φ
ki k
k =1
To estimate the expected response time of user j, the expected response time for processing the jobs of this user over all computers must be estimated. Since the allocated load of user j’s job to computer i is sji, the expected response time of user j’s jobs is: n
Dj =
∑ i =1
s ji m
μi −
∑
(3) skiφk
k =1
The available processing rate at computer i as seen by user j is denoted as m
μij = μi −
∑ s φ . For minimising the users' expected response time, the payoff function ki k
k =1 k≠ j
of players in the load balancing game is considered as follows: n
Fj =
∑(μ i =1
ij
μij − s jiφj )
2
(4)
A combination of game theory and genetic algorithm for load balancing
87
Proof: In the Appendix. By considering the expected response time of user j (i.e., Dj), the overall expected response time of the system is estimated by the following equation (Grosu and Chronopoulos, 2005). D=
1
m
φD φ∑ j
j =1
j
=
1
m
n
φ φ∑ ∑
s ji
j
j =1
i =1
m
μi −
∑
(5) skiφk
k =1
The introduced load balancing game model is a non-cooperative game and Nash equilibrium is the solution of such games. The Nash equilibrium of a game is a strategy profile at which no player can get a better payoff by keeping fixed the strategies of other users (Osborne and Rubinstein, 1994).
3
Solving the load balancing game
Since certain equilibriums in game theory may not be stable in multi agent systems (Feldman and Tamir, 2008; Pendharkar, 2012), the proposed game theoretic load balancing game have been solved using the genetic algorithm for estimating the near-optimal strategy and based on the concept of Nash equilibrium. At first an initial population of the game’s strategy profile is generated randomly. For each player, the genetic algorithm is applied only on his/her strategy profile and other players play their last strategy profile. After estimating the player’s near-optimal strategy profile, this strategy profile will be substituted on the overall strategy profile of the game. Noted that, up to that moment, the last strategy profile of players is the best near-optimal strategy profile estimated for them. The genetic algorithm terminates when the sum of square of the differences of the users’ utility (i.e., fitness) is less or equal than a small number ε. The pseudo code of the proposed load balancing game is represented in Algorithm 1. Algorithm 1
Pseudo code of the proposed load balancing game
1 Generate the initial population of the genetic algorithm 2 While termination-condition is not reached 3 For each player j in the game 4 Run the genetic algorithm on the strategy profile of player j, while other players play their best strategies 5 Substitute the estimated optimal response strategy of player j in the overall strategy profile of the game 6 End for 7 End while 8 Return the strategy profile of game as a solution.
88
H. Siar et al.
3.1 A genetic algorithm A genetic algorithm (Holland, 1992) is a population based optimisation algorithm used as an iterative and semi-random procedure to solve the problem and approximate the optimal solution. In this algorithm, at first, a random population of solutions is generated randomly which are called chromosomes. Genetic operators are applied to these chromosomes in an iterative procedure, until termination condition is satisfied. Termination conditions can be defined as reaching to a maximum iteration number or convergence of the fitness values. The main operations of genetic algorithm are, crossover, mutation and selection operators. The type of genetic algorithm which is used in the proposed load balancing game, is the canonical genetic algorithm. The type of the crossover and selection operators of the genetic algorithm are simple crossover (Mani et al., 2005) and tournament selection.
3.1.1 Simple crossover Suppose s1j and s 2j are two strategy profiles of player j that are selected for operating the simple crossover, the process is as follows (Mani et al., 2005). At first one crossover point y is selected randomly. s1j = ⎡⎣ s1j1 , s1j 2 ,… , s1jy ,… , s1jn ⎤⎦ s 2j = ⎡⎣ s 2j1 , s 2j 2 ,… , s 2jy ,… , s 2jn ⎤⎦
(6) n
Then, two values of M1 and M2 are calculated as M 1 =
∑ k =1
these values, X1 and X2 can be calculated as X 1 =
n
s1jk and M 2 =
∑s
2 jk .
Using
k =1
M1 M and X 2 = 2 . Finally, the M2 M1
resulting strategy profiles are generated as follows. s1*j = ⎡⎣ s1j1 , s1j 2 ,… , s1jy , X 1 s 2jy +1 ,… , X 1s 2jn ⎤⎦ 2 2 2 1 1 s 2* j = ⎡ ⎣ s j1 , s j 2 ,… , s jy , X 2 s jy +1 ,… , X 2 s jn ⎤⎦
(7)
Applying the simple crossover on the strategy profile of players will retaining the constraints mentioned in Section 2.1. Example: In this example, the introduced load balancing scheme has been applied on a distributed system with two computers and two users. It is considered that the processing rate of the computers is: μ1 = 10, μ2 = 20 and job arrival rate of users is: φ1 = 9, φ2 = 9 and the population size of the genetic algorithm is two. The initial population of the genetic algorithm (i.e., initial strategies of the players) is considered as: first 1 1 = 0.2303, s12 = 0.7697, s121 = 0.1704, s122 = 0.8296) and the second chromosome: ( s11 2 2 2 2 = 0.8682, s12 = 0.1318, s21 = 0.1086, s22 = 0.8914). So, for the first chromosome: ( s11 1 1 = 8.4664, μ12 = 7.9273, chromosome, we have the available processing rates as: μ11 1 1 μ21 = 12.5336 and μ22 = 13.0727. So, the payoff of player 1 in the first chromosome of
A combination of game theory and genetic algorithm for load balancing
89
the initial population is F11 = 0.6059. For the second chromosome, we have the available 2 2 2 2 = 9.0226, μ12 = 2.1862, μ21 = 11.9774 and μ22 = 18.8138. So, processing rates as: μ11
the payoff of player 1 in the second chromosome of the initial population is F12 = 6.2777. The genetic algorithm is iterated for each player according to Algorithm 1. For instance, for the first player, the strategies of the second player will be fixed and the operators of the genetic algorithm will be applied on the strategies of the first player in order to generate the second population for this player.
4
Simulation results
The proposed load balancing algorithm is simulated on a distributed computer system with 16 computers and ten users. Simulations are done using MATLAB on a notebook with a dual-core 1.8 GHz processor and 3 GB RAM. Considering the mentioned model of the distributed system, computers are heterogeneous and the processing rates are exponentially distributed. Also, it is assumed that the arrival rate of users’ jobs have a Poisson distribution and the entry jobs are independent. Tables 1 and 2 show the configuration of the distributed system and the arrival rate of users’ jobs in a system with 16 computers and ten users. Table 1
Configuration of the distributed system
Number of computers
6
5
3
2
Processing rate (jobs/sec)
10
20
50
100
Table 2 User(s) Arrival rate
Arrival rate of users’ jobs 1
2
3–6
7
8–10
0.3
0.2
0.1
0.07
0.01
The total job arrival rate of the system (i.e., Φ) is determined based on the system utilisation and the aggregate processing rate of the system. The system utilisation is defined as the ratio of the total arrival rate to the aggregate processing rate of the system (Grosu and Chronopoulos, 2005). In the simulations the system utilisation is supposed as 60%. The proposed algorithm is evaluated based on expected response time and fairness index as vital parameters in evaluating the performance of load balancing algorithms. The fairness index indicates the equality of users’ job allocation in the system (Jain et al., 1998). The range of the fairness index is [0, 1]. The value of crossover probability in the genetic algorithm for solving the load balancing game is considered as 0.9 to facilitate exploration in the search space. To determine the amount of mutation probability, load balancing scheme had been run for different values of mutation probability to estimate the appropriate value. Table 3 shows the mean values of overall expected response time and fairness index for 20 different runs of the proposed scheme and different values of mutation probability.
90
H. Siar et al.
Table 3
Mean values of overall expected response time and fairness index in proportion to the mutation probability
Mutation probability
0.05
0.1
0.2
0.4
0.5
Overall expected response time
0.0639
0.0626
0.0523
0.0545
0.0611
Fairness index
0.9838
0.9958
0.9960
0.9800
0.9819
As shown in Table 3, increasing the value of mutation probability to the range of 0.2 will cause genetic algorithm estimate a closer to optimal strategy for load balancing game and so, the value of expected response time is decreases and the value of fairness index is increases. Increasing the mutation probability more than 0.2 prevents the convergence of genetic algorithm and so, the expected response time increases and fairness index decreases, gradually. Hence, the mutation probability is considered as 0.2 in simulations. Figure 2 shows the convergence diagram of the genetic algorithm in the load balancing game for ε = 10–2. According to this figure, the genetic algorithm converges in 25 iterations. This shows the convergence speed of the genetic algorithm in estimating the near-optimal strategy of the load balancing game. Figure 2
Convergence diagram of the genetic algorithm (see online version for colours) 0.9 0.8 0.7
Epsilon
0.6 0.5 0.4 0.3 0.2 0.1 0
0
5
10 15 Number of Iterations
20
25
The values of expected response time of the users are represented in Figure 3. These values are less than 0.06 and almost the same, which is indicates that in the estimated near-optimal strategy of the load balancing game all of the users can process their tasks equally.
A combination of game theory and genetic algorithm for load balancing Figure 3
91
Expected response time of users (see online version for colours) 0.1 0.09
Expected Response Time
0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0
1
2
3
4
5 6 Users
7
8
9
10
The genetic algorithm is implemented for solving the load balancing problem according to the introduced parameter without using game theory. The performance of this algorithm is compared with the proposed non-cooperative load balancing scheme. Also, the proposed load balancing scheme is compared with the game-theoretic load balancing scheme (Grosu and Chronopoulos, 2005) which is named Non-Coop. Figure 4
Overall expected response time and fairness index of the algorithms in proportion to the system utilisation (see online version for colours)
In Figure 4, the measures of overall expected response time and fairness index have been evaluated in proportion to the different values of system utilisation. It is concluded that for different values of system utilisation, the proposed game-theoretic load balancing scheme has a significant performance in proportion to the GA load balancing algorithm. The overall expected response time and fairness index of the proposed load balancing game are close to the Non-Coop scheme. The slope of diagram of the overall expected
92
H. Siar et al.
response time for the proposed scheme and the Non-Coop scheme are less than the GA scheme. These results are maintained for different values of system utilisation. In the proposed scheme and the Non-Coop scheme, the fairness index is close to 1 which shows the fair distribution of users’ jobs over computers in these schemes, while the fairness index of GA scheme decreases when the entry load of the system increases. The proposed load balancing scheme has been evaluated for different number of computers in the distributed system (i.e., different system size). In this evaluation, the relative processing rate of the computers are as follows. Table 4
Relative processing rate of the computers
Computer
1–3
4–7
8–10
11–15
16–18
19–20
Processing rate (jobs/second)
10
20
33
10
125
200
Figure 5 is shown the overall expected response time and fairness index of the load balancing algorithms for different sizes of the distributed system. By increasing the size of the distributed system the proposed load balancing scheme shows a better performance in comparison to the GA load balancing scheme. The performance of the proposed scheme is close to that of the Non-Coop load balancing scheme. Also, the fairness index of the proposed scheme is close to 1 which is indicates the equitable distribution of jobs in this scheme. Figure 5
Overall expected response time and fairness index of the algorithms in proportion to the system size (see online version for colours)
Figure 6 shows the number of required iterations of the genetic algorithm for the convergence of the introduced load balancing game to the near-optimal solution as a function of the system utilisation and system size. Since, by increasing the load of the system and system size, the problem space of the load balancing problem also increases, the required number of iterations for the convergence of the genetic algorithm increases, accordingly. For different system loads, in most cases increasing the system utilisation will lead to increasing the number of iterations, however this situation does not arise for all values of system loads. So, the number of iterations of the genetic algorithm is not predictable for certain values of system utilisation.
A combination of game theory and genetic algorithm for load balancing Figure 6
93
Number of iterations of the genetic algorithm in proportion to the system utilisation and system size (see online version for colours)
According to the obtained results, the proposed load balancing scheme, which models the load balancing problem based on game theory and solves this game using the heuristic method of genetic algorithm, has approximately similar performance in comparison to the Non-Coop scheme, which introduced a deterministic method to estimate the Nash equilibrium of the load balancing game (Grosu and Chronopoulos, 2005). Thus, it can be concluded that the genetic algorithm has an appropriate performance in estimating the near-optimal strategy of the load balancing game.
5
Conclusions
In this paper, a method was proposed for solving the load balancing problem in a distributed computer system which utilised game theory for modelling the problem. In this load balancing algorithm, a non-cooperative game model has been proposed that users of the distributed computer system act as players of the game. The strategy of each player is a fraction of his/her job sent to the computers of the system. The load balancing game has been modelled in a way that would result in processing the maximum amount of users’ jobs and hence minimising the expected response time of the users’ jobs. For achieving this goal the payoff of each player is estimated using an introduced parameter. Also, the near-optimal strategy of the game is estimated using a genetic algorithm and the concept of Nash equilibrium. The simulation results of the proposed load balancing scheme and the outcome of the expected response time and fairness index show this algorithm has outperformed appropriately in a distributed computer system. According to the simulations and comparisons accomplished in this paper, the result of the proposed non-cooperative scheme using the genetic algorithm is stable in different states of the system and maintains its optimal (or near-optimal) output.
References Chana, I. (2013) ‘Bacterial foraging based hyper-heuristic for resource scheduling in grid computing’, Future Generation Computer Systems, Vol. 29, No. 3, pp.751–762.
94
H. Siar et al.
Feldman, M. and Tamir, T. (2008) ‘Approximate strong equilibrium in job scheduling games’, in Monien, B. and Schroeder, U-P. (Eds.): Algorithmic Game Theory, SAGT, LNCS, Vol. 4997, pp.58-69, Springer, Heidelberg. Foster, I. and Kesselman, C. (2003) The Grid 2: Blueprint for a New Computing Infrastructure, Elsevier, ISBN-978-1-55860-933-4. Grosu, D. and Chronopoulos, A.T. (2005) ‘Noncooperative load balancing in distributed systems’, Journal of Parallel and Distributed Computing, Vol. 65, No. 9, pp.1022–1034. Holland, J.H. (1992) ‘Genetic algorithms’, Scientific American, Vol. 267, No. 1, pp.66–72. Jain, R., Chiu, D-M. and Hawe, W. (1998) ‘A quantitative measure of fairness and discrimination for resource allocation in shared computer systems’, Computing Research Repository, Vol. cs.NI/9809. Kołodziej, J. and Xhafa, F. (2011) ‘Meeting security and user behavior requirements in grid scheduling’, Simulation Modelling Practice and Theory, Vol. 19, No. 1, pp.213–226. Mani, V., Suresh, S. and Kim, H. (2005) ‘Real-coded genetic algorithms for optimal static load balancing in distributed computing system with communication delays’, Computational Science and Its Applications – ICCSA 2005, Springer, pp.269–279. Osborne, M.J. and Rubinstein, A. (1994) A Course in Game Theory, MIT Press, ISBN-0-262-65040-1. Pendharkar, P.C. (2012) ‘Game theoretical applications for multi-agent systems’, Expert Systems with Applications, Vol. 39, No. 1, pp.273–279. Penmatsa, S. and Chronopoulos, A.T. (2006) ‘Cooperative load balancing for a network of heterogeneous computers’, Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International, IEEE. Penmatsa, S. and Chronopoulos, A.T. (2011) ‘Game-theoretic static load balancing for distributed systems’, Journal of Parallel and Distributed Computing, Vol. 71, No. 4, pp.537–555. Rahmani Hosseinabadi, A.A., Siar, H., Shamshirband, S., Shojafar, M. and Nizam, M.N.M.H. (2014) ‘Using the gravitational emulation local search algorithm to solve the multi-objective flexible dynamic job shop scheduling problem in small and medium enterprises’, Annals of Operations Research, Vol. 229, No. 1, pp.451–474. Song, S., Lv, T. and Chen, X. (2014) ‘Load balancing for future internet: an approach based on game theory’, Journal of Applied Mathematics, Vol. 2014, 11 pp., Article ID 959782, doi: 10.1155/2014/959782.959782. Subrata, R., Zomaya, A.Y. and Landfeldt, B. (2008) ‘Game-theoretic approach for load balancing in computational grids’, IEEE Transactions on Parallel and Distributed Systems, Vol. 19, No. 2, pp.1–11. Tanenbaum, A. and Van Steen, M. (2007) Distributed Systems, Pearson Prentice Hall, ISBN-0132392275. Xu, H., Zhou, X. and Chen, Y. (2013) ‘A differential game model of automatic load balancing in LTE networks’, Wireless Personal Communications, Vol. 71, No. 1, pp.165–180.
Appendix In this section, the proof of applicability of the introduced payoff function is presented. We are considered that every random strategy generated in genetic algorithm for solving the load balancing game follows all the constraints that are mentioned in Section 2. If the available processing rate at computer i as seen by user j is denoted as μij, we can write the expected response time of user j (i.e., Dj) as follows:
A combination of game theory and genetic algorithm for load balancing n
Dj =
∑μ i =1
ij
s ji − s jiφj
95 (8)
For the function of Dj, the first and second derivations are as follows: ∂D j = ∂s ji
n
∑(μ i =1
ij
μij − s jiφj )
(9)
2
And n
∂2 D j
( ∂s ji )
2
=
∑(μ i =1
ij
2 μijφj − s jiφj )
3
(10)
∂D j ∂2 D j ≥ 0 and ≥ 0. This indicates that Dj is an (∂s ji ) 2 ∂s ji increasing and convex function. Since the first derivative reflects the slope of the tangent line to a point on the graph, decrease in the first derivative leads to decrease in Dj. Thus, can consider the payoff function as the first derivative of Dj, so that the players will seek sji that minimise the Dj at the strategy profiles.
According to the constraints,