values for the weights; (5) validate the results on new
programs
The current paper offers preliminaries measure-
ments and estimation for the overhead metric, which
was theoretically validated.
5 CONCLUSIONS
An important desiderata in writing parallel programs
is to reduce the overhead time which in some cases
may cover the advantages of doing some computa-
tion in parallel. We have proposed a metric that esti-
mates the overhead time for parallel Java SPMD mul-
tithreaded programs and we theoretically validated it;
here Java programming language was considered but
the metric can be easily adapted for other languages,
since the synchronization mechanisms are very simi-
lar.
• estimate the overhead time at the development
stage;
• compare different design solutions for a given
problem, and choose the most optimal from the
overhead point of view;
• estimate the need for refactorization of a given
program by evaluating the improvements that
could be achieved by changing the design method
or only by changing the synchronization mecha-
nisms.
We have shown that the metric definition corresponds
to a proper definition of a software metric, and we
provided a theoretical validation using Weyuker’s
properties. A first evaluation of the weights associ-
ated to the aggregated atomic metrics was done based
on different implementation variants of the reduce op-
eration; the results proved to be promising. Still, for a
proper empirical validation this should be improved,
and so, we proposed an AI based strategy that could
be followed as a next step for attaining this goal.
REFERENCES
B, K. and N, F. (1995). Towards a framework for software
measurement validation. IEEE Transactions on soft-
ware Engineering, 21(12):929–943.
Basili, V., Briand, L., and Melo., W. (1996). A validation
of object-oriented design metrics as quality indicators.
20(10):751–761.
Briand LC, E. K. and S, M. (1995). On the application of
measurement theory in software engineering. Techni-
cal report, ISER Technical Report.
Chidamber, S. and Kemerer, C. (1994). A Metric Suite for
Object- Oriented Design. IEEE Transactions on Soft-
ware Engineering, 20(6):476–493.
David, F., Thomas, G., Lawall, J., and Muller, G. (2014).
Continuously measuring critical section pressure with
the free-lunch profiler. SIGPLAN Not., 49(10):291–
307.
EJ, W. (1988). Evaluating software complexity mea-
sure. IEEE Transactions on software Engineering,
14(9):1357–1365.
Espinosa, A., Margalef, T., and Luque, E. (1998). Auto-
matic performance evaluation of parallel programs. In
Euromicro Workshop on Parallel and Distributed Pro-
cessing, pages 43—-49.
Fenton, N. and Pfleeger, S. (1997). Software Metrics:
A Rigorous and Practical Approach. International
Thomson Computer Press, London, UK, second edi-
tion.
Garg, V. K. (2004). Concurrent and Distributed Computing
in Java. John Wiley fsSons, Inc., USA.
G
¨
oetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D.,
and Lea, D. (2006). Java Concurrency In Practice.
Addison Wesley Professional.
Grama, A., Gupta, A., Karypis, G., and Kumar, V. (2003).
Introduction to Parallel Computing, Second Edition.
Addison-Wesley.
H, Z. (1992). On weyuker’s axioms for software complexity
measures. Software Quality Journal, 1(4):225–260.
Ji, M., Felten, E. W., and Li, K. (1998). Performance mea-
surements for multithreaded programs. In ACM SIG-
METRICS Joint IC on Measurement and Modeling of
Computer Systems, pages 161–170. ACM.
Mark Harris. Optimizing Parallel Reduction in CUDA.
https://docs.nvidia.com/cuda/. Online; accessed 25
January 2022.
Misra, S. and Akman, I. (2008). Applicability of weyuker’s
properties on oo metrics: Some misunderstandings.
Computer Science and Information Systems, 5(1):17–
23.
Raynal, M. (2013). Concurrent Programming: Algorithms,
Principles, and Foundations. Springer-Verlag Berlin
Heidelberg.
Shah, M. D. and Guyer, S. Z. (2016). Iceberg: A tool for
static analysis of java critical sections. In ACM SIG-
PLAN International Workshop on State Of the Art in
Program Analysis, pages 7–12. ACM.
Shah, M. D. and Guyer, S. Z. (2018). Iceberg: Dy-
namic analysis of java synchronized methods for in-
vestigating runtime performance variability. In IS-
STA/ECOOP Workshops, pages 119–124. ACM.
Yin, R. K. (2008). Case Study Research: Design and Meth-
ods (Applied Social Research Methods). Sage Publi-
cations, fourth edition. edition.
Towards an Overhead Estimation Model for Multithreaded Parallel Programs
509