Software Bottlenecking in Client-Server Systems and Rendezvous Networks

  • Authors:
  • J. E. Neilson;C. M. Woodside;D. C. Petriu;S. Majumdar

  • Affiliations:
  • -;-;-;-

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.