Abstract
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.
Similar content being viewed by others
References
Adam, T.L., Chandy, K.M., Dickson, J., 1974. A comparison of list scheduling for parallel processing systems. Commun. ACM, 17(12): 685–700. http://dx.doi.org/10.1145/361604.361619
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.
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. http://dx.doi.org/10.1109/32.62447
Baxter, J., Patel, J.H., 1989. The LAST algorithm: a heuristicbased static task allocation algorithm. Proc. Int. Conf. on Parallel Processing, p.217–222.
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. http://dx.doi.org/10.1109/ICIAS.2010.5716203
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).
Boveiri, H.R., 2015. Multiprocessor task graph scheduling using a novel graph-like learning automata. Int. J. Grid Distr. Comput., 8(1): 41–54. http://dx.doi.org/10.14257/ijgdc.2015.8.1.05
Chrétienne, P., Coffman, E.G., Lenstra, J.K., et al., 1995. Scheduling Theory and Its Application. John Wiley & Sons, New York.
Dorigo, M., Maniezzo, V., Colorni, A., 1991. Positive Feedback as a Search Strategy. Technical Report No. 91-016, Politecnico di Milano, Milan, Italy.
Dorigo, M., di Caro, G., Gambardella, L., 1999. Ant algorithm for discrete optimization. Artif. Life, 5(2): 137–172. http://dx.doi.org/10.1162/106454699568728
Hwang, J.J., Chow, Y.C., Anger, F.D., et al., 1989. Scheduling precedence graphs in systems with interprocessor communication times.
SIAM J. Comput., 18(2): 244–257. http://dx.doi.org/10.1137/0218016
Hwang, R., Gen, M., Katayama, H., 2008. A comparison of multiprocessor task scheduling algorithms with communication costs. Comput. Oper. Res., 35(3): 976–993. http://dx.doi.org/10.1016/j.cor.2006.05.013
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.
Kwok, Y., Ahmad, I., 1998. Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv., 31(4): 406–471. http://dx.doi.org/10.1145/344588.344618
McCreary, C., Gill, H., 1989. Automatic determination of grain size for efficient parallel processing. Commun. ACM, 32(9): 1073–1078. http://dx.doi.org/10.1145/66451.66454
Meybodi, M.R., Beigy, H., Taherkhani, M., 2004. Cellular learning automata and its applications. J. Sci. Technol. Sharif Univ., 25: 54–77 (in Farsi).
Narendra, K.S., Thathachar, M.A.L., 1974. Learning automata: a survey. IEEE Trans. Syst. Man Cybern., SMC-4 (4): 323–334. http://dx.doi.org/10.1109/TSMC.1974.5408453
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. http://dx.doi.org/10.1109/71.207593
Wolfram, S., 1983. Cellular automata. Los Alamos Sci., 9: 2–27.
Wu, M.Y., Gajski, D.D., 1990. Hypertool: a programming aid for message-passing systems. IEEE Trans. Parall. Distr. Syst., 1(3): 330–343. http://dx.doi.org/10.1109/71.80160
Author information
Authors and Affiliations
Corresponding author
Additional information
Project supported by Sama Technical and Vocational Training College, Islamic Azad University, Shoushtar Branch, Shoushtar, Iran
ORCID: Hamid Reza BOVEIRI, http://www.orcid.org/0000-0002-0278-3649
Rights and permissions
About this article
Cite this article
Boveiri, H.R. An incremental ant colony optimization based approach to task assignment to processors for multiprocessor scheduling. Frontiers Inf Technol Electronic Eng 18, 498–510 (2017). https://doi.org/10.1631/FITEE.1500394
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1631/FITEE.1500394
Key words
- Ant colony optimization
- List scheduling
- Multiprocessor task graph scheduling
- Parallel and distributed systems