The growth of commercial and academic interest in parallel and distributed computing during the past fifteen years has been accompanied by a corresponding increase in the number of available parallel programming systems, and in the variety of approaches to parallel programming being taken. However, little or no work has been done to compare or evaluate different systems, or to develop criteria by which such comparisons could be made. As a result, a typical parallel programming system is usually evaluated by the ease or difficulty with which its author(s) can implement a small set of trivially-parallel algorithms. This paper is a step toward rectifying this situation. We present several criteria by which parallel programming systems might be quantitatively evaluated, and assess the importance and measurability of each. Of these criteria, we feel that usability is the most important, but also the least frequently quantified. For illustration, we compare the approach taken in the Enterpr...
Gregory V. Wilson, Jonathan Schaeffer, Duane Szafr