Dagstuhl Seminar 99171
High Level Parallel Programming: Applicability, Analysis and Performance
( Apr 25 – Apr 30, 1999 )
Permalink
Organizers
- D. Skillicorn (QU Kingston, Canada)
- J. Prins (UNC Chapel Hill)
- M. Cole (Edinburgh)
- S. Gorlatch (Passau)
Contact
It is generally acknowledged that programming parallel computers effectively and correctly is a conceptually challenging task for all but the simplest of applications. Consequently, there is despread research interest in models and methodologies which can assist the process. In order to provide some degree of durability, such approaches must abstract from the detailed characteristics of specific systems, while remaining efficiently implementable by those systems.
A Dagstuhl seminar in 1997 (Nr. 9708, see http://www.dcs.ed.ac.uk/home/mic/dagstuhl/dagstuhl.html) brought together a spectrum of researchers with interests related to the "higher order" aspects of this area, ranging from those with theoretical interests in program development to practical systems builders. The 1999 seminar will focus more closely on developments in areas which emerged at the original workshop as being on the critical path to progress (particularly with respect to increasing the attractiveness of our ideas to real-world practitioners) while simultaneously broadening the range of expertise represented by participants to include approaches which are more generally "high level" rather than specifically "higher order". By "high level" we mean going beyond the simple extension of sequential languages with communications or shared data primitives, to models and languages in which the expression of conceptual structure is encouraged and supported.
Most interest in parallel programming is motivated by the quest for dramatically improved performance in processing large applications. To gain credibility with that community, we must be able to show that our methods are competitive. The quantification of performance is simplified by the computational structure inherent in the high level approach. This applies equally to attempts to predict performance on the basis of static program analysis and a small number of architecture specific parameters (more commonly known as "cost-modeling") and to the benchmarking and post-hoc analysis of the behavior of implemented systems.
Similarly, we must be able to demonstrate convincingly that high level parallelism enhances the applicability of the underlying technology by simplifying the expression of real programs for real problems (rather than the sanitized and simplified examples appropriate to the early stages of research). Paradoxically, our target audience must also be convinced that there is no loss of expressiveness when dealing with those parallel programming sub-tasks in which there is no well behaved structure to capture. Our language frameworks must provide a sound account of the interaction between structured and inherently unstructured components of the same program.
We hope and expect that contributions to the seminar will shed light on these issues from a range of methodological standpoints. However, In order to ensure that the contributions to the seminar remain focused on cost and applicability, and to provide some common ground on which debate can be conducted, we will circulate participants (well in advance of the meeting) with a short list of explicit, realistic problems to act as case studies. These will concentrate on problems that are important in practice but have not been treated well to date because of methodological limitations, and will encourage evaluation criteria that include succinctness, correctness and clarity, as well as performance.
In summary we hope to address the following questions and the many subordinate issues they raise.
- How well can high-level parallel programming methods match the performance of more machine specific approaches?
- What do (and should) we mean by performance in this context?
- Can such systems be effectively cost-modeled, and if so, would this be attractive to practitioners?
- Can we support such models with other conceptual tools in ways which enhance their attractiveness?
- Can the tension between the use of abstraction and the requirement for detailed ad-hoc control in certain problems be satisfactorily resolved?
We would welcome your participation in our search for the answers!
- D. Skillicorn (QU Kingston, Canada)
- J. Prins (UNC Chapel Hill)
- M. Cole (Edinburgh)
- S. Gorlatch (Passau)