This Article 
 Bibliographic References 
 Add to: 
Effective Reformulations for Task Allocation in Distributed Systems with a Large Number of Communicating Tasks
December 2004 (vol. 16 no. 12)
pp. 1497-1508
Syam Menon, IEEE
In any distributed processing environment, decisions need to be made concerning the assignment of computational task modules to various processors. Many versions of the task allocation problem have appeared in the literature. Intertask communication makes the assignment decision difficult; capacity limitations at the processors increase the difficulty. This problem is naturally formulated as a nonlinear integer program, but can be linearized to take advantage of commercial integer programming solvers. While traditional approaches to linearizing the problem perform well when only a few tasks communicate, they have considerable difficulty solving problems involving a large number of intercommunicating tasks. This paper introduces new mixed integer formulations for three variations of the task allocation problem. Results from extensive computational tests conducted over real and generated data indicate that the reformulations are particularly efficient when a large number of tasks communicate, solving reasonably large problems faster than other exact approaches available.

[1] A. Auyeung, I. Gondra, and H. Dai, “Multi-Heuristic List Scheduling Genetic Algorithm for Task Scheduling,” Proc. 2003 ACM Symp. Applied Computing, pp. 721-724, 2003.
[2] A. Billionnet, M. Costa, and A. Sutter, “An Efficient Algorithm for a Task Allocation Problem,” J. ACM, vol. 39, no. 3, pp. 502-518, 1992.
[3] H. Chen and M. Maheswaran, “Distributed Dynamic Scheduling of Composite Tasks on Grid Computing Systems,” Proc. 11th IEEE Heterogeneous Computing Workshop, pp. 88-97, 2002.
[4] W. Chen and C. Lin, “A Hybrid Heuristic to Solve a Task Allocation Problem,” Computers and Operations Research, vol. 27, pp. 287-303, 2000.
[5] F. de la Vega and M. Lamari, “The Task Allocation Problem with Constant Communication,” Discrete Applied Math., vol. 131, pp. 169-177, 2003.
[6] A. Dutta, G. Koehler, and A. Whinston, “On Optimal Allocation in a Distributed Processing Environment,” Management Science, vol. 28, no. 8, pp. 839-853, 1982.
[7] A. Ernst, H. Jiang, and M. Krishnamoorthy, “Mathematical Programming Approaches for Solving Task Allocation Problems,” Proc. 16th Nat'l Conf. Australian Soc. of Operations Research, 2001.
[8] A. Gabrielian and D. Tyler, “Optimal Object Allocation in Distributed Systems,” Proc. Int'l Conf. Distributed Computing Systems, 1984.
[9] F. Glover, “Improved Linear Integer Programming Formulations of Nonlinear Integer Programs,” Management Science, vol. 22, no. 4, pp. 455-460, Dec. 1975.
[10] A. Hadj-Alouane, J. Bean, and K. Murty, “A Hybrid Genetic/Optimization Algorithm for a Task Allocation Problem,” J. Scheduling, vol. 2, pp. 189-201, 1999.
[11] Y. Hamam and K. Hindi, “Assignment of Program Modules to Processors: A Simulated Annealing Approach,” European J. Operations Research, vol. 122, pp. 509-513, 2000.
[12] M. İkinci, “Multilevel Heuristics for Task Assignment in Distributed Systems,” master's thesis, Bilkent Univ., 1998.
[13] ILOG, Inc., Gentilly, France, ILOG CPLEX 7.5 User's Manual, 2001.
[14] Y. Kopidakis, M. Lamari, and V. Zissimopoulos, “On the Task Assignment Problem: Two New Efficient Heuristic Algorithms,” J. Parallel and Distributed Computing, vol. 42, pp. 21-29, 1997.
[15] Y. Kwok and I. Ahmad, “Static Scheduling Algorithms for Allocating Directed Task Graphs to Multiprocessors,” ACM Computer Surveys, vol. 31, no. 4, pp. 406-471, 1999.
[16] V. Lo, “Heuristic Algorithms for Task Assignment in Distributed Systems,” IEEE Trans. Computers, vol. 37, no. 11, pp. 1384-1397, Nov. 1988.
[17] P. Ma, E. Lee, and M. Tsuchiya, “A Task Allocation Model for Distributed Computing Systems,” IEEE Trans. Computers, vol. 31, no. 1, pp. 41-47, Jan. 1982.
[18] M. Maheswaran and H. Siegel, “A Dynamic Matching and Scheduling Algorithm for Heterogeneous Computing Systems,” Proc. Seventh IEEE Heterogeneous Computing Workshop, pp. 57-69, 1998.
[19] I. Page, T. Jacob, and E. Chern, “Fast Algorithms for Distributed Resource Allocation,” IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 2, pp. 188-197, Feb. 1993.
[20] D. Pisinger, “A Minimal Algorithm for the 0-1 Knapsack Problem,” Operations Research, vol. 45, pp. 758-767, 1997.
[21] C. Price and S. Krishnaprasad, “Software Allocation Models for Distributed Computing Systems,” Proc. Fourth Int'l Conf. Distributed Computing Systems, 1984.
[22] C. Shen and W. Tsai, “A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion,” IEEE Trans. Computers, vol. 34, no. 3, pp. 197-203, Mar. 1985.
[23] G. Sih and E. Lee, “Declustering: A New Multiprocessor Scheduling Technique,” IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 6, pp. 625-637, June 1993.
[24] S. Srinivasan and N. Jha, “Safety and Reliability Driven Task Allocation in Distributed Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 3, pp. 238-251, Mar. 1999.
[25] H. Stone, “Multiprocessor Scheduling with the Aid of Network Flow Algorithms,” IEEE Trans. Software Eng., vol. 3, pp. 85-93, 1977.
[26] R. Szymanek and K. Krzysztof, “Partial Task Assignment of Task Graphs under Heterogeneous Resource Constraints,” Proc. 40th Conf. Design Automation, pp. 244-249, 2003.

Index Terms:
Task allocation, nonlinear optimization, integer programming.
Syam Menon, "Effective Reformulations for Task Allocation in Distributed Systems with a Large Number of Communicating Tasks," IEEE Transactions on Knowledge and Data Engineering, vol. 16, no. 12, pp. 1497-1508, Dec. 2004, doi:10.1109/TKDE.2004.91
Usage of this product signifies your acceptance of the Terms of Use.