Abstract
The problem of determining a set of real-time tasks that can be assigned to the multiprocessors and finding a feasible solution of scheduling these tasks among the multiprocessors is a challenging issue and known to be NP-complete. Many applications today require extensive computing power than traditional uniprocessors can offer. Parallel processing provides a cost-effective solution to this problem by increasing the number of CPUs by adding an efficient communication system between them which results much higher computing power to solve compute-intensive problems. Multiprocessor task scheduling is the key research area in high performance computing, and the goal of the task scheduling is to minimize makespan. This paper discusses various approaches adopted to solve task scheduling problem in multiprocessor systems with a bio-inspired swarm system paradigm, the Ant Colony Optimization (ACO) since ACO algorithm leads to the fair load balancing among the processors and reducing the waiting time of the tasks. The parameters such as execution time, communication cost, cache performance, total power consumption, energy consumption, high system utilization, task pre-emptions were studied to compare the task scheduling algorithms.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Ahmad I, Khan SU, Ranka S (2008) Using game theory for scheduling tasks on multi-core processors for simultaneous optimization of performance and energy. In: Proceedings of the IEEE international symposium on parallel and distributed processing (IPDPS’08), pp 1–6
Alahmad BN, Gopalakrishnan S (2011) Energy efficient tasks partitioning and real time scheduling on heterogeneous multiprocessors platforms with QoS requirements. J Sustain Comput Inf Syst 14:314–328
Alba E, Tomassini M (2002) Parallelism and Evolutionary Algorithms. IEEE Trans Evol Comput 6:443–462
Andersson B, Bletsas K (2008) Sporadic multiprocessor scheduling with few preemptions. In: Proceedings of the 20th euromicro conference on real-time systems (ECRTS’08), pp 243–252
Andersson B, Raravi G, Bletsas K (2010) Assigning real-time tasks on heterogeneous multiprocessors with two unrelated types of processors. In: Proceedings of the 31st IEEE real-time systems symposium (RTSS’10) San Diego, California, USA, pp 239–248
Bakhouya M, Gaber J (2007) An Immune Inspired-based Optimization Algorithm: Application to the Travelling Salesman Problem. J Adv Model Optim 9:105–116
Balaprakash P, Birattari M, Stützle T, Yuan Z, Dorigo M (2009) Estimation-based ant colony optimization and local search for the probabilistic travelling salesman problem. Swarm Intell 33:223–242
Baro J, Boniol F, Cordovilla M, Noulard E, Pagetti C (2012) Off-line (optimal) multiprocessor scheduling of dependent periodic tasks. In: Proceedings of the ACM symposium on applied computing (SAC’12), Italy, pp 1815–1820
Baruah S, Cohen N, Plaxton C, Varvel D (1996) Proportionate progress : a notion of fairness in resource allocation. Algorithmica 156:600–625
Baruah S, Goossens J (2008) The EDF scheduling of sporadic task systems on uniform multiprocessors. In: Proceedings of the 29th IEEE real-time systems symposium (RTSS’08) Barcelona, pp 367–374
Bautista D, Sahuquillo J, Hassan H, Petit S, Duato J (2008) A simple power-aware scheduling for multicore systems when running real-time applications. In: Proceedings of IEEE international symposium on parallel and distributed processing (IPDPS’08) Miami, FL, pp 1–7
Belwal C, Cheng AMK (2011) Partitioned scheduling of P-FRP in symmetric homogenous multiprocessors. In: Proceedings of 9th international conference on embedded and ubiquitous computing (ICEUC’11), pp 47–54
Bertogna M, Cirinei M, Lipari G (2009) Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Trans Parallel Distrib Syst 204:553–566
Bletsas K, Andersson B (2009) Preemption light multiprocessor scheduling of sporadic tasks with high utilization bound. In: Proceedings of the 30th IEEE real-time systems symposium (RTSS’09) Washington, DC, USA, pp 447–456
Blum C (2005) Beam-ACO hybridizing ant colony optimization with beam search: an application to open shop scheduling. Comput Oper Res 326:1565–1591
Blum C (2008) Beam-ACO for simple assembly line balancing. INFORMS J Comput 204:618–627
Blum C, Li X (2008) Swarm intelligence in optimization. In: Blum C, Merkle D (eds) Swarm intelligence. Introduction and applications, pp 43–85
Blum C, Yabar M, Blesa MJ (2008) An ant colony optimization algorithm for DNA sequencing by hybridization. Comput Oper Res 3511:3620–3635
Bonabeau E, Theraulaz G (2000) Swarm Smarts. Sci Am J 282:54–61
Bonifaci V, Spaccamela AM, Stiller S (2008) A Constant-Approximate Feasibility Test for Multiprocessor Real-Time Scheduling. In: Proceedings of 16th Annual European Symposium on Algorithms (ESA’08), Karlsruhe, Germany, pp 210–221
Bougueroua L, George L, Midonnet S (2007) Dealing with execution-overruns to improve the temporal robustness of real-time systems scheduled FP and EDF. In: Proceedings of the 2nd international conference on systems (ICONS’07), Sainte-Luce, Martinique, p 52
Calandrino JM, Anderson JH (2008) Cache-aware real-time scheduling on multicore platforms: heuristics and a case study. In: Proceedings of euromicro conference on real-time systems (ECRTS’08), pp 299–308
Chen JJ, Thiele L (2010) Energy-efficient scheduling on homogeneous multiprocessor platforms. In: Proceedings of the ACM symposium on applied computing (SAC’10), Switzerland, pp 542–549
Chen SY, Hsueh CW (2008) Optimal dynamic-priority real-time scheduling algorithms for uniform multiprocessors. In: Proceedings of the 29th IEEE real-time systems symposium (RTSS’08) , Barcelona, Spain, pp 147–156
Chen H, Cheng AMK, Kuo YW (2011) Assigning real time tasks to heterogeneous processors by applying ant colony optimization. J Parallel Distrib Comput 711:32–42
Chen R-M, Shen Y-M, Wang C-T (2016) Ant colony optimization inspired swarm optimization for grid task scheduling. In: International symposium on computer, consumer and control
Chhugani J, Macy W, Lee VW (2008) Efficient implementation of sorting on multicore SIMD CPU architecture. Proc Very Large DataBase (VLDB) Endow 12:1313–1324
Danesh N, Shirgahi H (2011) Tasks real time scheduling in distributed systems. Am J Sci Res 2222:25–29
Das S, Abraham A, Konar A (2008) Swarm Intelligence Algorithms in Bioinformatics. Stud Comput Intell 94:113–147
de Castro LN (2007) Fundamentals of natural computing: an overview. Phys Life Rev 4:1–36
DeJong KA (1988) Learning with Genetic Algorithms: an overview. Mach Learn 3:121–138
Deubzer M, Margull U, Mottok J, Niemetz M, Wirrer G (2010) Partly proportionate fair multiprocessor scheduling of heterogeneous task systems. In: Proceedings of the 5th embedded real time software and systems conference (ERTSS’10), Toulouse
Dorigo M, Gambardella LM (1997) Ant colonies for the travelling salesman problem. BioSystems 432:73–81
Dorigo M, Maniezzo V, Colorni A (1996) Ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern B 261:29–41
Dorin F, Yomsi PM, Goossens, Richard P (2009) Semi-partitioned hard real-time scheduling with restricted migrations upon identical multiprocessor platforms. In: Proceedings of the 21st euromicro conference on real-time systems (ECRTS’09) Dublin, Ireland, pp 249–258
Dutot PF, Takpé T, Suter F, Casanova H (2009) Scheduling parallel task graphs on (almost) homogeneous multi-cluster platforms. IEEE Trans Parallel Distrib Syst 207:940–952
Elhossini A, Huissman J, Debowski B, Areibi S, Dony R (2010) Efficient scheduling methodology for heterogeneous multi-core processor systems. In: Proceedings of the international conference on microelectronics (ICM’10), Cairo, Egypt, pp 475–478
Farias M, Barrosy E, Filhoz A, Araujox A, Silva A, Melo A (2013) An ant colony meta-heuristic for energy aware application mapping on NoCs. In: IEEE 20th international conference on electronics, circuits, and systems (ICECS), pp 365–368
Fauberteau F, Midonnet S, George L (2009) Allowance-fit: a partitioning algorithm for temporal robustness of hard real-time systems upon multiprocessors. In: Proceedings of the 14th IEEE international conference on emerging technologies and factory automation (ETFA’09), Spain, pp 1555–1558
Fauberteau F, Midonnet S, Qamhieh M (2011) Partitioned scheduling of parallel real-time tasks on multiprocessor systems. In: Proceedings of 23rd euromicro conference on real-time systems (ECRTS’11), Porto, Portugal, vol 83. pp 28–31
Ferrandi F, Pilato C, Tumeo A, Sciuto D (2010) Mapping and scheduling of parallel C applications with ant colony optimization onto heterogeneous reconfigurable MPSoCs. In: Proceedings of IEEE Asia and South Pacific design automation conference (ASPDAC’10), Taipei, pp 799–804
Forbes N (2000) Biologically Inspired Computing. J Comput Sci Eng 2:83–87
Funaoka K, Kato S, Yamasaki N (2008) Work-conserving optimal real-time scheduling on multiprocessors. In: Proceedings of the 20th euromicro conference real-time systems (ECRTS’08), Prague, Czech Republic, pp 13–22
Gambardella LM, Dorigo M (2000) Ant colony system hybridized with a new local search for the sequential ordering problem. INFORMS J Comput 123:237–255
Gedik B, Bordawekar R, Yu PS (2007) Cellsort: high performance sorting on the cell processor. In: Proceedings of the 33rd international conference on very large data bases (VLDB), Austria, pp 1286–1297
Guan N, Stigge M, Wang Y, Yu G (2010). Fixed-priority multiprocessor scheduling with Liu and Layland’s utilization bound. In: Proceedings of the 16th IEEE real-time and embedded technology and applications symposium (RTAS’10), Stockholm, Sweden, pp 165–174
Guo Y, Su H, Zhu D (2011) An optimal discrete-time based boundary fair scheduler for sporadic tasks in multiprocessor real-time systems. In: Supplement proceedings of the IEEE real-time systems symposium (RTSS), work-in-progress (WiP) session, San Diego, CA
Hoffmann R, Prell A, Rauber T (2010) Dynamic task scheduling and load balancing on using cell processor. In: Proceedings of 18th euromicro conference on parallel, distributed and network-based processing (PDP’10), Pisa, Italy, pp 205–212
Huang L, Yuan F, Xu Q (2011) On task allocation and scheduling for lifetime extension of platform-based MPSoC designs. IEEE Trans Parallel Distrib Syst 2212:2088–2099
Inoue H, Moriyama T, Komatsu H (2007) AA-Sort : a new parallel sorting algorithm for multi-core SIMD processors. In: Proceedings of the parallel architectures and compilation techniques (PACT’07), pp 189–198
Jing C (2015) Ant-colony optimization based algorithm for energy-efficient scheduling on dynamically reconfigurable systems. In: Ninth international conference on frontier of computer science and technology
Jingui H, Rongheng L (2009) Approximation algorithms on multiprocessor task scheduling. In: Proceedings of international conference on computer engineering and technology (ICCET’09), Singapore, pp 303–307
Jooya AZ, Baniasadi A, Analoui M (2011) History-aware, resource-based dynamic scheduling for heterogeneous multi-core processors. IET J Comput Digital Tech 5:254–262
Karaboga D (2005) An idea based on honey bee swarm for numerical optimization. Technical report (TR06), Erciyes University
Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: Proceedings of 30th IEEE real-time systems symposium (RTSS’09), Washington, DC, USA, pp 459–468
Kato S, Yamasaki N (2008a) Portioned EDF-based scheduling on multiprocessors. In: Proceedings of 8th ACM international conference on embedded software (EMSOFT ’08), Atlanda, pp 139–148
Kato S, Yamasaki N (2008b) Semi-partitioning technique for multiprocessor real-time scheduling. In: Proceedings of the 29th IEEE real-time systems symposium, work-in-progress session (RTSS’08 WiP)
Kato S, Yamasaki N (2008c) Portioned static priority scheduling on multiprocessors. In: Proceedings of IEEE international symposium on parallel and distributed processing (IPDPS’08), Florida, USA, pp 1–12
Kennedy J, Eberhart RC (1995) Particle Swarm Optimization. In: Proceedings of IEEE international conference on Neural Networks, Perth, Australia, pp 1942–1948
Keller J, Kessler CW, König K, Heenes W (2008) Hybrid parallel sort on the cell processor. In: Proceedings of the 9th workshop on parallel systems and algorithms (PASA’08), pp 107–112
Kong F, Yi W, Deng Q (2011) Energy-efficient scheduling of real-time tasks on cluster-based multicores. In: Proceedings of design, automation & test in Conference & Exhibition (DATE), Grenoble, France, pp 1–6
Korb O, Stützle T, Exner TE (2007) An ant colony optimization approach to flexible protein–ligand docking. Swarm Intell 12:115–134
Kugu E, Sahingoz OK (2013) ACO algorithms with multi-core implementation. In: 7th international conference on application of information and communication technologies, pp 1–5
Kumar A, Panda S, Pani SK, Baghel V, Panda A (2014) ACO and GA based fault-tolerant scheduling of real-time tasks on multiprocessor systems—a comparative study. In: IEEE 8th international conference on intelligent systems and control (ISCO), pp 120–126
Lakshmanan K, de Niz DD, Rajkumar R (2009a) Coordinated task scheduling, allocation and synchronization on multiprocessors. In: Proceedings of IEEE real-time systems symposium (RTSS’09), Washington, USA, pp 469–478
Lakshmanan K, Rajkumar R, Lehoczky JP (2009b) Partitioned fixed-priority pre-emptive scheduling for multi-core processors. In: Proceedings of the 21st euromicro conference on real-time systems (ECRTS’09), Washington, DC, USA, pp 239–248
Lee WY (2012) Energy-efficient scheduling of periodic real-time tasks on lightly loaded multicore processors. IEEE Trans Parallel Distrib Syst 233:530–537
Lee YC, Zomaya AY (2007) An artificial immune system for heterogeneous multiprocessor scheduling with task duplication. In: Proceedings of the international parallel and distributed processing symposium (IPDPS’07), California USA, pp 1–8
Lee LT, Chang HY, Chao SW (2008) A hybrid task scheduling for multi-core platform. In: Proceedings of the 2nd international conference on future generation, communication and networking symposia (FGCNS’08), vol 5. pp 40–45
Lee J, Easwarany A, Shin I, Lee I (2010) Multiprocessor real-time scheduling considering concurrency and urgency. In: Proceedings of the IEEE real-time systems symposium (RTSS’10), San Diego, CA, USA, p 71
Lee J, Easwaran A, Shin I, Lee I (2011) Zero-laxity based real-time multiprocessor scheduling. J Syst Softw 8412:2324–2333
Lin WM, Gu Q (2007) An efficient clustering-based task scheduling algorithm for parallel programs with task duplication. J Inf Sci Eng 232:589–604
Liu Q, He Y, Chen Y, Liao X, Chen N (2012) Low power instructions scheduling based on ant colony optimization. In: Proceedings of Spring congress on engineering and technology (SCET ’12), Xi’an, China, pp 314–317
Magklis G, Semeraro G, Albonesi DH, Dropsho SG, Dwarkadas S, Schott ML (2003) Dynamic frequency and voltage scaling for a multiple-clock-domain microprocessor. IEEE Micro 236:62–68
Marimuthu P, Arumugam R (2015) Application of hybrid meta-heuristic algorithm for assigning real-time tasks to heterogeneous processors. In: 6th international conference on computing, communication and networking technologies (ICCCNT), pp 1–7
Nelis V, Marinho J, Andersson B, Petters SM (2011) Global-EDF scheduling of multimode real-time systems considering mode independent tasks. In: Proceedings of the 23rd euromicro conference on real-time systems (ECRTS’11), Porto, Portugal, pp 205–214
Nemati F, Behnam M, Nolte T (2009) Multiprocessor synchronization and hierarchical scheduling. In: Proceedings of the international conference on parallel processing workshops (ICPPW’09), pp 58–64
Niemeier M, Wiese A, Baruah S (2011) Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors. In: Proceedings of the 23rd euromicro conference on real-time systems (ECRTS’11), Porto, Portugal, pp 115–124
Passino KM (2002) Biomimicry of Bacteria Foraging for Distributed Optimization and Control. IEEE Control Syst Mag 22:52–67
Palmer A, Sinnen O (2008) Scheduling algorithm based on force directed clustering. In: Proceedings of 9th international conference on parallel and distributed computing, applications and technologies (PDCAT’08), Otag, pp 311–318
Pfeil J (2006) Swarm intelligence communication and operating systems group, vol 182. Berlin University of Technology, Berlin
Qin X, Xie T (2008) An availability-aware task scheduling strategy for heterogeneous systems. IEEE Trans Comput 572:188–199
Rahmani AM, Vahedi MA (2009) A novel task scheduling in multiprocessor systems with genetic algorithm by using elitism stepping method. Int J Comput Theory Eng 1:1–6
Raravi G, Andersson B, Bletsas K (2011) Provably good task assignment on heterogeneous multiprocessor platforms for a restricted case but with a stronger adversary. In: Proceedings of 23rd euromicro conference on real-time systems (ECRTS’11), Porto, Portugal, pp 19–22
Redaelli F, Santambrogio MD, Memik SO (2009) An ILP formulation for the task graph scheduling problem tailored to bi-dimensional reconfigurable architectures. Int J Reconfigurable Comput 7:97–102
Ruben AJ, Landweber LF (2000) The Past, Present and Future of Molecular Computing. Nat Rev Mol Cell Biol 1:69–72
Saifullah A, Agrawal K, Lu C, Gill CD (2011) Multi-core real-time scheduling for generalized parallel task models. In: Proceedings of the 32nd IEEE real-time systems symposium (RTSS’11), Vienna, Austria, pp 217–226
Samal AK, Parida AK, Pani SK, Dash AK (2015) A novel fault-tolerant scheduling of real-time tasks on multiprocessor using discrete-elitist multi-ACO. In: International conference on communications and signal processing (ICCSP), pp 1939–1945
Scarpazza D, Russell GF (2009) High-performance regular expression scanning on the cell/BE processor. In: Proceedings of the 23rd international conference on supercomputing (ICS’09), Yorktown Heights, NY, USA, pp 14–25
Scarpazza D, Villa O, Petrini F (2007) Peak-performance DFA-based string matching on the cell processor. In: Proceedings of the IEEE international parallel and distributed processing symposium (PDPS’07), Long Beach, CA, pp 1–8
Scarpazza D, Villa O Petrini F (2008a) High-speed string searching against large dictionaries on the cell/BE processor. In: Proceedings of the IEEE international symposium on parallel and distributed processing (IPDPS’08), pp 1–12
Scarpazza D, Villa O, Petrini F (2008b) Efficient breadth-first search on the Cell/BE processor. IEEE Trans Parallel Distrib Syst 19:1381–1395
Seo E, Jeong J, Park S, Lee J (2008) Energy efficient scheduling of real-time tasks on multicore processors. IEEE Trans Parallel Distrib Syst 1911:1540–1552
Shadbolt N (2004) Nature-inspired computing. IEEE Intell Syst 19:2–3
Sheikh AA, Brun O, Hladik PE, Prabhu BJ (2011) A best-response algorithm for multiprocessor periodic scheduling. In: Proceedings of the 23rd euromicro conference on real-time systems (ECRTS’11), Porto, Portugal, pp 228–237
Shelepov D, Fedorova A (2008) Scheduling on heterogeneous multicore processors using architectural signatures. In: Proceedings of workshop on the interaction between operating systems and computer architecture (WIOSCA’08), Beijing, China
Shmygelska A, Hoos HH (2005) An ant colony optimisation algorithm for the 2D and 3D hydrophobic polar protein folding problem. J Bioinf 6:30
Sorlin S, Solnon C, Jolion JM (2007) A generic graph distance measure based on multivalent matchings. Stud Comput Intell Springer 52:151–156
Sousa PB, Bletsas K, Tovar E, Andersson B (2011) On the implementation of real-time slot based task-splitting scheduling algorithms of multiprocessor systems. In: Proceedings of the 13th real-time linux workshop, Prague, pp 207–218
Sprunt B, Sha L, Lehoczky J (1989) Aperiodic Task Scheduling for Hard Real Time Systems. J Real-Time Syst 1:27–60
Tan P, Shu J, Wu Z (2010) Hybrid real-time scheduling approach on multi-core architectures. J Softw 59:958–965
Tang HK, Ramanathan P, Compton K (2011) Combining hard periodic and soft aperiodic real-time task scheduling on heterogeneous compute resources. In: Proceedings of the international conference on parallel processing (ICPP’11), Taipei, pp 753–762
Towsley D, Panwar SS (1990) On the optimality of minimum laxity and earliest deadline scheduling for real-time multiprocessors. In: Proceedings of the 6th euromicro workshop on real-time (Euromicro’90), Denmark, pp 17–24
Turner H, White J (2013) Multi-core deployment optimization using simulated annealing and ant colony optimization. In: 12th IEEE international conference on trust, security and privacy in computing and communications, pp 1216–1223
Virlet B, Zhou X, Giacalone JP, Kuhn B, Garzarán MJ, Padua DA (2011) Scheduling of stream-based real-time applications for heterogeneous systems. In: Proceedings of the SIGPLAN/SIGBED conference on languages, compilers and tools for embedded systems (LCTES’11) Chicago, IL, pp 1–10
Wasserman PD (1989) Neural Computing: Theory and Practice. Van Nostrand Reinhold press, New York, USA
Wu J, Hong X-J (2017) Energy-efficient task scheduling and synchronization for multicore real-time systems. In: IEEE 3rd international conference on big data security on cloud
Xiang B, Zhang B, Zhang L (2017) Greedy-ant: ant colony system-inspired workflow scheduling for heterogeneous computing. IEEE J Mag 5:11404–11412
Xia Y, Prasanna VK (2009) Topologically adaptive parallel breadth-first search on multicore processors. In: Proceedings of the 21st international conference on parallel and distributed computing and systems (PDCS’09), Cambridge, Massachusetts, USA, pp 77–84
Xu L, Wang Q, Shi S (2011) A task mapping and scheduling algorithm for heterogeneous multicore processor based SDR platform. J Comput Inf Syst 711:4113–4120
Yan XS, Wu QH (2012) Function Optimization Based on Cultural Algorithms. J Comput Inf Technol 2:152–158
Yang CH, Lee P, Chung, YC (2007) Improving static task scheduling in heterogeneous and homogeneous computing systems. In: Proceedings of the international conference on parallel processing (ICPP’07), Xian, China, pp 45–53
Zhou B, Qiao J, Lin S (2011) Research on parallel real time scheduling algorithm of hybrid parameters task on multicore platform. Appl Math Inf Sci 52:211S–217S
Zhu D, Mosse D, Melhem R (2003) Multiple-resource periodic scheduling problem: how much fairness is necessary. In: Proceedings of real time symposium (RTSS’03), Cancun, Mexico, pp 142–151
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declared that they have no conflict of interest.
Additional information
Communicated by V. Loia.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Srikanth, G.U., Geetha, R. Task scheduling using Ant Colony Optimization in multicore architectures: a survey. Soft Comput 22, 5179–5196 (2018). https://doi.org/10.1007/s00500-018-3260-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-018-3260-4