Abstract
Multiprocessor task scheduling is an important problem in parallel applications and distributed systems. In this way, solving the multiprocessor task scheduling problem (MTSP) by heuristic, meta-heuristic, and hybrid algorithms have been proposed in literature. Although the problem has been addressed by many researchers, challenges to improve the convergence speed and the reliability of methods for solving the problem are still continued especially in the case that the communication cost is added to the problem frame work. In this paper, an Immune-based Genetic algorithm (IGA), a meta-heuristic approach, with a new coding scheme is proposed to solve MTSP. It is shown that the proposed coding reduces the search space of MTSP in many practical problems, which effectively influences the convergence speed of the optimization process. In addition to the reduced search space offered by the proposed coding that eventuate in exploring better solutions at a shorter time frame, it guarantees the validity of solutions by using any crossover and mutation operators. Furthermore, to overcome the regeneration phenomena in the proposed GA (generating similar chromosomes) which leads to premature convergence, an affinity based approach inspired from Artificial Immune system is employed which results in better exploration in the searching process. Experimental results showed that the proposed IGA surpasses related works in terms of found makespan (20% improvement in average) while it needs less iterations to find the solutions (90% improvement in average) when it is applied to standard test benches.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Abbreviations
- AT (Affinity threshold):
-
When the SR for two chromosomes is smaller than this threshold, the worst one is re-initialized
- CAPET (Coding based on addressing Potentially executable tasks):
-
The proposed coding
- Clr (Closeness ratio):
-
It shows that the fitness for chromosomes is becoming close to each other
- DAG (Directed acyclic graph):
-
is a directed graph to present a MTSP
- GA (Genetic algorithm):
-
A population-base optimization method
- IGA (Immune-based genetic algorithm):
-
is the proposed GA enhanced by an affinity mechanism
- MTSP (Multiprocessor task scheduling problem):
-
A famous and classical scheduling problem
- nt:
-
Number of tasks
- np:
-
Number of processors
- PET (Potentially executable Tasks):
-
A queue that contains all tasks which can be executed now that are the tasks which all of their predecessors have been executed
- Petc:
-
The length of PET
- PSc (Processors sequence):
-
is an array of processors which its elements are prepared by decoding the genes in a chromosome genes in a chromosome
- SR (Similarity ratio):
-
Shows the similarity for two chromosomes
- SSR (Search space ratio):
-
is a ratio which compares the search space between two coding
- TS (Task sequence):
-
is an array of tasks which its elements are prepared by decoding the genes in a chromosome
References
Bonyadi M.R., Moghaddam M.E.: A bipartite genetic algorithm for multi-processor task scheduling. IJPP, Springer 37(5), 462–487 (2009) doi:10.1007/s10766-009-0107-8
Kafil M., Ahmad I.: Optimal task assignment in heterogeneous distributed computing systems. IEEE Concurr. 6, 42–51 (1998)
Thanalapati T., Dandamudi S.: An efficient adaptive scheduling scheme for distributed memory multicomputer. IEEE Trans. Parallel Distrib. Syst. 12(7), 758–768 (2001)
Nissanke N., Leulseged A., Chillara S.: Probabilistic performance analysis in multiprocessor scheduling. J. Comput. Control Eng. 13(4), 171–179 (2002)
Corbalan J., Martorell X., Labarta J.: Performance-driven processor allocation. IEEE Trans. Parallel Distrib. Syst. 16(7), 599–611 (2005)
Montazeri, F., Salmani-Jelodar, M., Fakhraie S.N., Fakhraie S.M.: Evolutionary multiprocessor task scheduling. In: Proceedings of the International Symposium on Parallel Computing in Electrical Engineering (PARELEC’06), 2006
Hwang R.K., Gen M.: Multiprocessor scheduling using genetic algorithm with priority-based coding. In: Proceedings of IEEJ Conference on Electronics, Information and Systems, 2004
Wu A.S., Yu H., Jin S., Lin K.-C., Schiavone G.: An incremental genetic algorithm approach to multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 15(9), 824–834 (2004)
Azghadi, M.R., Bonyadi, M.R., Hashemi, S., Moghadam, M.E.: A hybrid multiprocessor task scheduling method based on immune genetic algorithm, ICST 5th, pp. 1–4. ACM, NY (2008). doi:10.4108/ICST.QSHINE2008.4263
Azimipour, M., Bonyadi, M.R., Eshghi, M.: Using Immune Genetic Algorithm in ATPG, AJBAS. ISSN: 1991-8178, pp. 920–928 (2008)
Hou E.S.H., Ansari N., Hong R.: A genetic algorithm for multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 5(2), 113–120 (1994)
Garey M., Johanson D.: Computers and Intractability: a Guide to the Theory of NP-Completeness. W. H. Freeman and Co., New York (1979)
Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing, pp. 43–44. Springer (2003)
Hwang J., Chow Y., Anger A., Lee C.: Scheduling precedence graphs in systems with inter-processor communication times. SIAM J. Comput. 8(2), 244–257 (1989)
Kasahara H., Narita S.: Practical multiprocessing scheduling algorithms for efficient parallel processing. IEEE Trans. Comput. 33, 1023–1029 (1984)
Kwok Y.-K., Ahmad I.: Dynamic critical path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans. Parallel Distrib. Syst. 7(5), 506–521 (1996)
Lee, Y.H., Chen, C.: A modified genetic algorithm for task scheduling in multi Processor systems. In: Proceedings of the Nineth Workshop on Compiler Techniques for High Performance Computing, 2003
Hwang R., Gen M., Katayama H.: A comparison of multiprocessor task scheduling algorithms with communication costs. Comput. Oper. Res. 35, 976–993 (2008)
Corrga R.C., Ferreira A., Rebreyend P.: Scheduling multiprocessor tasks with genetic algorithm. IEEE Trans. Parallel Distrib. Syst. 10(8), 825–837 (1999)
Tsuchiya T., Osada T., Kikuno T.: Genetics-based multiprocessor scheduling using task duplication. J. Microprocess. Microsyst. 22(3-4), 197–207 (1998)
Sivanandam S.N., Visalakshi P., Bhuvaneswari A.: Multiprocessor scheduling using hybrid particle swarm optimization with dynamically varying inertia. Int. J. Comput. Sci. Appl. 4(3), 95–106 (2007)
Chen H., Cheng A.K.: Applying ant colony optimization to the partitioned scheduling problem for heterogeneous multiprocessors. Special Issue IEEE RTAS 2005 Work-in-progress 2(2), 11–14 (2005)
Ercan, M.F.: A hybrid particle swarm optimization approach for scheduling flow-shops with multiprocessor tasks. In: Proceedings of the International Conference on Information Science and Security, pp. 13–16 (2008)
Sutar, S., Sawant, J., Jadhav, J.: Task scheduling for multiprocessor systems using memetic algorithms. In: Proceedings of the Fourth International Working Conference Performance Modeling and Evaluation of Heterogeneous Networks (HET-NETs ’06) (2006)
Salleh S., Zomaya A.Y.: Multiprocessor scheduling using mean-field annealing. Special Issue: Bio-inspired Solutions to Parallel Processing Problems 14(5-6), 393–408 (1998)
Man, L., Yang, L.T.: Hybrid genetic algorithms for scheduling partially ordered tasks ina multi-processor environment. In: Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications, (RTCSA ’99), pp. 382–387 (1999)
Dhodhi, M.K., Ahmad, I.: A multiprocessor scheduling scheme using problem-space genetic algorithms. In: Proceedings of the IEEE International Conference on Evolutionary Computation, pp. 214–219 (1995)
Shirazi B., Wang M., Pathak G.: Analysis and evaluation of heuristic methods for static task scheduling. J. Parallel Distrib. Comput. 10(3), 222–232 (1990)
Gerasoulis A., Yang T.: A comparison of clustering heuristics for scheduling DAG’s on multiprocessors. J. Parallel Distrib. Comput. 16(4), 276–291 (1992)
El-Rewini H., Ali H.H., Lewis T.G.: Task scheduling in multiprocessor systems. IEEE Computer 28(12), 27–37 (1995)
Ahmad, I., Kwok, Y.-K., Wu, M.-Y.: Analysis, evaluation, and comparison of algorithms for scheduling task graphs on parallel processors. In: Proceedings of the International Symposium on Parallel Architectures, Algorithms, and Networks, pp. 207–213 (1996)
Kwok Y., Ahmad I.: Static Scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv. 31(4), 406–471 (1999)
Zhongiz, Y.W., Yang, J.G.: A genetic algorithm for tasks scheduling in parallel multiprocessor systems. In: Proceedings of the Second International Conference on Machine Learning and Cybernetics, pp. 1785–1790 (2003)
Adam T.L., Chandy K.M., Dickson J.R.: A comparison of list scheduling for parallel processing systems. Commun. ACM 17(12), 685–690 (1974)
Coffman E.G.: Computer and Job-Shop Scheduling Theory. Wiley, NY (1976)
Gonzalez M.J. Jr: Deterministic processor scheduling. ACM Comput. Surv. 9(3), 173–204 (1977)
Frinsen D.K.: Tighter bounds for LPT scheduling on uniform processors. SIAM J. Comput. 16(3), 554–560 (1987)
Graham R.L., Lawler E.L., Lenstra J.K., kan A.H.G.R.: Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann. Discret. Math. 5, 287–326 (1979)
Sih G.C., Lee E.A.: A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans. Parallel Distrib. Syst. 4(2), 75–87 (1993)
Kruatrachue B., Lewis T.G.: Duplication Scheduling Heuristic, a New Precedence Task Scheduler for Parallel Systems. Oregon State University, Technical Report (1987)
Ahmad I., Kwok Y.: On exploiting task duplication in parallel program scheduling. IEEE Trans. Parallel Distrib. Syst. 9(9), 872–892 (1998)
Wu M.Y., Gajski D.D.: Hypertool: a programming aid for message-passing systems. IEEE Trans. Parallel Distribut. Syst. 1(3), 330–343 (1990)
Sarkar V.: Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge (1989)
Kim, S.J., Browne, J.C.: A general approach to mapping of parallel computation upon multiprocessor architectures. In: Proceedings of International Conference on Parallel Processing, pp. 1–8 (1988)
Yang T., Gerasoulis A.: List scheduling with and without communication delays. Parallel Comput. 19(12), 1321–1344 (1993)
Kermia, O., Sorel, Y.: A Rapid Heuristic for Scheduling Non-Preemptive Dependent Periodic Tasks onto Multiprocessor. ISCA PDCS, pp.1–6 (2007)
Gen M., Cheng R.: Genetic Algorithm and Engineering Optimization. Wiley, New York (2000)
Wang, P.C., Korfhage, W.: Process scheduling using genetic algorithms. In: Proceedings of the 7th IEEE Symposium on Parallel and Distributed Processing, pp. 638–641. San Antonio, Texas, October 1995
Zomaya A.Y., Teh Y.H.: Observations on using genetic algorithms for dynamic load-balancing. IEEE Trans. Parallel Distrib. Syst. 12(9), 899–911 (2001)
Hamidzadeh B., Kit L.Y., Lilja D.J.: Dynamic task scheduling using online optimization. IEEE Trans. Parallel Distrib. Syst. 11(11), 1151–1162 (2000)
Rinehart, M., Kianzad, V., Bhattacharyya, S.S.: A modular genetic algorithm for scheduling task graphs, Technical report UMIACS-TR-2003-66. Institute for Advanced Computer Studies, University of Maryland at College Park, June 2003
Musnjak, M., Golub, M.: Using a set of elite individuals in a genetic algorithm. In: Proceedings of the 26th International Conference on Informafion Technology Interfaces, pp. 531–536 (2004)
Nedunchelian, R., Koushik, K., Meiyappan, N., Raghu, V.: Dynamic task scheduling using parallel genetic algorithms for heterogeneous distributed computing. In: The 2006 World Congress in Computer Science Computer Engineering, and Applied Computing (GCA’06) (2006)
Page, A.J., Naughton, T.J.: Dynamic task scheduling using genetic algorithms for heterogeneous distributed Computing. In: Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS’05) (2005)
Holland J.H.: Adaption in Natural and Artificial Systems. University of Michigan Press, Ann Arbor (1975)
Li, Y., Dai, Y., Mam X.: A heuristic immune-genetic algorithm for multimodal function optimization. In: Proceeding of CIMCA/IAWTIC Conference, pp. 36–40 (2005)
Al-Mouhamed M.A.: Lower bound on the number of processors and time for scheduling precedence graphs with communication costs. IEEE Trans. Softw. Eng. 16(12), 1390–1401 (1990)
Kruatrachue B., Lewis T.: Grain size determination for parallel processing. Software IEEE 5(1), 23–32 (1988)
Standard task graph set is available online at: http://www.kasahara.elec.waseda.ac.jp/schedule
Jin S., Schiavone G., Turgut D.: A performance study of multiprocessor task scheduling algorithms. J. Supercomput. 43, 77–97 (2008). doi:10.1007/s11227-007-0139-z
http://faculties.sbu.ac.ir/~moghaddam/index.php/main/page/9#tsk_skd
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ebrahimi Moghaddam, M., Bonyadi, M.R. An Immune-based Genetic Algorithm with Reduced Search Space Coding for Multiprocessor Task Scheduling Problem. Int J Parallel Prog 40, 225–257 (2012). https://doi.org/10.1007/s10766-011-0179-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-011-0179-0