As the CPU performance and communication bandwidth increase, distributed computing is becoming an attractive platform for high-performance computing. The Beowulf cluster is probably the most popular example of a system composed of (many) standard (or "off-the-shelf") components, connected by a communication medium that exchanges messages among the components of the system. Distributed systems can be tightly coupled, with a high-performance interconnecting network, or can be loosely connected by a local area network or even Internet.

In distributed applications, the total workload is divided among the processors of the system. One of the main performance characteristics of a distributed application is its speedup, which is usually defined as the ratio of the execution time on a single processor, T(1), to the execution time of the same workload on a system composed of N processors, T(N), S(N) = T(1)/T(N).

The speedup depends upon a number of factors which include the number of processors and their performances, the connections between the processors, the algorithm used for the distribution of the workload, etc. Some of these factors may be difficult to take into account when estimating the speedup of a distributed application. Therefore, in many cases, a simplified analysis is used to characterize the steady-state behavior of an application. This simplified analysis is based on a number of assumptions, such as a uniform distribution of workload among the processors, constant communication times, and so on.

The objective of this research is to analyze, in very general terms, the speedup which can be obtained in distributed environments. Using a number of simplifying assumptions, several classes of applications are outlined and the speedup, that can be obtained by distributed execution of an (idealized) application in each class, is analyzed. It appears that some applications scale quite well with the number of processors while others demostrate very strict limitations on the speedup, which simply means that a straightforward distribution of a sequential workload is not a satisfactory approach in such cases, and new algorithms are needed to use distributed environments in a more satisfactory way.

Specific projects in this area include:

- Distributed solution of sparse systems of linear equations
- Distributed state space generation for timed Petri nets
- Analysis of massively distributed applications
- Performance-oriented models of distributed applications
- The computation/communication ratio in performance analysis of distributed applications

Prev Page | Up to Main Page | Next Page |

*Copyright by W.M. Zuberek, All rights reserved.
Revised: 2004.08.01 : *
:2626