z-logo
open-access-imgOpen Access
Semi-automatic process partitioning for parallel computation
Author(s) -
Charles Koelbel,
Piyush Mehrotra,
John Van Rosendale
Publication year - 1987
Publication title -
international journal of parallel programming
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.255
H-Index - 34
eISSN - 1573-7640
pISSN - 0885-7458
DOI - 10.1007/bf01407902
Subject(s) - computer science , compiler , rewriting , theory of computation , task (project management) , parallel computing , process (computing) , locality , computation , memory hierarchy , workload , optimizing compiler , set (abstract data type) , programming language , distributed computing , operating system , cache , linguistics , philosophy , management , economics
Automatic process partitioning is the operation of automatically rewriting an algorithm as a collection of tasks, each operating primarily on its own portion of the data, to carry out the computation in parallel. Hybrid shared memory systems provide a hierarchy of globally accessible memories. To achieve high performance on such machines one must carefully distribute the work and the data so as to keep the workload balanced while optimizing the access to nonlocal data. In this paper we consider a semi-automatic approach to process partitioning in which the compiler, guided by advice from the user, automatically transforms programs into such an interacting set of tasks. This approach is illustrated with a picture processing example written in BLAZE, which is transformed by the compiler into a task system maximizing locality of memory reference.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom