Abstract:

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 Enterprise parallel programming
environment with several other systems and their approaches. We
also predict the results we expect from these comparisons. Finally,
we argue that while the cost of performing quantitative measurements
of usability might seem large, the cost of not performing them,
as borne by a group which selects an inappropriate or low-performing
programming system, is likely to be much larger.