Skip to main content
Log in

Multithreaded scheduling for program segments based on chemical reaction optimizer

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

Multicore processors that support multithreading techniques have many advantages, including processors’ utilization, responsiveness, resource sharing, and economical usage of threads. Thus, to have these advantages, programming languages must support multithreading programming. Unfortunately, this technique is not compatible with old programs since most of the old program codes have been prepared sequentially. Inevitably, this posed a challenge when attempts were made to convert old sequential codes into multithreading codes. Despite the existence of several approaches of multithreading, differences do exist in their overhead, efficiency, and speedup, thereby underpinning the need for further optimization. Thus, a chemical reaction optimizer demonstrates the efficacy of its optimization in several problems. Against this backdrop, this paper presents a chemical reaction optimizer for the multithreading scheduling (CROTS) technique that generates multithreaded code while considering a sequential one. CROTS technique has been evaluated using several performance metrics, such as the number of steps, execution time, speedup, efficiency, cost, and percentage of error. Experimental results show that the maximum speedup achieved by CROTS is 11.98 upon the usage of 32 threads, with an average percentage of error being 14.56% in regard to the comparison between experimental and analytical cost results. Furthermore, after comparing CROTS with intermediate representation based on diKernel (KIR), it has been established that it can accommodate more threads and attain greater speedup. For example, the experiments show that when applying both approaches CROTS and KIR using 32 threads on dataset M7000, CROTS attains a speedup of 11.71, that is, about tripled the speedup achieved by KIR, which is 3.77.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  • Al-Adwan A, Mahafzah B, Sharieh A (2018) Solving traveling salesman problem using parallel repetitive nearest neighbor algorithm on OTIS-Hypercube and OTIS-Mesh optoelectronic architectures. J Supercomput 74(1):1–36

    Article  Google Scholar 

  • Al-Adwan A, Sharieh A, Mahafzah B (2019) Parallel heuristic local search algorithm on OTIS hyper hexa-cell and OTIS mesh of trees optoelectronic architectures. Appl Intell 49(2):661–688

    Article  Google Scholar 

  • Al-Ayyoub A (2005) Distributed bidirectional and unidirectional heuristic search: algorithm design and empirical assessment. J Supercomput 32:231–250

    Article  Google Scholar 

  • Albert E, Lukas JD, JrGL Steele (1991) Data parallel computers and the FORALL statement. J Parallel Distrib Comput 13(2):185–192

    Article  Google Scholar 

  • Almghawish A, Abdalla A, Marzouq A (2017) An automatic parallelizing model for sequential code using Python. Int J Adv Res Comput Sci Softw Eng 7(3):276–282

    Article  Google Scholar 

  • Alrezaamiri H, Ebrahimnejad A, Motameni H (2019) Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm. Soft Comput 23:9979–9994

    Article  Google Scholar 

  • Althebyan Q, AlQudah O, Jararweh Y, Yaseen Q (2017) A scalable Map Reduce tasks scheduling: a threading-based approach. Int J Comput Sci Eng 14(1):44–54

    Google Scholar 

  • Andión M, Arenaz M, Rodríguez G, Tourino J (2013) A novel compiler support for automatic parallelization on multicore systems. Parallel Comput 39:442–460

    Article  Google Scholar 

  • Arabnejad H, Bispo J, Barbosa JG, Cardoso JM (2018) AutoPar-Clava: an automatic parallelization source-to-source tool for C code applications. In: Proceedings of the 9th workshop and 7th workshop on parallel programming and runtime management techniques for manycore architectures and design tools and architectures for multicore embedded computing platforms (PARMA-DITAM ‘18). ACM, New York, pp 13–19

  • Bechikh S, Chaabani A, Said LB (2015) An efficient chemical reaction optimization algorithm for multi-objective optimization. IEEE Trans Cybern 45(10):2051–2064

    Article  Google Scholar 

  • Bensedira B, Layeb A, Bouzoubia S, Habbas Z (2016) CRO-CARP: a chemical reaction optimization for capacitated arc routing problem. In: 2016 8th international conference on modelling, identification and control (ICMIC). IEEE, pp 757–762

  • Chaabani A, Bechikh S, Said LB (2015) A co-evolutionary decomposition-based algorithm for bi-level combinatorial optimization. In: 2015 IEEE Congress on Evolutionary Computation (CEC). IEEE, pp 1659–1666

  • Chaabani A, Bechikh S, Said LB, Azzouz R (2015) An improved co-evolutionary decomposition-based algorithm for bi-level combinatorial optimization. In: Proceedings of the Companion Publication of the 2015 annual conference on Genetic and Evolutionary Computation. ACM, pp 1363–1364

  • Chaabani A, Bechikh S, Said LB (2018) A new co-evolutionary decomposition-based algorithm for bi-level combinatorial optimization. Appl Intell 48(9):2847–2872

    Article  Google Scholar 

  • Cormen T, Leiserson C, Rivest R, Stein C (2009) Introduction to algorithms, 3rd edn. MIT Press, Cambridge, pp 3–122

    MATH  Google Scholar 

  • Dam TL, Li K, Fournier-Viger P (2017) Chemical reaction optimization with unified tabu search for the vehicle routing problem. Soft Comput 21:6421–6433

    Article  Google Scholar 

  • Eldos T, Kanan A, Nazih W, Khatatbih A (2015) Adapting the chemical reaction optimization algorithm to the printed circuit board drilling problem. Int J Comput Inf Eng 9(1):247–252

    Google Scholar 

  • Etzioni O, Etzioni R (1994) Statistical methods for analyzing speedup learning experiments. Mach Learn 14(3):333–347

    Google Scholar 

  • Grama A, Gupta A, Karypis G, Kumar V (2003) Introduction to parallel computing. 2 edn. Addison-Wesley, An Imprinted of Pearson Education

  • Gustaffson J, Ermedahl A, Lisper B (2006) Algorithms for infeasible path calculation. In: Proceedings of 6th international workshop on worst-case execution time analysis (WCET’06). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, 4

  • Hafidi Z, Talbi E, Concalves G (1995) Load balancing and parallel tree search: the MPIDA* algorithm. In: Proceedings of fifth international conference on parallel computing (ParCo’95), Gent, Belgium, pp 12–22

  • Hazra S, Roy PK (2019) Quasi-oppositional chemical reaction optimization for combined economic emission dispatch in power system considering wind power uncertainties. Renew Energy Focus 31:45–62

    Article  Google Scholar 

  • Islam R, Mahmud MR, Pritom R (2019a) Transportation scheduling optimization by a collaborative strategy in supply chain management with TPL using chemical reaction optimization. Neural Comput Appl. https://doi.org/10.1007/s00521-019-04218-5

    Article  Google Scholar 

  • Islam MR, Saifullah CK, Asha ZT, Ahamed R (2019b) Chemical reaction optimization for solving longest common subsequence problem for multiple string. Soft Comput 23:5485–5509

    Article  Google Scholar 

  • Islam MR, Saifullah CK, Mahmud MR (2019c) Chemical reaction optimization: survey on variants. Evolut Intell 12:395–420

    Article  Google Scholar 

  • Jabri R (1990) Front-end processors formal specification, implementation and optimization. Dirasat Ser B (Pure Appl Sci) 17:7–36

    Google Scholar 

  • Jabri R (2009) Generic code generator. Dirasat Pure Sci 36:116–133

    Google Scholar 

  • Jiang Y, Shao Z, Guo Y (2014) A DAG scheduling scheme on heterogeneous computing systems using tuple-based chemical reaction optimization. Sci World J 2014:404375

    Google Scholar 

  • Kemerer F (1987) An empirical validation of software cost estimation models. Commun ACM 30:419–429

    Google Scholar 

  • Lam A, Li V (2012) Chemical reaction optimization a tutorial. Memetic Comput 4:3–17

    Article  Google Scholar 

  • Legillon F, Liefooghe A, Talbi EG (2012) CoBRA: A cooperative coevolutionary algorithm for bi-level optimization. In: 2012 IEEE Congress on Evolutionary Computation. IEEE, pp 1–8

  • Li C, Tang J, Ma T, Yang X, Luo Y (2020) Load balance based workflow job scheduling algorithm in distributed cloud. J Netw Comput Appl 152: Article 102518

  • Mahafzah B (2011) Parallel multithreaded IDA* heuristic search: algorithm design and performance evaluation. Int J Parallel Emergent Distrib Syst 26:61–82

    Article  MathSciNet  MATH  Google Scholar 

  • Mahafzah B (2013) Performance assessment of multithreaded quicksort algorithm on simultaneous multithreaded architecture. J Supercomput 66:339–363

    Article  Google Scholar 

  • Mahafzah B (2014) Performance evaluation of parallel multithreaded A* heuristic search algorithm. J Inf Sci 40:363–375

    Article  Google Scholar 

  • Mahafzah B, Jaradat B (2008) The load balancing problem in OTIS-Hypercube interconnection networks. J Supercomput 46:276–297

    Article  Google Scholar 

  • Mahafzah B, Jaradat B (2010) The hybrid dynamic parallel scheduling algorithm for load balancing on chained-cubic tree interconnection networks. J Supercomput 52:224–252

    Article  Google Scholar 

  • Mann HB, Whitney DR (1947) On a test of whether one of two random variables is stochastically larger than the other. Ann Math Stat 18(1):50–60

    Article  MathSciNet  MATH  Google Scholar 

  • Marinakis Y, Migdalas A, Pardalos PM (2007) A new bi-level formulation for the vehicle routing problem and a solution method using a genetic algorithm. J Glob Optim 38(4):555–580

    Article  MATH  Google Scholar 

  • Murad O, Mahafzah B, Jabri R (2019) A metaheuristic approach for static scheduling based on chemical reaction optimizer. J Theor Appl Inf Technol 97(21):3144–3165

    Google Scholar 

  • Nachar N (2008) The Mann–Whitney U: a test for assessing whether two independent samples come from the same distribution. Tutor Quant Methods Psychol 4(1):13–20

    Article  Google Scholar 

  • Nayak J, Naik B, Behera HS, Abraham A (2017) Hybrid chemical reaction based metaheuristic with fuzzy c-means algorithm for optimal cluster analysis. Expert Syst Appl 79:282–295

    Article  Google Scholar 

  • Nguyen TT, Li Z, Zhang S, Truong TK (2014) A hybrid algorithm based on particle swarm and chemical reaction optimization. Expert Syst Appl 41(5):2134–2143

    Article  Google Scholar 

  • Phillips M (2018) In software and applications (non-game), math and arithmetic, chemistry. http://science.answers.com/Q/what_percent_error_is_an_acceptable_range. Accessed 15 Mar 2020

  • Puschner P (2002) Transforming execution-time boundable code into temporally predictable code. In: Kleinjohann B, Kim KH, Kleinjohann L, Rettberg A (eds) Design and analysis of distributed embedded systems (DIPES 2002). IFIP—The International Federation for Information Processing, vol 91. Springer, Boston, pp 163–172

    Google Scholar 

  • Ranka S, Won Y, Sahni S (1988) Programming a hypercube multicomputer. IEEE Softw 5(5):69–77

    Article  Google Scholar 

  • Saifullah CK, Islam MR (2016) Chemical reaction optimization for solving shortest common super sequence problem. Comput Biol Chem 64:82–93

    Article  Google Scholar 

  • Shao Z, Zhuge Q, Liu M, Xue C, Sha EH, Xiao B (2006) Algorithms and analysis of scheduling for loops with minimum switching. Int J Comput Sci Eng 2:88–97

    Google Scholar 

  • Shu W, Wu M-Y (1995) An incremental parallel scheduling approach for solving dynamic and irregular problems. In: Proceedings of the 24th International conference on parallel processing, Oconomowoc, WI, pp 143–150

  • Šilc J, Robič B, Ungerer T (2001) Simultaneous multithreading—blending thread-level and instruction-level parallelism in advanced microprocessors. In: Proceeding of the 5th word multiconference on circuits, systems, communications and computers, Greece

  • Srikanth GU, Geetha R (2018) Task scheduling using ant colony optimization in multicore architectures: a survey. Soft Comput 22(15):5179–5196

    Article  Google Scholar 

  • Stappert F, Ermedahl A, Engblom J (2001) Efficient longest executable path search for programs with complex flows and pipeline effects. In: Proceedings of the 2001 international conference on compilers, architecture, and synthesis for embedded systems. ACM, pp 132–140

  • Student (1908) The probable error of a mean. Biometrika 6(1):1–25. https://doi.org/10.2307/2331554

    Article  MATH  Google Scholar 

  • Szeto W, Liu Y, Ho SC (2016) Chemical reaction optimization for solving a static bike repositioning problem. Transp Res Part D Transp Environ 47:104–135

    Article  Google Scholar 

  • Truong TK, Li K, Xu Y (2013) Chemical reaction optimization with greedy strategy for the 0–1 knapsack problem. Appl Soft Comput 13(4):1774–1780

    Article  Google Scholar 

  • Xu S, Liu Y, Chen M (2017) Optimisation of partial collaborative transportation scheduling in supply chain management with 3PL using ACO. Expert Syst Appl 71:173–191

    Article  Google Scholar 

  • Zar JH (1984) Statistical significance of mutation frequencies, and the power of statistical testing, using the Poisson distribution. Biom J 26(1):83–88

    Article  Google Scholar 

  • Zhang M, Chen L, Chen X (2018) An advanced chemical reaction optimization algorithm based on balanced local and global search. Math Probl Eng, Article ID 8042689

  • Zhou Z, Li X, Zare RN (2017) Optimizing chemical reactions with deep reinforcement learning. ACS Cent Sci 3(12):1337–1344

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to express their deep gratitude to the anonymous referees for their valuable comments and suggestions, which improved this research work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Basel A. Mahafzah.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mahafzah, B.A., Jabri, R. & Murad, O. Multithreaded scheduling for program segments based on chemical reaction optimizer. Soft Comput 25, 2741–2766 (2021). https://doi.org/10.1007/s00500-020-05334-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-020-05334-4

Keywords

Navigation