The confluence of computing and communication has produced an explosion of network-based applications. Numerous examples can be drawn from web-based applications, interactive simulations, gaming, visualization, and collaborative environments. Current approaches to the development of network-based applications are still based on a CPU-centric model using node architectures optimized for uniprocessor or small-scale multiprocessor applications. This can lead to significant inefficiencies for distributed applications.
This project explores an architecture for the support of emerging network-based applications whereby selected application-level computations are executed within network interfaces (NIs). The focus is on networks of workstations (NOW) that have emerged as a viable high performance computational vehicle. Within this context the project will support applications with substantial computation and data manipulation requirements. Such high performance programs are drawn from three different application domains: scientific simulation, computer vision and image processing, and computer graphics. The unique aspect of the approach to supporting these classes of programs is the use of extensible network interfaces, where extension concerns programs executed both on the low cost microprocessors resident on NIs and on additional, programmable and NI-associated hardware in the form of field programmable gate arrays (FPGAs). Specifically, the project will demonstrate (1) the use of FPGAs to implement data-intensive computations and (2) the use of the NIs' microprocessors to handle associated meta-information and perform computationally non-intensive operations best performed "close" to the network. Extensibility for NIs will be attained by development of a flexible and extensible virtual communication machine. The project refers to such enhanced networks as Active System Area Networks (ASANs).
The key research issues are (1) to understand and demonstrate an ASAN's ability to perform selected computations and services more efficiently than host CPUs and to explore the effects and trade-offs of off-loading certain functionality from host CPUs to the ASAN, (2) to develop the programming model that enables the efficient and application-specific use of the ASAN's computational resources, and (3) to create an ASAN software architecture that is low overhead and easily extensible.
The approach to the proposed research is experimental. It includes construction of a testbed, implementation of selected NI extensions for use by the three classes of parallel/distributed applications investigated in this work and performance evaluation of the resulting system/application performance. Successful demonstration of the>approach will have a major impact the way future multimedia network applications are designed, optimized, and supported.