A New Metric for Multithreaded Parallel Programs Overhead Time Prediction

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2022)

Abstract

The paper proposes a metric that evaluates the overhead introduced into parallel programs by the additional operations that parallelism implicitly imposes. We consider the case of multithreaded parallel programs that follows SPMD (Single Program Multiple Data) model. 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 that could be discovered using the source code analysis. A theoretical validation of this metric is presented, and an empirical evaluation of several use cases. Additionally, we propose an Artificial Intelligence based strategy to refine the evaluation of the metric by obtaining approximation for the weights that are used in combining the considered atomic metrics. The methodology of the approach is statistical using the multiple linear regression, which considers as dependent variable the execution times of different concrete use-cases, and as independent variables the corresponding overhead times introduced by the considered synchronization mechanisms, which are approximated through the atomic metrics. The results indicated a high degree of correlation between the dependent and independent variables. The Root Mean Square Error obtained is 0.155186, thus being very small, the predicted and observed values are very close.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    source https://docs.nvidia.com/cuda/samples/6_Advanced/reduction/doc/reduction.pdf.

  2. 2.

    The complete code could be accessed at the following URL: “shorturl.at/bjlmT”.

References

  1. Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: AFIPS Computer Conference, pp. 483–485 (1967)

    Google Scholar 

  2. Kitchenham, B., Fenton, N.: Towards a framework for software measurement validation. IEEE Trans. Softw. Eng. 21(12), 929–943 (1995)

    Google Scholar 

  3. Briand, L.C., EK, S.M.: On the application of measurement theory in software engineering. Tech. rep., ISER Technical Report (1995)

    Google Scholar 

  4. Chidamber, S., Kemerer, C.: A metric suite for object- oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  5. David, F., Thomas, G., Lawall, J., Muller, G.: Continuously measuring critical section pressure with the free-lunch profiler. SIGPLAN Not. 49(10), 291–307 (2014)

    Article  Google Scholar 

  6. Espinosa, A., Margalef, T., Luque, E.: Automatic performance evaluation of parallel programs. In: Euromicro Workshop on Parallel and Distributed Processing, pp. 43–49 (1998)

    Google Scholar 

  7. Garg, V.K.: Concurrent and Distributed Computing in Java. John Wiley fsSons Inc, USA (2004)

    Book  Google Scholar 

  8. Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing, Second Edition. Addison-Wesley (2003)

    Google Scholar 

  9. Göetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., Lea, D.: Task execution. Java Concurr. Pract, 113–134. Addison Wesley Professional (2006)

    Google Scholar 

  10. Harris, M.: Optimizing Parallel Reduction in CUDA. https://docs.nvidia.com/cuda/. Accessed 25 Jan 2022

  11. Ji, M., Felten, E.W., Li, K.: Performance measurements for multithreaded programs. In: ACM SIGMETRICS Joint IC on Measurement and Modeling of Computer Systems, pp. 161–170. ACM (1998)

    Google Scholar 

  12. Lederer, J.: Tuning-Parameter calibration. In: Fundamentals of High-Dimensional Statistics. STS, pp. 109–137. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-73792-4_4

    Chapter  MATH  Google Scholar 

  13. Misra, S., Akman, I.: Applicability of Weyuker’s properties on OO metrics: some misunderstandings. Comput. Sci. Inf. Syst. 5(1), 17–23 (2008)

    Article  Google Scholar 

  14. Niculescu., V., Şerban., C., Vescan., A.: Towards an overhead estimation model for multithreaded parallel programs. In: Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE, pp. 502–509. INSTICC, SciTePress (2022). https://doi.org/10.5220/0011083400003176

  15. Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations. Springer-Verlag, Berlin Heidelberg (2013)

    Book  MATH  Google Scholar 

  16. Shah, M.D., Guyer, S.Z.: Iceberg: a tool for static analysis of java critical sections. In: ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, pp. 7–12. ACM (2016)

    Google Scholar 

  17. Shah, M.D., Guyer, S.Z.: Iceberg: Dynamic analysis of java synchronized methods for investigating runtime performance variability. In: ISSTA/ECOOP Workshops, pp. 119–124. ACM (2018)

    Google Scholar 

  18. Weyuker, E.: Evaluating software complexity measure. IEEE Trans. Softw. Eng. 14(9), 1357–1365 (1988)

    Article  MathSciNet  Google Scholar 

  19. Zuse, H.: On Weyuker’s axioms for software complexity measures. Softw. Qual. J. 1(4), 225–260 (1992)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Virginia Niculescu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Niculescu, V., Şerban, C., Vescan, A. (2023). A New Metric for Multithreaded Parallel Programs Overhead Time Prediction. In: Kaindl, H., Mannion, M., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2022. Communications in Computer and Information Science, vol 1829. Springer, Cham. https://doi.org/10.1007/978-3-031-36597-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-36597-3_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-36596-6

  • Online ISBN: 978-3-031-36597-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation