Partitioning tasks between a pair of interconnected heterogeneous processors: A case study

David J. Lilja

Research output: Contribution to journalArticlepeer-review

3 Scopus citations


With the variety of computer architectures available today, it is often difficult to determine which particular type of architecture will provide the best performance on a given application program. In fact, one type of architecture may be well suited to executing one section of a program while another architecture may be better suited to executing another section of the same program. One potentially promising approach for exploiting the best features of different computer architectures is to partition an application program to simultaneously execute on two or more types of machines interconnected with a high‐speed communication network. A fundamental difficulty with this heterogeneous computing, however, is the problem of determining how to partition the application program across the interconnected machines. The goal of this paper is to show how a programmer or a compiler can use a model of a heterogeneous system to determine the machine on which each subtask should be executed. This technique is illustrated with a simple model that relates the relative performance of two heterogeneous machines to the communication time required to transfer partial results across their interconnection network. Experiments with a Connection Machine CM‐200 demonstrate how to apply this model to partition two different application programs across the sequential front‐end processor and the parallel back‐end array.

Original languageEnglish (US)
Pages (from-to)209-223
Number of pages15
JournalConcurrency: Practice and Experience
Issue number3
StatePublished - May 1995
Externally publishedYes


Dive into the research topics of 'Partitioning tasks between a pair of interconnected heterogeneous processors: A case study'. Together they form a unique fingerprint.

Cite this