Aa. Chien et al., EVALUATING HIGH-LEVEL PARALLEL PROGRAMMING SUPPORT FOR IRREGULAR APPLICATIONS IN ICC++, Software, practice & experience, 28(11), 1998, pp. 1213-1243
Object-oriented techniques have been proffered as aids for managing co
mplexity, enhancing reuse, and improving readability of irregular para
llel applications. However, as performance is the major reason for emp
loying parallelism, programmability and high performance must be deliv
ered together. Using a suite of seven challenging irregular applicatio
ns and the mature Illinois Concert system (a high-level concurrent obj
ect-oriented programming model) and an aggressive implementation (whol
e program compilation plus microsecond threading and communication pri
mitives in the runtime), we evaluate what programming efforts are requ
ired to achieve high performance. For all seven applications, we achie
ve performance comparable to the best achievable via low-level program
ming means on large-stale parallel systems. In general, a high-level c
oncurrent object-oriented programming model supported by aggressive im
plementation techniques can eliminate programmer management of many co
ncerns - procedure and computation granularity, namespace management,
and low-level concurrency management. Our study indicates that these c
oncerns are fully automated for these applications. Decoupling these c
oncerns makes managing the remaining fundamental concerns - data local
ity and load balance - much easier. In several cases, data locality an
d load balance for the complex algorithm and pointer data structures i
s automatically managed by the compiler and runtime, but in general pr
ogrammer intervention was required. In a few cases, more detailed cont
rol is required, specifically explicit task priority, data consistency
, and task placement. Our system integrates the expression of such inf
ormation cleanly into the programming interface. Finally, only small c
hanges to the sequential code were required to express concurrency and
performance optimizations, less than 5 per cent of the source code li
nes were changed in all cases. This bodes well for supporting both seq
uential and parallel performance in a single code base. (C) 1998 John
Wiley & Sons, Ltd.