Overview
With the shift to multicore hardware, there has been a resurgence of interest in parallel programming at every level of software systems. Extracting good parallel speedup for irregularly-structured problems without resorting to full-blown concurrent programming remains a difficult challenge. To the extent that concurrency is exposed, it poses well-known risks: unintended races, nondeterministic behavior, deadlocks, and weak memory consistency. And in any case, performance problems are often difficult to diagnose and fix: they may stem from task granularity and scheduling choices, or from false sharing and other cache coherence effects, which are often not under direct programmer control. These challenges present an opportunity for research on languages to make a significant impact on programming practice.
LaME provides a venue for exploring how languages and related artifacts (e.g., abstractions implemented as libraries, compilers, analysis tools, and parallel runtimes) can make parallel programming safer and more productive, without sacrificing performance. The workshop allows researchers to present new ideas, research directions, and preliminary results in an informal atmosphere that fosters discussion and feedback.
Topics
LaME is an interactive venue for describing, discussing, and evaluating programming language support for parallel execution on multicore computers. We interpret “programming language” broadly to include language-like abstractions (e.g., parallel APIs implemented as libraries or embedded DSLs) and language-support tools such as optimizers, analysis tools, and IDEs. We interpret “multicore” broadly to include heterogeneous parallel units such as GPUs. Multicore can also include distributed computing, so long as there is a multicore component (e.g., programming a cluster of multicore nodes).
Program (room: Amphi)
Session 1
09:30am-09:40am | Opening remarks |
09:45am-10:30am | Open issues in DSLs Tiark Rompf (EPFL) |
Coffee break
10:30am-11:00am |
Session 2
11:00am-11:30am | Dynamic Development Support for Highly Concurrent Programs in the Ohua Data Flow Engine (PDF) Sebastian Ertel (University of Technology, Dresden) and Michael J. Beckerle (Waltham, MA, USA) |
11:30am-12:15pm | Higher-level implicit parallelism with PASL Mike Rainey (MPI-SWS) |
Lunch
12:15pm-02:00pm |
Session 3
This session is jointly hosted with Scala’13. The talks will be in the same room as the rest of LaME: Amphi
02:00pm-02:30pm | A New Concurrency Model for Scala Based on a Declarative Dataflow Core (PDF) Sébastien Doeraene (EPFL) and Peter Van Roy (Université catholique de Louvain) |
02:30pm-03:00pm | Implicit Parallelism in a Functional Subset of Scala Shams Imam (Rice University), Robert Cartwright (Rice University) and Vivek Sarkar (Rice University) |
03:00pm-03:30pm | Dataflow Constructs for a Language Extension Based on the Algebra of Communicating Processes (PDF) André Van Delft |
Coffee break
03:30pm-04:00pm |
Session 4
04:00pm-04:45pm | Open Issues in Dataflow Programming Heather Miller (EPFL) |
04:45pm-05:30pm | Open issues in Language-integrated Mutation Control Colin Gordon (University of Washington) |
Call for Submissions
Authors are invited to submit original and unpublished work that exposes a new problem, advocates a specific solution, or reports on actual experience. Preliminary results and/or position papers likely to spur interesting discussions are encouraged. Papers must be submitted using the standard two-column ACM SIG proceedings or SIG alternate template in either 9-point or 10-point font. Submissions are limited to six pages including figures, tables, and references.
Papers will be reviewed and selected based on relevance, interest, clarity, and technical correctness. Final papers will be made available on the workshop web site, but to facilitate resubmission to more formal venues, no archival proceedings will be published, and papers will not be sent to the ACM Digital Library.
Important Dates
Submission: 1 May 2013
Notification: 15 May 2013
Final version: 15 June 2013
Early registration: 1 June 2013
Workshop: 1 July 2013
Organization
Organizers
Robert Bocchino (Carnegie Mellon University)
Aaron Turon (Max Planck Institute for Software Systems)
Program Committee
Lars Bergstrom (University of Chicago)
Robert Bocchino (CMU)
Sebastian Burckhardt (Microsoft Research)