Workshop on Facilitating Adoption of Parallel Computing

On Wednesday, May 5, in GHC 7501, the Carnegie Mellon Portugal sponsored Æminium - Freeing Programmers from the Shackles of Sequentiality project is holding an informal workshop at Carnegie Mellon University.

With the rise of multicore processors and the increasing richness of application functionality, leveraging parallel computation is increasingly necessary to achieve good performance. However, parallel computing is also difficult for programmers, due to the need to decompose the problem into sub-parts which can be solved in parallel, and due to the challenges of managing potential interference between concurrent* tasks.

This workshop focuses on research approaches intended to facilitate the practical adoption of parallel computing. These may include engineering approaches, new models of parallel computing, approaches for verification and reasoning in the presence of concurrency, and approaches for teaching parallel computing.

The current schedule of topics is listed below. We would like to emphasize discussion in the workshop, so our plan is to avoid long presentations. However, potential participants may propose to give a 5-minute lightning talks in one or two sessions, the purpose being to introduce ideas for discussion. The organizers will select a number of talks consistent with leaving the majority of each session for open discussion. We want to encourage discussion of work in progress; therefore, participants should be aware that some ideas presented may not yet be published and therefore should not be shared outside the workshop.


      9:00 a.m. Welcome and Workshop Introduction
      9:15 a.m. Engineering Parallelism: What Works in Practice
    10:15 a.m. Break
    10:30 a.m. New Programming Models Facilitating Adoption of Parallelism
    12:00 p.m. Lunch (provided for workshop participants, RSVP below)
      1:00 p.m. Verification: Helping Developers Reason about Concurrency
      2:00 p.m. Hardware Factors in Parallel Computing
      2:45 p.m. Break
      3:00 p.m. Teaching Parallel Computing
      3:30 p.m. Wrapup
      4:00 p.m. Informal Follow-up

* Please RSVP * to for lunch, and optionally provide a topic on which you would like to give a lightning talk.

* Note: we use the term parallel to mean that many computations occur simultaneously on different processor cores, including both data parallelism and task parallelism. We use concurrent to mean a programming model with multiple threads of control, which may introduce non-determinism due to interference, and may or may not be executed in parallel. The workshop discussion will include both deterministic and concurrent forms of parallelism.

Interested faculty and students are invited to participate.