This Article 
 Bibliographic References 
 Add to: 
Designing Process Replication and Activation: A Quantitative Approach
December 2000 (vol. 26 no. 12)
pp. 1168-1178

Abstract—Distributed application systems are composed of classes of objects with instances that interact to accomplish common goals. Such systems can have many classes of users with many types of requests. Furthermore, the relative load of these classes can shift throughout the day causing changes to system behavior and bottlenecks. When designing and deploying such systems it is necessary to determine a process replication and threading policy for the server processes that contain the objects, as well as process activation policies. To avoid bottlenecks the policy must support all possible workload conditions. Licensing, implementation, or resource constraints can limit the number of permitted replicas or threads of a server process. Process activation policies determine whether a server is persistent or should be created and terminated with each call. The purpose of this paper is to describe quantitative techniques for choosing process replication or threading levels and process activation policies. Inappropriate policies can lead to unnecessary queuing delays for callers or unnecessarily high consumption of memory resources. The algorithms presented consider all workload conditions, are iterative in nature, and are hybrid mathematical programming and analytic performance evaluation methods. An example is given to demonstrate the technique and describe how the results can be applied during software design and deployment.

[1] G. Balbo and G. Serazzi, “Asymptotic Analysis of Multiclass Closed Queuing Networks: Common Bottlenecks,” Performance Evaluation Journal, vol. 26, pp. 51–72, 1996.
[2] G. Balbo and G. Serazzi, “Asymptotic Analysis of Multiclass Closed Queuing Networks: Multiple Bottlenecks,” Performance Evaluation Journal, vol. 30, pp. 115–152, July 1997.
[3] M.S. Bazaraa, H.D. Sherali, and C.M. Shetty, Nonlinear Programming. John Wiley&Sons, 1993.
[4] K.M. Chandy and D. Neuse, “Linearizer: A Heuristic Algorithm for Queueing Network Models of Computing Systems,” Comm. ACM, vol. 25, no. 2, pp. 126-134, 1982.
[5] H.W. Lockhart Jr.,OSF DCE Guide to Developing Distributed Applications. McGraw Hill, 1994.
[6] G. Hills, J. Rolia, and G. Serazzi, “Performance Engineering of Distributed Software Process Architectures,” Proc. Seventh Int'l Conf. Modelling Techniques and Tools for Computer Performance Evaluation (Tools '95) Springer-Verlag, vol. 977, pp. 79–85, 1995.
[7] C.E. Hrischuck, J. Rolia, and C.M. Woodside, “Automatic Generation of a Software Performance Model Using an Object Oriented Prototype,” Proc. MASCOTS, pp. 399–409, Jan. 1995.
[8] E.D. Lazowska, J. Zahorjan, G.S. Graham, and K.C. Sevcik, Quantitative System Performance, Prentice Hall, pp 64-66, 1984.
[9] M. Litoiu, H. Khafagy, B. Qin, A.W. Rass, and J. Rolia, “A Performance Engineering Tool and Method for Distributing Applications,” Proc. Consortium for Software Eng. Research Conf., pp. 82–95, Nov. 1997.
[10] R. Orfali and D. Harkey, Client/Server Programming with JAVA and CORBA. John Wiley&Sons, 1997.
[11] M. Qin, A. Rayess, V. Vetland, and J. Rolia, “Automatic Generation of Performance Models for Distributed Application Systems,” Proc. Consortium for Software Eng. Research Conf., (CD-ROM), Nov. 1996.
[12] M. Reiser and S. Lavenberg, “Mean-Value Analysis of Closed Multichain Queueing Networks,” J. ACM, vol. 27, no. 2, pp. 313-322, 1980.
[13] J. Rolia and K. Sevcik, “The Method of Layers,” IEEE Tran. Software Eng., vol. 21, no. 8, pp. 689–700, Aug. 1995.
[14] G. Seigel, CORBA Fundamentals and Programming. John Wiley&Sons, 1996.
[15] F. Sheikh, J. Rolia, P. Garg, S. Frolund, and A. Shepherd, “Performance Evaluation of Distributed Application Design,” Proc. Wrodan Centre of Networking and Supercomputing Conf., pp. 247–254, Sept. 1997.
[16] P.J. Schweitzer, G. Serazzi, and M. Broglia, “A Queue-Shift Approximation Technique for Product-Form Queuing Networks,” Proc. Tenth Int'l Conf. Modelling Techniques and Tools for Computer Performance Evaluation (Tools '98), vol. 1,469 pp. 267–279, 1998.
[17] E. de Souza e Silva and R.R. Muntz, “A Note on the Computational Cost of the Linearizer Algorithm,” IEEE Trans. Computers, vol. 39, no. 6, pp. 840-842, June 1990.
[18] 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.

Index Terms:
Distributed systems, closed queuing networks, performance analysis, performance modeling, software design, distributed design, nonlinear programming, linear programming.
Marin Litoiu, Jerome Rolia, Giuseppe Serazzi, "Designing Process Replication and Activation: A Quantitative Approach," IEEE Transactions on Software Engineering, vol. 26, no. 12, pp. 1168-1178, Dec. 2000, doi:10.1109/32.888630
Usage of this product signifies your acceptance of the Terms of Use.