Acta Informatica

, Volume 24, Issue 5, pp 525–553 | Cite as

Performance evaluation of fork and join synchronization primitives

  • Andrzej Duda
  • Tadeusz Czachórski


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.


Computational Mathematic Performance Model Closed Form Performance Index Service Rate 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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, 1985Google Scholar
  2. 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 HillGoogle Scholar
  3. 3.
    Brandwajn, A.: Equivalence and Decomposition in Queueing Systems — A Unified Approach. Performance Eval. 5, 175–186 (1985)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Carlson, B.C.: Special Functions of Applied Mathematics. New York: Academic Press 1977zbMATHGoogle Scholar
  5. 5.
    Chandy, K.M., Herzog, U., Woo, L.: Parametric Analysis of Queueing Networks. IBM J. Res. Develop. 19, 36–42 (1975)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Conway, M.: A Multiprocessor System Design. In: Proc. AFIPS 1963 Fall Joint Computer Conference, 1963 Vol. 24, pp. 139–146. Baltimore, Maryland: Spartan BooksGoogle Scholar
  7. 7.
    Courtois, P.J.: Decomposability, Instabilities and Saturation in Multiprogramming Systems. Commun. Assoc. Comput. Mach. 18, 371–377 (1975)zbMATHGoogle Scholar
  8. 8.
    Courtois, P.J.: Decomposability: Queueing and Computer Applications. New York: Academic Press 1977zbMATHGoogle Scholar
  9. 9.
    Crane, M.A., Lemoine, A.J.: An Introduction to the Regenerative Method for Simulation Analysis. Berlin, Heidelberg, New York: Springer 1977CrossRefGoogle Scholar
  10. 10.
    Dijkstra, E.W.: Co-operating Sequential Processes. In: Programing Languages, F. Genuys, (ed.). pp. 43–112. New York: Academic Press 1968Google Scholar
  11. 11.
    Flatto, L., Hahn, S.: Two Parallel Queues Created by Arrivals with Two Demands, SIAM J. Appl. Math. 1041–1053 (1984)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Heidelberger, P., Trivedi, S.K.: Queueing Network Models for Parallel Processing of Asynchronous Tasks, IEEE Trans. Comput. 31, 1099–1109 (1982)CrossRefGoogle Scholar
  13. 13.
    Heidelberger, P., Trivedi, S.K.: Analytic Queueing Models for Programs with Internal Concurrency. IEEE Trans Comput. 32, 73–82 (1983)CrossRefGoogle Scholar
  14. 14.
    Kanakia, H., Tobagi, F.A.: Theoretical Results on Distributing Processing with Limited Computing Resources. Stanford University, SEL Technical Report No. 85-273, April 1985Google Scholar
  15. 15.
    Kleinrock, L.: Distributed Systems. Comm. Assoc. Comput. Mach. 28, 1200–1213 (1985)Google Scholar
  16. 16.
    Miller, B.P.: Performance Characterization of Distributed Programs. Ph.D. Dissertation, Report No. UCB/CSD84/197. University of California, Berkeley, August 1984Google Scholar
  17. 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 1985Google Scholar
  18. 18.
    Peterson, J.L., Silberschatz, A.: Operating System Concepts. Second Edition, Reading: Addison-Wesley 1985zbMATHGoogle Scholar
  19. 19.
    Potier, D., Veran, M.: The Markovian Solver of QNAP2 and Examples. In: Proc. Int. Seminar Computer Networking and Performance Evaluation, T. Hasegawa (ed.) 1985Google Scholar
  20. 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, 1977Google Scholar
  21. 21.
    Tripathi, S.K.: On Detecting Parallelism in Software. J. Syst. Software 1, pp. 133–135 (1986)CrossRefGoogle Scholar
  22. 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 1985Google Scholar

Copyright information

© Springer-Verlag 1987

Authors and Affiliations

  • Andrzej Duda
    • 1
  • Tadeusz Czachórski
    • 2
  1. 1.Laboratoire d'Informatique des Systèmes Expérimentaux et de leur ModélisationISEM, Université de Paris-SudOrsayFrance
  2. 2.Department of Complex Control SystemsPolish Academy of SciencesGliwicePoland

Personalised recommendations