An incremental ant colony optimization based approach to task assignment to processors for multiprocessor scheduling

  • Hamid Reza Boveiri


Optimized task scheduling is one of the most important challenges to achieve high performance in multiprocessor environments such as parallel and distributed systems. Most introduced task-scheduling algorithms are based on the so-called list scheduling technique. The basic idea behind list scheduling is to prepare a sequence of nodes in the form of a list for scheduling by assigning them some priority measurements, and then repeatedly removing the node with the highest priority from the list and allocating it to the processor providing the earliest start time (EST). Therefore, it can be inferred that the makespans obtained are dominated by two major factors: (1) which order of tasks should be selected (sequence subproblem); (2) how the selected order should be assigned to the processors (assignment subproblem). A number of good approaches for overcoming the task sequence dilemma have been proposed in the literature, while the task assignment problem has not been studied much. The results of this study prove that assigning tasks to the processors using the traditional EST method is not optimum; in addition, a novel approach based on the ant colony optimization algorithm is introduced, which can find far better solutions.

Key words

Ant colony optimization List scheduling Multiprocessor task graph scheduling Parallel and distributed systems 

CLC number



Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Adam, T.L., Chandy, K.M., Dickson, J., 1974. A comparison of list scheduling for parallel processing systems. Commun. ACM, 17(12): 685–700. Scholar
  2. Al-Maasarani, A., 1993. Priority-Based Scheduling and Evaluation of Precedence Graphs with Communication Times. MS Thesis, King Fahd University of Petroleum and Minerals, Saudi Arabia.Google Scholar
  3. Al-Mouhamed, M.A., 1990. Lower bound on the number of processors and time for scheduling precedence graphs with communication costs. IEEE Trans. Softw. Eng., 16(12): 1390–1401. Scholar
  4. Baxter, J., Patel, J.H., 1989. The LAST algorithm: a heuristicbased static task allocation algorithm. Proc. Int. Conf. on Parallel Processing, p.217–222.Google Scholar
  5. Boveiri, H.R., 2010. ACO-MTS: a new approach for multiprocessor task scheduling based on ant colony optimization. Proc. IEEE Int. Conf. on Intelligent and Advanced Systems, p.1–5. Scholar
  6. Boveiri, H.R., 2014. Assigning tasks to the processors for task-graph scheduling in parallel systems using learning and cellular learning automata. Proc. 1st National Conf. on Computer Engineering and Information Technology, p.1–8 (in Farsi).Google Scholar
  7. Boveiri, H.R., 2015. Multiprocessor task graph scheduling using a novel graph-like learning automata. Int. J. Grid Distr. Comput., 8(1): 41–54. Scholar
  8. Chrétienne, P., Coffman, E.G., Lenstra, J.K., et al., 1995. Scheduling Theory and Its Application. John Wiley & Sons, New York.zbMATHGoogle Scholar
  9. Dorigo, M., Maniezzo, V., Colorni, A., 1991. Positive Feedback as a Search Strategy. Technical Report No. 91-016, Politecnico di Milano, Milan, Italy.zbMATHGoogle Scholar
  10. Dorigo, M., di Caro, G., Gambardella, L., 1999. Ant algorithm for discrete optimization. Artif. Life, 5(2): 137–172. Scholar
  11. Hwang, J.J., Chow, Y.C., Anger, F.D., et al., 1989. Scheduling precedence graphs in systems with interprocessor communication times.Google Scholar
  12. SIAM J. Comput., 18(2): 244–257. Scholar
  13. Hwang, R., Gen, M., Katayama, H., 2008. A comparison of multiprocessor task scheduling algorithms with communication costs. Comput. Oper. Res., 35(3): 976–993. Scholar
  14. Kruatrachue, B., Lewis, T.G., 1987. Duplication Scheduling Heuristics (DSH): a New Precedence Task Scheduler for Parallel Processor Systems. Technical Report No. OR 97331, Oregon State University, Corvallis.Google Scholar
  15. Kwok, Y., Ahmad, I., 1998. Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv., 31(4): 406–471. Scholar
  16. McCreary, C., Gill, H., 1989. Automatic determination of grain size for efficient parallel processing. Commun. ACM, 32(9): 1073–1078. Scholar
  17. Meybodi, M.R., Beigy, H., Taherkhani, M., 2004. Cellular learning automata and its applications. J. Sci. Technol. Sharif Univ., 25: 54–77 (in Farsi).Google Scholar
  18. Narendra, K.S., Thathachar, M.A.L., 1974. Learning automata: a survey. IEEE Trans. Syst. Man Cybern., SMC-4 (4): 323–334. Scholar
  19. Sih, G.C., Lee, E.A., 1993. A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans. Parall. Distr. Syst., 4(2): 175–187. Scholar
  20. Wolfram, S., 1983. Cellular automata. Los Alamos Sci., 9: 2–27.MathSciNetGoogle Scholar
  21. Wu, M.Y., Gajski, D.D., 1990. Hypertool: a programming aid for message-passing systems. IEEE Trans. Parall. Distr. Syst., 1(3): 330–343. Scholar

Copyright information

© Zhejiang University and Springer-Verlag GmbH Germany, part of Springer Nature 2017

Authors and Affiliations

  1. 1.Sama Technical and Vocational Training CollegeIslamic Azad University, Shoushtar BranchShoushtarIran

Personalised recommendations