4.6 Applications and Support Tools
The testbeds, through experimentation using a variety of representative applications, provided major advancements in the understanding of distributed application problems and in the development of related software support tools. Work in this area led to direct scientific and technology advancements in particular application domains, and more generally mapped out new approaches to solving very large computational problems.
From a networking perspective, the application investigations can be grouped into two categories: those in which network interaction is only between computers, and those which involve human interaction. Applications in the first group ("distributed computation") attempt to minimize the wall-clock time required for a given problem, whereas applications in the second group ("human interaction") are concerned with providing a response to human input within a time deemed acceptable by the user.
For distributed computation, as processing power increases, the time for an incremental computation decreases, requiring proportionally higher network data rates to allow communication exchanges to keep up with computation (for a given problem size). As the transmission time becomes smaller due to the higher data rate, communication latency across the network becomes dominated by the speed-of-light propagation delay. For applications requiring two-way data exchanges between machines, this can cause further speedup gains to diminish as incremental computation time becomes smaller than the propagation delay.
This is illustrated in Figure 4-17A, where propagation delay causes both hosts to stop and wait for their next data input. In the one-way exchange shown in Figure 4-17B, on the other hand, propagation delay only affects the start of host B's timeline.
Figure 4-17. Pipelining and Propagation Delay
In many problems involving human interaction, on the other hand, a response time of from one to several seconds is acceptable to users, depending on user expectations and the cost associated with waiting for a response. Since the propagation time for light through an optical fiber spanning the US is on the order of 30 milliseconds, propagation latency should not normally pose a problem for data communications directly involving the user. However, applications in the human interaction category may also involve two-way or n-way distributed computation as part of the processing initiated by user input. Thus even though the total computation interval for the user response may be on the order of one second or more, propagation latencies could still prevent the computation from being completed within the desired user response time.
In the following, testbed results are first presented for `pure' distributed computation applications, followed by applications involving human interaction. The last part of this section summarizes testbed work which was focused on the development of software for supporting applications in a distributed heterogeneous metacomputing environment.