DAMP 2009: Workshop on
Declarative Aspects of Multicore Programming

January 20, 2009

Savannah, Georgia, USA

(co-located with POPL 2009)

The slides of the keynotes are linked from the workshop program!
See the POPL site for local information and workshop registration.

Parallelism is going mainstream. Many chip manufactures are turning to multicore processor designs rather than scalar-oriented frequency increases as a way to get performance in their desktop, enterprise, and mobile processors. This endeavor is not likely to succeed long term if mainstream applications cannot be parallelized to take advantage of tens and eventually hundreds of hardware threads. Multicore architectures will differ in significant ways from their multisocket predecessors. For example, the communication to compute bandwidth ratio is likely to be higher, which will positively impact performance. More generally, multicore architectures introduce several new dimensions of variability in both performance guarantees and architectural contracts, such as the memory model, that may not stabilize for several generations of product.

Programs written in functional or (constraint-)logic programming languages, or even in other languages with a controlled use of side effects, can greatly simplify parallel programming. Such declarative programming allows for a deterministic semantics even when the underlying implementation might be highly non-deterministic. In addition to simplifying programming this can simplify debugging and analyzing correctness.

DAMP 2009 is the fourth (see DAMP08, DAMP07, and DAMP06) in a series of one-day workshops seeking to explore ideas in programming language design that will greatly simplify programming for multicore architectures, and more generally for tightly coupled parallel architectures. The emphasis will be on functional and (constraint-)logic programming, but any programming language ideas that aim to raise the level of abstraction are welcome. DAMP seeks to gather together researchers in declarative approaches to parallel programming and to foster cross fertilization across different approaches.

Specific topics include, but are not limited to:

  • suitability of functional and (constraint-)logic programming languages to multicore applications;
  • run-time issues such as garbage collection or thread scheduling;
  • architectural features that may enhance the parallel performance of declarative languages;
  • type systems and analysis for accurately knowing or limiting dependencies, aliasing, effects, and nonpure features;
  • ways of specifying or hinting at parallelism;
  • ways of specifying or hinting at data placement which abstract away from any details of the machine;
  • compiler techniques, automatic parallelization, automatic granularity control;
  • experiences of and challenges arising from making declarative programming practical;
  • technology for debugging parallel programs; and
  • design and implementation of domain-specific declarative languages for multi-core.

All accepted papers will be published in the ACM Digital Library and must adhere to the SIGPLAN Republication Policy. Concurrent submissions to other conferences, workshops, journals, or similar forums of publication are not allowed. However, publication of a paper at DAMP 2009 is not intended to preclude later publication.

Please direct any questions at Manuel Chakravarty <chak@cse.unsw.edu.au>.