EP1836570A1 - Method for task assignment - Google Patents

Method for task assignment

Info

Publication number
EP1836570A1
EP1836570A1 EP05799073A EP05799073A EP1836570A1 EP 1836570 A1 EP1836570 A1 EP 1836570A1 EP 05799073 A EP05799073 A EP 05799073A EP 05799073 A EP05799073 A EP 05799073A EP 1836570 A1 EP1836570 A1 EP 1836570A1
Authority
EP
European Patent Office
Prior art keywords
server
dispatcher
servers
task
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP05799073A
Other languages
German (de)
French (fr)
Other versions
EP1836570A4 (en
Inventor
Olli Martikainen
Valeriy A. Naumov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konsultointi Martikainen Oy
Original Assignee
Konsultointi Martikainen Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konsultointi Martikainen Oy filed Critical Konsultointi Martikainen Oy
Publication of EP1836570A1 publication Critical patent/EP1836570A1/en
Publication of EP1836570A4 publication Critical patent/EP1836570A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Definitions

  • 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.
  • 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.
  • 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
  • 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].
  • 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.
  • dispatcher which is responsible for distributing them among FIFO servers according to a task assignment policy taking into account availability of resources at servers.
  • policies which minimize the average response time taken over all processed tasks.
  • 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.
  • a cost function c t (t) is evaluated for each server / ' .
  • the server that yields minimum cost is selected to execute the task.
  • MRT Minimum Response Time
  • MRT Minimum Response Time
  • 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.
  • 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.
  • 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.
  • 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.
  • is the task processing rate.
  • the dispatcher tries to equalize the amount of work assigned to each server during its current busy period.
  • 7 / (0 sup ⁇ r ⁇
  • .s / ( ⁇ -) 0 ⁇ , where Sj( ⁇ ) is the number of tasks at a server / at time ⁇ .
  • N / be number of tasks assigned to server i in [T t (t), t). If a new task arrives at time t, then dispatcher assigns it to a server / , for which the cost function
  • the first system, System 1 has 10 nodes.
  • 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).
  • both dynamic task assignment policies yield better performance than optimal static one.
  • proposed IPN policy performs as well as MRT even in high load conditions, when the busy cycles are very long.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention describes the method of selection of server in a system including at least one dispatcher and several servers, in which system when a new task arrives, then the dispatcher assigns the task to one of these servers, characterized that the selection of the servers by the dispatcher is based on the IPN (Idle Period Notification) information, which is sent by the servers to the dispatcher.

Description

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.

Claims

1. Method of selection of server in a system including at least one dispatcher and several servers, in which system when a new task arrives the dispatcher assigns the task to one of the servers, characterized that the selection of the servers by the dispatcher is based on the IPN (Idle Period Notification) information, which is sent by the servers to the dispatcher.
2. Method according to the claim 1, wherein the IPN information is sent by a server each time it becomes idle, and the IPN information contains at least the identification of that server.
3. Method according to the claims 1 and 2, wherein dispatcher sends a new task to the server with the smallest amount of work assigned to the server during the current busy period of the server.
4. Method according to the claims 1 - 3, wherein the amount of work assigned to a server can be estimated by the dispatcher by multiplying the number of tasks assigned to the server by the mean service time of the server.
5. Method according to the claims 1 - 3, wherein the amount of work assigned to a server during its current busy period is the sum of the amount of work associated with each task assigned to the server during its current busy period.
6. Method according to the claims 1 - 4, wherein the mean service time of the server can be estimated as the average of the ratios which are calculated by dividing the length of each past busy period of the server by the number of tasks assigned to the server during that busy period.
EP05799073A 2004-10-26 2005-10-11 Method for task assignment Withdrawn EP1836570A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20041380A FI118167B (en) 2004-10-26 2004-10-26 Method of assigning tasks
PCT/FI2005/000430 WO2006045881A1 (en) 2004-10-26 2005-10-11 Method for task assignment

Publications (2)

Publication Number Publication Date
EP1836570A1 true EP1836570A1 (en) 2007-09-26
EP1836570A4 EP1836570A4 (en) 2010-01-27

Family

ID=33306068

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05799073A Withdrawn EP1836570A4 (en) 2004-10-26 2005-10-11 Method for task assignment

