Authors:
Virginia Niculescu
;
Camelia Şerban
and
Andreea Vescan
Affiliation:
Babeş-Bolyai University, Faculty of Mathematics and Computer Science, Computer Science Department, Cluj-Napoca, Romania
Keyword(s):
Parallel Programming, Metrics, Overhead, Multithreading, Synchronization, Estimation, Validation.
Abstract:
The main purpose of using parallel computation is to reduce the execution time. To reach this goal, reducing the overhead time induced by the additional operations that parallelism implicitly imposes, becomes a necessity. In this respect, the paper proposes a new model that evaluates the overhead introduced into parallel multithreaded programs that follows SPMD (Single Program Multiple Data) model. The model is based on a metric that is evaluated using the source code analysis. Java programs were considered for this proposal, but the metric could be easily adapted for any multithreading supporting imperative language. The metric is defined as a combination of several atomic metrics considering various synchronisation mechanisms. A theoretical validation of this metric is presented, together with an empirical evaluation of several use cases. Additionally, we propose an AI based strategy to refine the evaluation of the metric by obtaining accurate approximation for the weights that are
used in combining the considered atomic metrics.
(More)