An Automated Evolutionary Modularization Approach for Performance-Aware Parallelization of Sequential Source Code
Sequential object-oriented software remains difficult to parallelize because several important decisions are not entirely local. A useful decomposition should consider architectural structure, execution frequency, communication latency, and how much communication can overlap with local computation. In contrast, many traditional modularization methods focus on cohesion, coupling, or communication cost without explicitly considering whether an unavoidable remote call can be issued early enough for part of its latency to be hidden by independent work. DTMC-GA addresses this problem by combining a Discrete-Time Markov Chain (DTMC) execution model, a Distributive Execution Time (DET) estimator, and a Genetic Algorithm (GA) search procedure. Guarded call-use displacement enlarges modeled overlap windows only when the relevant dependence, ordering, and safety conditions are satisfied. The public artifact contains five local benchmark fixtures, five comparison methods, 30 retained runs per algorithm–fixture pair, raw outputs, statistical scripts, regenerated figures, Docker support, continuous-integration verification, and a Zenodo DOI. Within this released five-method panel, DTMC-GA achieved the highest aggregate mean modeled speedup of 2.708 ± 0.329. A more recent NSGA-III comparator was also evaluated using matched fixtures, DTMC–DET inputs, constraints, random seeds, population size, and generation budget. NSGA-III achieved an aggregate mean modeled speedup of 2.737 ± 0.323, 1.07% above DTMC-GA, although none of the five fixture-level paired differences remained significant after Bonferroni correction. A separate sparse-graph scalability study covered 50, 100, 250, 500, 750, and 1000 classes; mean analysis time increased from about 0.024 to 0.286 s, while peak memory rose from about 119.1 to 120.9 MiB. The study also includes an executed OpenCV 4.7.0 calibration using a fixed five-convolution DNN workload. Across 30 matched pairs, native-parallel OpenCV achieved a measured ratio-of-means speedup of 1.8691×. The bounded empirical DTMC-GA/DET rerun over 30 seeds produced a mean modeled speedup of 1.0000× with an SD of 0.0000, giving an absolute modeled-versus-measured difference of 46.50%. Because the measured parallel comparator is OpenCV’s native threaded implementation rather than a DTMC-GA-generated source rewrite, this experiment is interpreted as real-runtime model calibration rather than direct measured DTMC-GA optimized speedup.
Authors
- Jaber Karimpour (ORCID: https://orcid.org/0000-0001-6193-3240)
- Habib Izadkhah (ORCID: https://orcid.org/0000-0001-7595-8350)
- Kamaran Adil Ibrahim
Institutions
- University of Tabriz (IR)
Publication Details
- Journal
- Computers
- Published
- 2026-09-10
- DOI
- https://doi.org/10.3390/computers15090606
- Primary Topic
- Advanced Software Engineering Methodologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00