Collective Parallel I/0
William Nitzberg
Committee:
Dissertation Defense(Dec 1969)
Keywords:

We attack this problem in three steps: we evaluate an early parallel I/0 system, the Intel iPSC/860 Concurrent File System; we design and analyze the performance of two classes of algorithms taking advantage of collective parallel 1/0; and we design MPI-10, a collective parallel I/0 interface likely to become the standard for portable parallel I/0.

The collective I/0 algorithms fall into two broad categories: data block scheduling and collective buffering. Data block scheduling algorithms attempt to schedule the individual data transfers to minimize resource contention and to optimize for particular hardware characteristics. We develop and evaluate three data block scheduling algorithms: Grouping, Random, and Sliding Window. The data block scheduling algorithms improved performance by as much as a factor of eight. The collective buffering algorithms permute the data before writing or after reading in order to combine small file accesses into large blocks. We design and test a series of four collective buffering algorithms and demonstrate improveĀ­ment in performance by two orders of magnitude over naive file I/0 for the hardĀ­est, three-dimensional distributions.