Efficient collective data transfer mechanisms for high-performance parallel and distributed computing environments

Date of Award


Degree Type


Degree Name

Doctor of Philosophy (PhD)


Electrical Engineering and Computer Science


Alok Choudhary


Parallel processing, Collective data, Transfer, Distributed computing

Subject Categories

Computer Sciences


Advances in computing and networking infrastructure have enabled an increasing number of applications to utilize resources that are geographically distributed. High-performance distributed computing environments present significant new problems and opportunities for programming language designers, compiler implementors, and runtime system developers. This thesis addresses several issues in providing efficient mechanisms for collective data transfer among sets of processes in distributed environments. In particular, it examines how such mechanisms are employed in two contexts to achieve high performance in application programs. The techniques are designed to provide efficiency, portability, and ease of programming.

Many scientific applications need to access data resources from multiple locations in a distributed computing environment. This thesis presents the design and implementation of a system called RIO that provides remote I/O functionality. Programs use familiar parallel I/O interfaces to access remote file systems. The RIO library offers significant performance, flexibility, and convenience advantages over existing techniques for remote data access such as manual staging and deployment of distributed file systems. Mechanisms provided by the Globus Metacomputing Toolkit are used to support the integration of the library in a distributed environment. Experiments using synthetic benchmarks and real applications that use RIO demonstrate performance benefits over staging techniques and current distributed file systems.

Programming models for distributed systems will need to exploit all types of parallelism within application domains. By utilizing a mixture of both task and data parallelism in parallel applications, one may extend the range of problems that can be solved efficiently beyond what is possible with pure data-parallel programming languages (such as High Performance Fortran) alone. This thesis proposes a programming model where common parallel program structures can be represented, with only minor extensions to the HPF model, by using a coordination library based on the Message Passing Interface (MPI). This library allows data-parallel tasks to exchange distributed data structures using calls to simple communication functions. Experiments with microbenchmarks and applications characterize the performance of this library and quantify the impact of various optimizations. These results demonstrate that the HPF/MPI library can provide performance superior to that of pure HPF.


Surface provides description only. Full text is available to ProQuest subscribers. Ask your Librarian for assistance.