This Article 
 Bibliographic References 
 Add to: 
Software Bottlenecking in Client-Server Systems and Rendezvous Networks
September 1995 (vol. 21 no. 9)
pp. 776-782
Software bottlenecks are performance constraints caused by slow execution of a software task. In typical client-server systems a client task must wait in a blocked state for the server task to respond to its requests, so a saturated server will slow down all its clients. A Rendezvous Network generalizes this relationship to multiple layers of servers with send-and-wait interactions (rendezvous), a two-phase model of task behavior, and to a unified model for hardware and software contention. Software bottlenecks have different symptoms, different behavior when the system is altered, and a different cure from the conventional bottlenecks seen in queueing network models of computer systems, caused by hardware limits. The differences are due to the “push-back” effect of the rendezvous, which spreads the saturation of a server to its clients. The paper describes software bottlenecks by examples, gives a definition, shows how they can be located and alleviated, and gives a method for estimating the performance benefit to be obtained. Ultimately, if all the software bottlenecks can be removed, the performance limit will be due to a conventional hardware bottleneck.

[1] C.M. Woodside, “Throughput Calculation for Basic Stochastic Rendezvous Networks,” Performance Evaluation, vol. 9, pp. 143-160, 1989.
[2] J.W. Miernik,C.M. Woodside,J.E. Neilson,, and D.C. Petriu,“Throughput of stochastic rendezvous networks with caller-specificservice and processor contention,” Proc. IEEE Infocom 88, pp. 1,040-1,049, Mar. 1988.
[3] C.M. Woodside, J.E. Neilson, D.C. Petriu, and S. Majumdar, “The Stochastic Rendezvous Network Model for the Performance of Synchronous Client-Server-Like Distributed Software,” IEEE Trans. Computer, vol. 44, no. 1, pp. 20–34, Jan. 1995.
[4] “Predicting the performance of software systems,” PhD thesis, Univ. of Toronto, May 1991.
[5] J. Bartlett, “A NonStop Kernel,” Proc. ACM Symp.Operating Systems Principles, ACM Press, New York, 1981, pp. 22‐29.
[6] G. Agha, ACTORS: A Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, Mass., 1986.
[7] QNX 4.0 User’s Guide.Kanata, Ontario, Canada: Quantum Software Systems, Apr. 1991.
[8] A.S. Tanenbaum et al., "Experiences with the Amoeba Distributed Operating System," Comm. ACM, Vol. 33, No. 12, Dec. 1990, pp. 46-63.
[9] Occam 2 Reference Manual.Englewood Cliffs, N.J.: Prentice-Hall, 1988.
[10] R.R. Muntz and J.W. Wong,“Asymptotic properties of closed queueing network models,” Proc. Eighth Princeton Conf. on Information Sciences and Systems, 1974.
[11] E.D. Lazowska, J. Zahorjan, G.S. Graham, and K.C. Sevcik, Quantitative System Performance, Prentice Hall, pp 64-66, 1984.
[12] M.J. Fontenot,“Software congestion, mobile servers, and the hyperbolic model,” IEEE Trans. on Software Engineering, vol. 15, pp. 947-962, 1989.
[13] D.C. Petriu and C.M. Woodside,“Approximate MVA from Markov model of software client/server systems,” Proc. Third IEEE Symp. on Parallel and Distributed Processing,Dallas, Dec. 1991.
[14] A.J. Borr and F. Putzolu,“High performance SQL through low-level integration,” Proc. SIGMOD 88, ACM SIGMOD Record, vol. 17, no. 3, pp. 342-349, Sept. 1988.
[15] H. Zeller,“Parallel query execution in nonstop SQL,” IEEE Spring COMPCON 90 Digest of Papers, pp. 484-487, Feb. 1990.
[16] I.F. Akyildiz and H.G. Perros, eds., Special issue of Performance Evaluation on Finite Queues With Blocking, vol. 10, no. 3, 1989.
[17] P.A. Jacobson and E.D. Lazowska,“Analyzing queueing networks with simultaneous resource possession,” Comm. ACM, vol. 25, no. 2, pp. 142-151, Feb. 1982.
[18] C.M. Woodside,S. Majumdar,J.E. Neilson,, and D.C. Petriu,“A guide to rendezvous network modelling of client-server softwaresystems,” Report SCE-91-22, Dept. of Systems and Computer Engineering, Carleton Univ., Ottawa, Apr. 1991.

Index Terms:
Performance bottlenecks, critical sections, software servers, client-server computing, layered queueing networks, distributed software engineering.
J.e. Neilson, C.m. Woodside, D.c. Petriu, S. Majumdar, "Software Bottlenecking in Client-Server Systems and Rendezvous Networks," IEEE Transactions on Software Engineering, vol. 21, no. 9, pp. 776-782, Sept. 1995, doi:10.1109/32.464543
Usage of this product signifies your acceptance of the Terms of Use.