Skip to main content
Log in

Performance evaluation of fork and join synchronization primitives

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

The paper presents a performance model of fork and join synchronization primitives. The primitives are used in parallel programs executed on distributed systems. Three variants of the execution of parallel programs with fork and join primitives are considered and queueing models are proposed to evaluate their performance on a finite number of processors. Synchronization delays incurred by the programs are represented by a state-dependent server with service rate depending on a particular synchronization scheme. Closed form results are presented for the two processor case and a numerical method is proposed for many processors. Fork-join queueing networks having more complex structure i.e., processors arranged in series and in parallel, are also analyzed in the same manner. The networks can model the execution of jobs with a general task precedence graph corresponding to a nested structure of the fork-join primitives. Some performance indices of the parallel execution of programs are studied. The results show that the speedup which can be obtained theoretically in a parallel system may be decreased significantly by synchronization constraints.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Baccelli, F., Makowski, A.M.: Simple Computable Bounds for the Fork-Join Queue. Proc. John Hopkins Conf. Information Sciences and Systems, John Hopkins University, 1985

  2. Baccelli, F., Massey, W.A.: Series-Parallel, Fork-Join Queueing Networks and their Stochastic Ordering. Bell Labs. Technical Memorandum 11211-851101-36, November 1985 Murray Hill

  3. Brandwajn, A.: Equivalence and Decomposition in Queueing Systems — A Unified Approach. Performance Eval. 5, 175–186 (1985)

    Article  MathSciNet  Google Scholar 

  4. Carlson, B.C.: Special Functions of Applied Mathematics. New York: Academic Press 1977

    MATH  Google Scholar 

  5. Chandy, K.M., Herzog, U., Woo, L.: Parametric Analysis of Queueing Networks. IBM J. Res. Develop. 19, 36–42 (1975)

    Article  MathSciNet  Google Scholar 

  6. Conway, M.: A Multiprocessor System Design. In: Proc. AFIPS 1963 Fall Joint Computer Conference, 1963 Vol. 24, pp. 139–146. Baltimore, Maryland: Spartan Books

    Google Scholar 

  7. Courtois, P.J.: Decomposability, Instabilities and Saturation in Multiprogramming Systems. Commun. Assoc. Comput. Mach. 18, 371–377 (1975)

    MATH  Google Scholar 

  8. Courtois, P.J.: Decomposability: Queueing and Computer Applications. New York: Academic Press 1977

    MATH  Google Scholar 

  9. Crane, M.A., Lemoine, A.J.: An Introduction to the Regenerative Method for Simulation Analysis. Berlin, Heidelberg, New York: Springer 1977

    Book  Google Scholar 

  10. Dijkstra, E.W.: Co-operating Sequential Processes. In: Programing Languages, F. Genuys, (ed.). pp. 43–112. New York: Academic Press 1968

    Google Scholar 

  11. Flatto, L., Hahn, S.: Two Parallel Queues Created by Arrivals with Two Demands, SIAM J. Appl. Math. 1041–1053 (1984)

    Article  MathSciNet  Google Scholar 

  12. Heidelberger, P., Trivedi, S.K.: Queueing Network Models for Parallel Processing of Asynchronous Tasks, IEEE Trans. Comput. 31, 1099–1109 (1982)

    Article  Google Scholar 

  13. Heidelberger, P., Trivedi, S.K.: Analytic Queueing Models for Programs with Internal Concurrency. IEEE Trans Comput. 32, 73–82 (1983)

    Article  Google Scholar 

  14. Kanakia, H., Tobagi, F.A.: Theoretical Results on Distributing Processing with Limited Computing Resources. Stanford University, SEL Technical Report No. 85-273, April 1985

  15. Kleinrock, L.: Distributed Systems. Comm. Assoc. Comput. Mach. 28, 1200–1213 (1985)

    Google Scholar 

  16. Miller, B.P.: Performance Characterization of Distributed Programs. Ph.D. Dissertation, Report No. UCB/CSD84/197. University of California, Berkeley, August 1984

    Google Scholar 

  17. Nelson, R., Tantawi, A.N.: Approximate Analysis of Fork/Join Synchronization in Parallel Queues, IBM Research Report RC 11481, to be published in IEEE Trans. on Comput. October 1985

  18. Peterson, J.L., Silberschatz, A.: Operating System Concepts. Second Edition, Reading: Addison-Wesley 1985

    MATH  Google Scholar 

  19. Potier, D., Veran, M.: The Markovian Solver of QNAP2 and Examples. In: Proc. Int. Seminar Computer Networking and Performance Evaluation, T. Hasegawa (ed.) 1985

  20. Sevcik, K.C., Levy, A.I., Tripathi, S.K., Zahorjan, J.L.: Improving Approximations of Aggregated Queuing Network Subsystems. In: Computer Performance. K.M. Chandy, M. Reiser (eds.) pp. 1–22, Amsterdam: North-Holland, 1977

    Google Scholar 

  21. Tripathi, S.K.: On Detecting Parallelism in Software. J. Syst. Software 1, pp. 133–135 (1986)

    Article  Google Scholar 

  22. Veran, M., Potier, D.: QNAP2: a Portable Environment for Queueing Systems Modelling. In: Modelling Techniques and Tools for Performance Analysis, D. Potier (ed.) Amsterdam: North-Holland 1985

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research we carried out while the author was visiting ISEM, Université de Paris-Sud, France

Rights and permissions

Reprints and permissions

About this article

Cite this article

Duda, A., Czachórski, T. Performance evaluation of fork and join synchronization primitives. Acta Informatica 24, 525–553 (1987). https://doi.org/10.1007/BF00263293

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00263293

Keywords

Navigation