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.
Similar content being viewed by others
References
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
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
Brandwajn, A.: Equivalence and Decomposition in Queueing Systems — A Unified Approach. Performance Eval. 5, 175–186 (1985)
Carlson, B.C.: Special Functions of Applied Mathematics. New York: Academic Press 1977
Chandy, K.M., Herzog, U., Woo, L.: Parametric Analysis of Queueing Networks. IBM J. Res. Develop. 19, 36–42 (1975)
Conway, M.: A Multiprocessor System Design. In: Proc. AFIPS 1963 Fall Joint Computer Conference, 1963 Vol. 24, pp. 139–146. Baltimore, Maryland: Spartan Books
Courtois, P.J.: Decomposability, Instabilities and Saturation in Multiprogramming Systems. Commun. Assoc. Comput. Mach. 18, 371–377 (1975)
Courtois, P.J.: Decomposability: Queueing and Computer Applications. New York: Academic Press 1977
Crane, M.A., Lemoine, A.J.: An Introduction to the Regenerative Method for Simulation Analysis. Berlin, Heidelberg, New York: Springer 1977
Dijkstra, E.W.: Co-operating Sequential Processes. In: Programing Languages, F. Genuys, (ed.). pp. 43–112. New York: Academic Press 1968
Flatto, L., Hahn, S.: Two Parallel Queues Created by Arrivals with Two Demands, SIAM J. Appl. Math. 1041–1053 (1984)
Heidelberger, P., Trivedi, S.K.: Queueing Network Models for Parallel Processing of Asynchronous Tasks, IEEE Trans. Comput. 31, 1099–1109 (1982)
Heidelberger, P., Trivedi, S.K.: Analytic Queueing Models for Programs with Internal Concurrency. IEEE Trans Comput. 32, 73–82 (1983)
Kanakia, H., Tobagi, F.A.: Theoretical Results on Distributing Processing with Limited Computing Resources. Stanford University, SEL Technical Report No. 85-273, April 1985
Kleinrock, L.: Distributed Systems. Comm. Assoc. Comput. Mach. 28, 1200–1213 (1985)
Miller, B.P.: Performance Characterization of Distributed Programs. Ph.D. Dissertation, Report No. UCB/CSD84/197. University of California, Berkeley, August 1984
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
Peterson, J.L., Silberschatz, A.: Operating System Concepts. Second Edition, Reading: Addison-Wesley 1985
Potier, D., Veran, M.: The Markovian Solver of QNAP2 and Examples. In: Proc. Int. Seminar Computer Networking and Performance Evaluation, T. Hasegawa (ed.) 1985
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
Tripathi, S.K.: On Detecting Parallelism in Software. J. Syst. Software 1, pp. 133–135 (1986)
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
Author information
Authors and Affiliations
Additional information
This research we carried out while the author was visiting ISEM, Université de Paris-Sud, France
Rights 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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF00263293