Using regression splines for software performance analysis

To make software performance prediction more powerful, execution demand functions must be measured over ranges of system parameters, preferably using scripts to automate the collection of large numbers of cases. Once data is collected it is natural to represent it by a regression function, and to interpolate using the function, to obtain parameters for models as they are needed. Although some practitioners have used linear functions, recent experience has shown that simple polynomial regression functions are often inadequate for these “resource functions”. They may be very irregular, even jagged. Regression splines offer a simple representation that can adapt to very irregular functions, and which can be fitted automatically. Resource functions offer an opportunity to gather enough data to provide whatever accuracy we require, by going back for more data after doing a partial fit. However regression splines do not have a strong theory of prediction errors. This research has addressed the estimation of accuracy of fit, and the control of the additional data gathering, to provide a controlled degree of error in the fitted function. A typical example shows the power of the technique.

[1]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[2]  Daniel A. Menascé,et al.  On a language based method for software performance engineering of client/server systems , 1998, WOSP '98.

[3]  Lawrence W. Dowdy,et al.  The impact of certain parameter estimation errors in queueing network models , 1980, SIGMETRICS Perform. Evaluation Rev..

[4]  Douglas C. Schmidt,et al.  ASX: An Object-Oriented Framework for Developing Distributed Applications , 1994, C++ Conference.

[5]  J. Freidman,et al.  Multivariate adaptive regression splines , 1991 .

[6]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[7]  Lawrence W. Dowdy,et al.  The impact of certain parameter estimation errors in queueing network models , 1980, Performance.

[8]  Jerome A. Rolia,et al.  Characterizing the resource demands of TCP/IP , 1995, HPCN Europe.

[9]  J. Neter,et al.  Applied linear statistical models : regression, analysis of variance, and experimental designs , 1974 .

[10]  Daniel A. Menascé,et al.  A Framework for Software Performance Engineering of Client/Server Systems , 1997, Int. CMG Conference.

[11]  Bran Selic,et al.  A wideband approach to integrating performance prediction into a software design environment , 1998, WOSP '98.

[12]  B. Efron Nonparametric standard errors and confidence intervals , 1981 .

[13]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[14]  Zhiwei Xu,et al.  Modeling communication overhead: MPI and MPL performance on the IBM SP2 , 1996, IEEE Parallel Distributed Technol. Syst. Appl..

[15]  J. Friedman,et al.  FLEXIBLE PARSIMONIOUS SMOOTHING AND ADDITIVE MODELING , 1989 .

[16]  Michael H. Kutner Applied Linear Statistical Models , 1974 .

[17]  Taylor L. Booth,et al.  Performance Abstract Data Types as a Tool in Software Performance Analysis and Design , 1980, IEEE Transactions on Software Engineering.

[18]  Shikharesh Majumdar,et al.  The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software , 1995, IEEE Trans. Computers.