next up previous contents
Next: Dependability Up: Requirements Previous: Speed   Contents

Scale

Processing and data movement requirements of our environment cannot be met easily by monolithic systems. They have several major disadvantages:

These reasons drive the deployment of clusters built from commodity computing components. They have the numerous advantages (partly from [McC99,FGC$^$97]):

Spreading the workload over a large number of processors and network ports helps to overcome the limitations of processing power in single machines. A system that allows such graceful extension in order to meet its performance specification is said to be scalable. This quality becomes more and more important for the software part as it is difficult to manage large quantities of independent units. Furthermore multiplicative growth of messages in our system limits scalability. Each node has to keep state information about all other communication participants. It has been shown that at a number of about 700 communication partners and 300 threads to handle this load, 70% of processing is spent in the operating system kernel[FGC$^$97, pp. 86-87]. This exhibits one of the problems with we have to deal with when it comes to design of communication middleware.

Requirement 2 (Scalability)   Software for construction of a distributed data acquisition system shall support scalability of the cluster. Scalability means, that the increase of overhead with additional participants in the system is predictable (at best linear) and that the other performance requirements can be met.


next up previous contents
Next: Dependability Up: Requirements Previous: Speed   Contents
Johannes Gutleber
1999-10-29