In this paper we show that, under different circumstances, data scheduling and loop scheduling are both useful models for parallel programs executing on shared virtual memory (SVM) systems. We therefore propose a unified programming model that permits both types of scheduling. We show that, given affine array references, a program segment which is parallel under loop scheduling can always be transformed to make it parallel under data scheduling and vice-versa, and hence that the two types of scheduling are equally powerful at exploiting parallelism. We review existing Fortran dialects for SVM and propose compiler directives that allow program segments to be data scheduled
Published in:
Programming Models for Massively Parallel Computers, 1995
Date of Conference: 9-12 Oct 1995