A distributed heterogeneous computing environment

Stephen L. Scott, Jerry L. Potter · 1996

This dissertation explores distributed heterogeneous computing from philosophy and design to development. The result of this work is the new programming paradigm, Heterogeneous Associative Computing (HAsC), which is a combination of associative computing and heterogeneous computing as related to superconcurrency. Heterogeneous computing comes from the realization that no one architecture is capable of performing all tasks well. Thus various architectural components are combined into one heterogeneous system. Superconcurrency aims to optimally distribute tasks to various machines such that the maximum performance is achieved for the overall problem. Associative computing principles have generally been used to facilitate the execution of programs on a homogeneous group of processors within a single physical machine. HAsC broadens the reach of associative computing such that it now encompasses the execution of programs on distributed networks of heterogeneous machines. The original concept of associative computing considers the datum-PE as a computation cell whereas HAsC considers data-machine as a cell. Data, within the context of HAsC, refers to large data structures such as files or groups of files rather than simple data structures, while machine refers to complex processor(s) or physical machine(s) rather than a simple PE. HAsC also utilizes the associative computing broadcast mechanism to communicate instructions and parameters to each cell. This broadcast mechanism combined with the associative search selection (instruction-parameter-data type) produces a late run-time binding which enables polymorphism. Using associative search techniques, each cell decides locally whether it should execute a received instruction and whether it should accept a passed parameter. Thus HAsC embodies an associative computing-data parallel programming paradigm with a large grain instruction data flow control of polymorphic instructions on distributed networks of heterogeneous machines. Some of the advantages of HAsC include: simplified programming of distributed networks of heterogeneous machines, machine and data independence of algorithms, scalability, software reusability, and dynamic network configurations.

Read the paper · More papers on PaperTik