Title: Adaptive parallel computation for heterogeneous processors
Description: Parallel computers are becoming increasingly heterogeneous, with processors of differing performance characteristics. Conventional programming models provide abstract interfaces for portability, but assume that processors are homogeneous. Using conventional models on a heterogeneous computer will drag the throughput of each processor down to the throughput of the slowest. This dissertation introduces a new parallel programming model to solve this problem; the desynchronizing file system (DesyncFS). DesyncFS programmers express their computation as a graph. The programmer writes functions that define how things are computed and what they depend on, but does not control when or where execution takes place. Locality is specified by embedding the computation graph in a multidimensional file. The programmer maps computations to file addresses so that computations that are close in the file space have greater locality than those that are far apart. With control over execution and information on application locality, the DesyncFS runtime has all it needs to dynamically adjust the computation to the parallel computer at runtime. In the experiments, the prototype harnesses up to 58% of the computes cycles that would be lost using more conventional methods.