arrow
Return

An Automated Evolutionary Modularization Approach for Performance-Aware Parallelization of Sequential Source Code

delete2026-09-11
delete0
delete
OA
AI
K
Kamaran Adil Ibrahim
H
Habib Izadkhah *
J
Jaber Karimpour
DOI:10.3390/computers15090606delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
automated software modularization
concurrency-aware modularization
parallelization
discrete-time Markov chain
genetic algorithm
distributive execution time
reproducibility artifact

Journal

C
Computers
IF:
4.2
Papers:
1.5K
Citations:
3.3K

Organization

U
University of Tabriz
Scholars:
9.3K
Papers: 8.5K
Citations: 1.0W
Cited Papers

Cited Papers

errShare
errSave
A Fair, Dynamic Load Balanced Task Distribution Strategy for Heterogeneous Cloud Platforms Based on Markov Process Modeling
err2022-01-01
err15
errOAAI
errSouravlas, Stavros; Anastasiadou, Sofia D.; Tantalaki, Nicoleta; Katsavounis, Stefanos
errShare
errSave
Chronos: A timing analyzer for embedded software
err2007-12-01
err0
errOAAI
errXianfeng Li; Yun Liang; Tulika Mitra; Abhik Roychoudhury
errShare
errSave
Maximizing multiprocessor performance with the SUIF compiler
err1996-12-01
err0
PREAI
errM.W. Hall; J.M. Anderson; S.P. Amarasinghe; B.R. Murphy; Shih-Wei Liao; E. Bugnion; M.S Lam
errShare
errSave
An analytical approach to architecture-based software performance and reliability prediction
err2004-12-01
err0
PREAI
errSwapna S. Gokhale; W. Eric Wong; J.R. Horgan; Kishor S. Trivedi
errShare
errSave
researcher View more