Country Status (3)

Country Link
EP (1) EP1836570A4 (en)
FI (1) FI118167B (en)
WO (1) WO2006045881A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446495C (en) * 2006-06-28 2008-12-24 华为技术有限公司 Method and system for sharing connection dynamically
US8316372B2 (en) 2009-10-16 2012-11-20 Konsultointi Martikainen Oy Method for multiclass task allocation
EP2564363A4 (en) 2010-04-28 2014-01-22 Pikesta Oy Automatic resource measuring system
CN111813573B (en) * 2020-06-29 2022-09-20 中国平安人寿保险股份有限公司 Communication method of management platform and robot software and related equipment thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0232509A2 (en) * 1986-02-04 1987-08-19 International Business Machines Corporation Method for balancing the workload in a multiprocessing system
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US20030149716A1 (en) * 2002-02-06 2003-08-07 International Business Machines Corporation Thread dispatch mechanism and method for multiprocessor computer systems
US20030212731A1 (en) * 2000-02-17 2003-11-13 Brenner Larry Bert Apparatus and method for periodic load balancing in a multiple run queue system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991808A (en) * 1997-06-02 1999-11-23 Digital Equipment Corporation Task processing optimization in a multiprocessor system
US6292822B1 (en) * 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0232509A2 (en) * 1986-02-04 1987-08-19 International Business Machines Corporation Method for balancing the workload in a multiprocessing system
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US20030212731A1 (en) * 2000-02-17 2003-11-13 Brenner Larry Bert Apparatus and method for periodic load balancing in a multiple run queue system
US20030149716A1 (en) * 2002-02-06 2003-08-07 International Business Machines Corporation Thread dispatch mechanism and method for multiprocessor computer systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2006045881A1 *

Also Published As

Publication number Publication date
WO2006045881A1 (en) 2006-05-04
FI20041380A (en) 2006-04-27
FI118167B (en) 2007-07-31
FI20041380A0 (en) 2004-10-26
EP1836570A4 (en) 2010-01-27

Similar Documents

Publication Publication Date Title
Lin et al. A dynamic load-balancing policy with a central job dispatcher (LBC)
Stankovic Stability and distributed scheduling algorithms
Javadi et al. Cloud resource provisioning to extend the capacity of local resources in the presence of failures
US7003772B2 (en) Policy management for distributed computing and a method for aging statistics
Krueger et al. An adaptive load balancing algorithm for a multicomputer
Ranjan et al. Decentralised resource discovery service for large scale federated grids
WO2006045881A1 (en) Method for task assignment
Zikos et al. The impact of service demand variability on resource allocation strategies in a grid system
Yagoubi et al. Load balancing strategy in grid environment
Huang et al. Performance aware service pool in dependable service oriented architecture
Kokkinos et al. Data consolidation: A task scheduling and data migration technique for grid networks
Lakshmanan et al. Biologically-inspired distributed middleware management for stream processing systems
Lu et al. Towards decentralized load balancing in a computational grid environment
Manvi et al. An agent-based resource allocation model for grid computing
Thakur et al. Load balancing approaches: recent computing trends
Naumov et al. Idle period notification policy for dynamic task assignment
Shah et al. Estimation based load balancing algorithm for data-intensive heterogeneous grid environments
Sinkovic et al. Parallelism in mobile agent network
Goswami et al. Dynamic provisioning and resource management for multi-tier Cloud based applications
Lu et al. Dynamic load distribution using anti‐tasks and load state vectors
Lim et al. A resource management technique for processing deadline-constrained multi-stage workflows
Foley et al. Optimal allocation of buffers and customers in a two-node cyclic network with multiple servers
Tasneem et al. Using residual times to meet deadlines in M/G/C queues
Deye et al. Modeling And Analyzing Cloud Auto-Scaling Mechanism Using Stochastic Well-Formed Coloured Nets.
Hura et al. On load sharing in distributed systems: A novel approach

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070417

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/24 20060101ALI20081218BHEP

Ipc: G06F 9/46 20060101AFI20060918BHEP

Ipc: G06F 9/50 20060101ALI20081218BHEP

17Q First examination report despatched

Effective date: 20090420

A4 Supplementary search report drawn up and despatched

Effective date: 20090119

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20150501