The phenomenon of software congestion is examined. The term refers to situations in which the performance bottleneck of a system is an element of software, rather than a hardware device. Software congestion can occur in any system which contains one or more elements of software whose services may be simultaneously desired by multiple clients, but which can service only one client at a time. It is shown that the use of models which ignore software congestion can produce results that are completely irrelevant to actual system behavior. Furthermore, software congestion is frequently invisible to conventional performance measurement tools. A notational scheme, called mobile servers representation, is introduced for describing those systems in which software congestion may be important. An approximate analytical model, called the hyperbolic model, is developed for analyzing systems with software congestion. >
Read full abstract