This wiki service has now been shut down and archived
Distributed Programming Abstractions
Introduction: Distributed Programming Abstractions
The computing environment of tomorrow will not be anything like the stand-alone environment of yesterday. Computing infrastructure is changing drastically, presenting unique opportunities as well as challenges for applications and application scientists. Despite the rapid onset of distributed infrastructure, the majority of scientists still use the same programming methods that they are accustomed to using on isolated computers. On the other hand, the underlying infrastructure does not support seamless extensibility or scaling of applications from desktops to distributed heterogenous resources. An important feature of this theme will be its focus on applications, and thus a consequent "top-down" approach to distributed programming abstractions. In particular, this Theme will examine how scientific applications can be programmed such that they can easily utilise distributed infrastructure, and how computer scientists can help design and implement applications that are shielded from future trends and changes in computing environments. The Theme aims to address these issues by focusing, amongst many others, on the following questions: What are the main barriers to wide-spread distributed High Performance Computing applications? Is there a level at which simple yet powerful programming abstractions can be effective in distributed environments?
Over the course of this theme, there will be a series of correlated workshops and meetings to explore many of these issues. In addition to surveying the status of the field and addressing the high level questions, this theme aims to spawn focussed research groups that will examine in greater detail some of the specific ideas.
Please contact any of the core people (linked below), if you would like to participate and contribute.
News and Events
The first workshop in this series is set for 30th May - 01st June. Register here
This meeting aims to bring together the established major contributors from both Grid and HPC Applications domain as well the Computer Science domains (Parallel Computing, Grid Programming Model and Abstractions, Distributed Systems). The workshop will be a mix of invited talks and discussion sessions. Each session will be followed by a discussion session. Some specific discussion Topics for the first meeting are:
- What should this theme try to address? Must address? Must not address?
- Grid Programming Model versus Programming Abstraction: Whats what?
- What lessons can we learn from the history of Parallel Programming?
- What kind of applications should this theme focus on?
The talks will hopefully set the context for the discussion sessions. We hope the first workshop will provide sufficient material and ideas to generate an updated and combined version of "Classifying Grid Applications" and "Grid Programming Models" papers (see Papers), which will be completed at a follow-up meeting.
03 September to 07 September, 2007 Registration Details here
Some Notes from the meeting can be found here
Notes from the workshop can be found here
Workshop I lead to the creation of two documents -- a Survey document and a Patterns for Distributed Applications document. Workshop II will, amongst other things, attempt to progress these documents as well as having focussed application sessions. More details soon.
The DPA Theme will have a one-day meeting at the 15th Mardi Gras Conference on the 30 January, 2008 in Baton Rouge, Louisiana. This Workshop will consists of a series of a broad range of invited talks and panel discussions. Somewhat different to earlier DPA workshops (and very different to the Authors' Meetings) this workshop will provide a broader sampling of "distributed applications" and support for programming; this is in keeping with the focus of the Mardi Gras conference 2008 -- Lightweight mash-ups to Lambda Grids: Understanding the spectrum of distributed computing requirements, applications, tools, infrastructures, interoperability, and the incremental adoption of key capabilities.In addition, given the anticipated large attendence at the Mardi Gras conference, this presents a good opportunity to solicit ideas and suggestions from a broader community.
The DPA theme hosted the plenary panel session on Distributed Programming Abstractions at CCGrid 2008. Panelists were Henri Bal, Franck Cappello and Satoshi Matsuoka.
DPA Theme will be having a special session "Lessons and Visions" as part of the "Challenges of Large-Scale Application in Distributed Environment" Workshop to be held in conjunction with HPDC on 23 June, 2008. Invited speakers are: Jon Weissman, Nancy-Wilkins Diehr and Ian Foster.
DPA Core/Authors Group meeting 27-30 May, 2008 (Edinburgh)
Proceedings of the DPA Workshop published as: Euro-Par 2008 Workshops
DPA Core/Authors Group meeting, 30-31st October and 01 November 2008 (Edinburgh)
DPA Core/Authors Group meeting, January 2009 (Edinburgh)
DPA Core/Authors Group meeting, March/April 2009 (Baton Rouge, US)
DPA Core/Authors Group meeting, May/June 2009 (Edinburgh)
Challenges of Large-Scale Applications in Distributed Environments (CLADE2009) Munich, 2009
DPA Core/Authors Group meeting, September 2009 (Edinburgh)
DPA Core/Authors Group meeting, November 2009 (Portland, USA)
DPA Core/Authors Group meeting, Jan 11-16 2010 (Edinburgh)
Challenges of Large-Scale Applications in Distributed Environments (CLADE) 2010 Chicago, In conjunction with HPDC 2010
Grids Meet Autonomic Computing (GMAC) Washington DC, In conjunction with International Conference on Autonomic Computing
Final DPA Core/Authors Group meeting, September 2010 (Edinburgh)
Workshop on Autonomic Computational Science, to be held in conjunction with IEEE/ACM Grid2010
DPA Closing Lecture
Publications, Documents and Related Links
- Abstractions for Large-Scale Distributed Applcations and Systems (PDF), submitted to ACM Computing Surveys (under review)
- Springer Book on Collected DPA Articles
- Abstractions for Large-Scale Distributed Applcations and Systems: A Computational Science Perspective, (PDF), Book to be published by Wiley (Summer 2010)
- Discussion Board About the Paper(s)
- Survey of Programming Distributed Abstractions and Models
- Patterns for Distributed Applications
- Book on Abstractions for Distributed Systems
- White Paper
Autonomic Computational Science
Details about this aspect can be found here
- ATLAS (Jack Dongarra): 
Automatically Tuned Linear Algebra Software (ATLAS): ATLAS is an approach for the automatic generation and optimization of numerical software for processors with deep memory hierarchies and pipelined functional units. The production of such software for machines ranging from desktop workstations to embedded processors can be a tedious and time consuming task. ATLAS has been designed to automate much of this process. We concentrate our efforts on the widely used linear algebra kernels called the Basic Linear Algebra Subroutines (BLAS).
- Gail Kaiser's work from Columbia:
"Retrofitting autonomic capabilities onto legacy systems" Janak Parekh · Gail Kaiser · Philip Gross · Giuseppe Valetto, Cluster Comput (2006) 9: 141–159
- Manish's work: 
- Manish's work: Multi-Physics: 
- Manish's work: Adaptive Mesh Refinement: 
- Manish's students: Maria, Sumir and Xiaolin: 
- Peter Coveney
- Andre Merzky
- Craig Lee
We are actively seeking collaborators, contributors and conspirators for this theme. If you'd like to facilitate any of the above by being a short-term visitor, please contact Shantenu Jha.