EVALUATING HIGH-LEVEL PARALLEL PROGRAMMING SUPPORT FOR IRREGULAR APPLICATIONS IN ICC++

Citation
Aa. Chien et al., EVALUATING HIGH-LEVEL PARALLEL PROGRAMMING SUPPORT FOR IRREGULAR APPLICATIONS IN ICC++, Software, practice & experience, 28(11), 1998, pp. 1213-1243
Citations number
44
Categorie Soggetti
Computer Science Software Graphycs Programming","Computer Science Software Graphycs Programming
ISSN journal
00380644
Volume
28
Issue
11
Year of publication
1998
Pages
1213 - 1243
Database
ISI
SICI code
0038-0644(1998)28:11<1213:EHPPSF>2.0.ZU;2-J
Abstract
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.