TimeBench/SRVN is a prototype toolset for computer-aided design and performance analysis of software, with an emphasis on distributed client-server systems. The performance behaviour of such systems may defy intuition because it involves factors in the software design (such as the partitioning of the functionality and the frequency with which requests will be made to each server) and in the configuration of the distributed system (including replication of services, the distribution of data, and the speed of network access). The novelty of the tool consists in providing support both for developing design specifications and also for performance analysis. The integrated approach avoids the semantic gap between a designer's domain and the performance modeling domain, and assists the designer to explore factors that impact the performance of a design. The performance models are based on the Stochastic Rendezvous Network (SRVN) formalism for client-server systems with synchronous service requests. The distinctive features of SRVNs are nested services (since servers can also act as clients to other servers) and the existence of two or more phases of service (the first executed while the client is blocked, and the others executed in parallel with the client). TimeBench/SRVN is intended as a demonstration of the concept of an integrated designer/performance interface, and as a research environment for fast analytic solvers for the models. Besides a simulation solver, it offers three approximate analytic solvers based on recent research, a Markovian solver, a technique for finding bounds on the throughput without too many assumptions, and a tool for rapidly exploring the space of possible parameter values.

Additional Metadata
Keywords Client-server systems, Distributed systems, Layered system models, Performance modeling, Performance tools, Queueing networks, Software performance engineering
Persistent URL dx.doi.org/10.1016/0166-5316(95)96869-T
Journal Performance Evaluation
Citation
Franks, G, Hubbard, A. (Alex), Majumdar, S, Neilson, J. (John), Petriu, D, Rolia, J. (Jerome), & Woodside, M. (Murray). (1995). A toolset for performance engineering and software design of client-server systems. Performance Evaluation, 24(1-2), 117–136. doi:10.1016/0166-5316(95)96869-T