International Journal of Parallel Programming

, Volume 40, Issue 2, pp 225–257 | Cite as

An Immune-based Genetic Algorithm with Reduced Search Space Coding for Multiprocessor Task Scheduling Problem

  • Mohsen Ebrahimi Moghaddam
  • Mohammad Reza Bonyadi


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.


Multiprocessor task scheduling problem (MTSP) Makespan Genetic algorithm (GA) Meta-heuristic 


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


Number of tasks


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


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


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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 MATHGoogle Scholar
  2. 2.
    Kafil M., Ahmad I.: Optimal task assignment in heterogeneous distributed computing systems. IEEE Concurr. 6, 42–51 (1998)CrossRefGoogle Scholar
  3. 3.
    Thanalapati T., Dandamudi S.: An efficient adaptive scheduling scheme for distributed memory multicomputer. IEEE Trans. Parallel Distrib. Syst. 12(7), 758–768 (2001)CrossRefGoogle Scholar
  4. 4.
    Nissanke N., Leulseged A., Chillara S.: Probabilistic performance analysis in multiprocessor scheduling. J. Comput. Control Eng. 13(4), 171–179 (2002)CrossRefGoogle Scholar
  5. 5.
    Corbalan J., Martorell X., Labarta J.: Performance-driven processor allocation. IEEE Trans. Parallel Distrib. Syst. 16(7), 599–611 (2005)CrossRefGoogle Scholar
  6. 6.
    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), 2006Google Scholar
  7. 7.
    Hwang R.K., Gen M.: Multiprocessor scheduling using genetic algorithm with priority-based coding. In: Proceedings of IEEJ Conference on Electronics, Information and Systems, 2004Google Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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
  10. 10.
    Azimipour, M., Bonyadi, M.R., Eshghi, M.: Using Immune Genetic Algorithm in ATPG, AJBAS. ISSN: 1991-8178, pp. 920–928 (2008)Google Scholar
  11. 11.
    Hou E.S.H., Ansari N., Hong R.: A genetic algorithm for multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 5(2), 113–120 (1994)CrossRefGoogle Scholar
  12. 12.
    Garey M., Johanson D.: Computers and Intractability: a Guide to the Theory of NP-Completeness. W. H. Freeman and Co., New York (1979)MATHGoogle Scholar
  13. 13.
    Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing, pp. 43–44. Springer (2003)Google Scholar
  14. 14.
    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)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Kasahara H., Narita S.: Practical multiprocessing scheduling algorithms for efficient parallel processing. IEEE Trans. Comput. 33, 1023–1029 (1984)CrossRefGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    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, 2003Google Scholar
  18. 18.
    Hwang R., Gen M., Katayama H.: A comparison of multiprocessor task scheduling algorithms with communication costs. Comput. Oper. Res. 35, 976–993 (2008)MathSciNetMATHCrossRefGoogle Scholar
  19. 19.
    Corrga R.C., Ferreira A., Rebreyend P.: Scheduling multiprocessor tasks with genetic algorithm. IEEE Trans. Parallel Distrib. Syst. 10(8), 825–837 (1999)CrossRefGoogle Scholar
  20. 20.
    Tsuchiya T., Osada T., Kikuno T.: Genetics-based multiprocessor scheduling using task duplication. J. Microprocess. Microsyst. 22(3-4), 197–207 (1998)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)MATHGoogle Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    Gerasoulis A., Yang T.: A comparison of clustering heuristics for scheduling DAG’s on multiprocessors. J. Parallel Distrib. Comput. 16(4), 276–291 (1992)MathSciNetMATHCrossRefGoogle Scholar
  30. 30.
    El-Rewini H., Ali H.H., Lewis T.G.: Task scheduling in multiprocessor systems. IEEE Computer 28(12), 27–37 (1995)CrossRefGoogle Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    Kwok Y., Ahmad I.: Static Scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv. 31(4), 406–471 (1999)CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)MATHCrossRefGoogle Scholar
  35. 35.
    Coffman E.G.: Computer and Job-Shop Scheduling Theory. Wiley, NY (1976)MATHGoogle Scholar
  36. 36.
    Gonzalez M.J. Jr: Deterministic processor scheduling. ACM Comput. Surv. 9(3), 173–204 (1977)MATHCrossRefGoogle Scholar
  37. 37.
    Frinsen D.K.: Tighter bounds for LPT scheduling on uniform processors. SIAM J. Comput. 16(3), 554–560 (1987)MathSciNetCrossRefGoogle Scholar
  38. 38.
    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)MATHCrossRefGoogle Scholar
  39. 39.
    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)CrossRefGoogle Scholar
  40. 40.
    Kruatrachue B., Lewis T.G.: Duplication Scheduling Heuristic, a New Precedence Task Scheduler for Parallel Systems. Oregon State University, Technical Report (1987)Google Scholar
  41. 41.
    Ahmad I., Kwok Y.: On exploiting task duplication in parallel program scheduling. IEEE Trans. Parallel Distrib. Syst. 9(9), 872–892 (1998)CrossRefGoogle Scholar
  42. 42.
    Wu M.Y., Gajski D.D.: Hypertool: a programming aid for message-passing systems. IEEE Trans. Parallel Distribut. Syst. 1(3), 330–343 (1990)CrossRefGoogle Scholar
  43. 43.
    Sarkar V.: Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge (1989)MATHGoogle Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    Yang T., Gerasoulis A.: List scheduling with and without communication delays. Parallel Comput. 19(12), 1321–1344 (1993)MATHCrossRefGoogle Scholar
  46. 46.
    Kermia, O., Sorel, Y.: A Rapid Heuristic for Scheduling Non-Preemptive Dependent Periodic Tasks onto Multiprocessor. ISCA PDCS, pp.1–6 (2007)Google Scholar
  47. 47.
    Gen M., Cheng R.: Genetic Algorithm and Engineering Optimization. Wiley, New York (2000)Google Scholar
  48. 48.
    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 1995Google Scholar
  49. 49.
    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)CrossRefGoogle Scholar
  50. 50.
    Hamidzadeh B., Kit L.Y., Lilja D.J.: Dynamic task scheduling using online optimization. IEEE Trans. Parallel Distrib. Syst. 11(11), 1151–1162 (2000)CrossRefGoogle Scholar
  51. 51.
    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 2003Google Scholar
  52. 52.
    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)Google Scholar
  53. 53.
    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)Google Scholar
  54. 54.
    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)Google Scholar
  55. 55.
    Holland J.H.: Adaption in Natural and Artificial Systems. University of Michigan Press, Ann Arbor (1975)MATHGoogle Scholar
  56. 56.
    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)Google Scholar
  57. 57.
    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)MathSciNetCrossRefGoogle Scholar
  58. 58.
    Kruatrachue B., Lewis T.: Grain size determination for parallel processing. Software IEEE 5(1), 23–32 (1988)CrossRefGoogle Scholar
  59. 59.
    Standard task graph set is available online at:
  60. 60.
    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 CrossRefGoogle Scholar
  61. 61.

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Mohsen Ebrahimi Moghaddam
    • 1
  • Mohammad Reza Bonyadi
    • 1
  1. 1.Computer Engineering Department, Electrical and Computer Engineering FacultyShahid Beheshti UniversityTehranIran

Personalised recommendations