Author

Date of Award

Degree Type

Degree Name

Department

Electrical Engineering and Computer Science

Advisor(s)

Alok Choudhary

Keywords

Parallel processing, Collective data, Transfer, Distributed computing

Subject Categories

Computer Sciences

Abstract

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.

Access

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