METHOD FOR TASK ASSIGNMENT
SUMMARY
Performance optimization is needed in the efficient management of many modern information and communication technology based systems such as data communication networks, computing centers or workflow systems. An important part of the optimization is the dynamic assignment of tasks to servers. In this description, we consider the task assignment problem in a cluster of servers having different processing capacities. We propose new dynamic Idle Period Notification policy, in which each server only needs to notify dispatcher of the start of every idle period. We demonstrate by simulation that this policy performs as well as Minimum Response Time policy, which requires immediate knowledge of the state of each server at the time of every arrival. The advantage the dynamic Idle Period Notification policy is that it does not affect the task processing times of the servers.
INDEX TERMS: distributed systems, task assignment
INTRODUCTION
Job routing policy is an important factor affecting the performance of the system because it coordinates the use of processing capacity of servers. High-speed Web clusters [1] and Internet routers [2] implement various job routing policies. Job routing policies are also applied in the optimization of business transactions and workflow management. An important element of a job routing policy is the information it requires to operate. In general, dynamic policies operate under time dependent information, whereas static policies operate under time independent characteristics of the system [3].
We consider the task assignment problem in a cluster of servers where
servers exhibit different task processing times. Tasks arrive to dispatcher, which is responsible for distributing them among FIFO servers according to a task assignment policy taking into account availability of resources at servers. We are interested in policies, which minimize the average response time taken over all processed tasks.
An important element of a task assignment policy is the information it requires to operate. Static policies operate under time independent characteristics of the system such as task arrival rate and probability distribution of task processing times. Typically, Poisson task arrival process is assumed. Buzen and Chen [4] derived equations for optimal arrival rates λj at servers for a cluster of servers with generally distributed task processing times. Ni and Hwang [5] found closed form solution for the case when task processing times are exponentially distributed. Tantawi and Towsley [6] studied an arbitrarily connected distributed system. Tasks may arrive at any server and can be executed either locally or be sent to another server. They derived an iterative algorithm that determined the optimal static task assignment policy, which later was improved by Kim and Kameda [7].
Dynamic task assignment policies use the knowledge of the current global state information to distribute the workload among servers. Typically if a new task arrives at time t , a cost function ct(t) is evaluated for each server /' . The server that yields minimum cost is selected to execute the task. For example, in Minimum Response Time (MRT) policy cost function is the expected response time to complete the new task, which is estimated using the formula c; (t) = (J,- (t) + V)/ μι , where S((t) is the number of tasks at server / including the one in service at time t of arrival, and μ;- is its task processing rate [8]. However, it is unrealistic to assume that in actual systems dispatcher will have access to up to date global state information.
Mitzenmacher considered in [9] several different models of stale state information for a cluster of identical servers assuming exponential distribution of task processing times. In periodic update model, global state
information is updated every T seconds. In this case MRT policy is bad unless T is very small, due to herd behavior: all tasks arriving between two successive updates go to same servers. However, the strategies that use only small amount of state information can perform better. The strategy of going to the shortest of the two randomly chosen servers was found to be extremely effective. In continuous update model, global state information is updated continuously but remains X seconds behind the true state at all arrival times, where X are random variables, which are independent for each task. Behavior of the system with continuous update, when X is a fixed constant T, is similar to periodic-update system. If X is instead an exponentially or uniformly distributed random variable, results are much better.
Still open question is what amount of information and update frequency will be enough for good performance? In this description, we propose new dynamic Idle Period Notification policy, in which each server only needs to notify dispatcher of the start of every idle period (Fig. 1). We demonstrate that this policy performs as well as MRT, which requires immediate knowledge of the state of each server at the time of every arrival.
IDLE PERIOD NOTIFICATION POLICY
In proposed Idle Period Notification (IPN) policy, each server notifies dispatcher of the start of every idle period by sending the server ID. Dispatcher may use these notifications for calculation of the length of busy periods, number of tasks assigned to each server during busy periods, and for evaluation of task processing rates, if they are unknown.
Generally, it is rather difficult to calculate exact value of expected response time using the length of current busy periods and the number of tasks assigned to servers. Let a new task is arriving at time t . Consider current busy period at a server and assume for simplicity that it starts at 0, and the number jV tasks have arrived before t . It is well known, the waiting
time wr of task r in a FIFO server satisfy Lindley's equation wr+\ = (wr + br -arγ , where br is its service time, ar is the time between arrivals of task r and r + 1 , and x+ = x, if χ > 0 , otherwise χ+ = 0 [10]. Since all the tasks arrived in (0,t] have nonzero waiting times, their service times and interarrival times satisfy the following inequalities
i> >2> , for r = l,2...N, z=l i=\ and departure time of the task N + 1 is given by
ΛM-l δN+l = ∑δ/ • z=l
It follows that exact value of the conditional expectation of the departure time of a task arriving at t , given its sequence number N + 1 in corresponding busy period, can be calculated as
N r r N dN+l(t) = j; + E(∑bi \ ∑bi >∑ai,r = l,2...N,∑ai =t) , z=l /=i i=i i=i where μ is the task processing rate. Instead of expected response time, we propose to use much more simple cost function. In proposed IPΝ policy, the dispatcher tries to equalize the amount of work assigned to each server during its current busy period. We define 7/(0 by 7/(0 = sup{r <α | .s/(τ-) = 0} , where Sj(τ) is the number of tasks at a server / at time τ . T1 (t) is the start time of current busy period of the server i , if it is busy at t , otherwise T)(O = t . Let N/(0 be number of tasks assigned to server i in [Tt(t), t). If a new task arrives at time t, then dispatcher assigns it to a server / , for which the cost function
Ci(t) =Mhλ
1 W Mi is minimal.
EXAMPLES WITH SIMULATION
We simulate three different systems with Poisson arrival process, which were used in [11], and compare MRT and IPN. The first system, System 1, has 10 nodes. The task processing rates of the nodes are μγ = 6 ,
Ml ~ M3 = • • • = MlO - * • The second system, System 2, also has 10 nodes. The task processing rates of the nodes form an arithmetic series, that is
Mi = 3 1 - — I / = l,2...10 . Each of these two systems has an aggregate
processing rate of 15. The third system, System 3, has 8 nodes, and the task processing rates of the nodes form the geometric series μ{- = 2 ~l , i = l,2...1O .
Figures 2 - 3 show the average response times taken over all processed tasks under MRT (solid lines) and IPN (dotted lines) versus task arrival rate λ . For systems with exponentially distributed service times we also give the average response times provided by the optimal static policy (dash lines). As expected, both dynamic task assignment policies yield better performance than optimal static one. Surprisingly, proposed IPN policy performs as well as MRT even in high load conditions, when the busy cycles are very long.
CONCLUSION
In this description, we consider dynamic task assignment policy, which seems to be the lowest in overhead. In proposed Idle Period Notification policy only one update of state information is send to dispatcher by each server during its every busy cycle - idle period notification, and the only information sent is the server ID. Nevertheless, IPN policy performs well over large range of system parameters.
Another advantage of this policy is that the notifications by the servers are sent at the beginning of the idle periods. Hence, the IPN policy does not affect the task processing at the servers.
REFERENCES
[1] V. Cardellini and E. Casalicchio. The State of the Art in Locally Distributed Web-Server Systems, ACM Computing Surveys, Vol. 34, No. 2, June 2002, pp. 263-311. [2] O. Younis and S. Fahmy. Constraint-Based Routing in the Internet:
Basic Principles and Recent Research, IEEE Communications Surveys, Vol. &, No. 1, 2003, pp. 2-13.
[3] T.L. Casavant and J.G. Kuhl. A Taxonomy of Scheduling in General- Purpose Distributed Computing Systems, IEEE Transactions on Software Engineering, Vol. 14, No. 2, February 1988, pp. 141-154.
[4] J.P. Buzen and P.P. -S, Chen,"Optimal load balancing in memory hierarchies", in Information Processing 74 , J.L. Rosenfeld, Ed., New York: North-Holland, pp. 271-275, 1974. [5] L.M. Ni and K. Hwang, "Optimal load balancing in a multiple processor system with many job classes", IEEE Transactions on Software
Engineering, vol. 11, no. 5, 1985, pp. 491-496. [6] A.N. Tantawi and D. Towsley, "Optimal static load balancing in distributed computer systems", Journal of the ACM, vol. 32, no. 2, pp. 445- 465, Apr. 1985. [7] C. Kim and H. Kameda, "An algorithm for optimal static load balancing in distributed computer systems", IEEE Transactions on Computers, vol. 41, no. 3, pp. 381-384, March 1992.
[8] Y.C. Chow and W. H. Kohler, "Models of dynamic load balancing in a heterogeneous multiple processor system". IEEE Transactions on Computers, vol. C-28, no. 5, pp. 354-361, May 1979.
[9] M. Mitzenmacher, "How useful is old information?". IEEE
Transactions on Parallel and Distributed Systems, vol. 11, no. 1, pp. 6-20,
Jan. 2000.
[10] D. V. Lindley, "On the theory of queues with a single server", Proc. of the Cambridge Philosophical Society, vol. 48, pp. 277-289, 1952.
[11] S.A. Banawan and N.M. Zeidat, "Comparative study of load sharing in heterogeneous multicomputer systems", Proc. 25th Annual Simulation
Symposium, Orlando, Florida, USA, pp. 22-31, Apr. 6-9, 1992.