Parallel Join Patterns with Guards and Propagation

Join patterns are a powerful concurrency abstraction for coordinating multiple events. We extend join patterns with guards and propagation and argue that both features are essential in many programming situations. We develop a parallel execution scheme which we have fully implemented as a library in Haskell. Our results provide new insights on how to write parallel programs for multi-core architectures.

[1]  Microsoft,et al.  Combinators for Join Patterns using STM , 2006 .

[2]  Claudio V. Russo The Joins Concurrency Library , 2007, PADL.

[3]  Philipp Haller,et al.  Implementing Joins Using Extensible Pattern Matching , 2008, COORDINATION.

[4]  G. Stewart Von Itzstein,et al.  On Implementing High Level Concurrency in Java , 2003, Asia-Pacific Computer Systems Architecture Conference.

[5]  Luc Maranget,et al.  Compiling Join-Patterns , 1998, Electron. Notes Theor. Comput. Sci..

[6]  Claudio V. Russo Join patterns for visual basic , 2008, OOPSLA '08.

[7]  Louis Mandel,et al.  Programming in JoCaml (Tool Demonstration) , 2008, ESOP.

[8]  Luca Cardelli,et al.  Modern concurrency abstractions for C# , 2002, TOPL.

[9]  Thom W. Frühwirth Parallelizing Union-Find in Constraint Handling Rules Using Confluence Analysis , 2005, ICLP.

[10]  Qin Ma,et al.  Algebraic Pattern Matching in Join Calculus , 2008, Log. Methods Comput. Sci..

[11]  Cédric Fournet,et al.  The Join Calculus: A Language for Distributed Mobile Programming , 2000, APPSEM.

[12]  John A. Trono A new exercise in concurrency , 1994, SGCS.

[13]  Jon Sneyers,et al.  Join ordering for constraint handling rules , 2007 .

[14]  Martin Sulzmann,et al.  Parallel execution of multi-set constraint rewrite rules , 2008, PPDP '08.

[15]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[16]  Tom Schrijvers,et al.  Analyses, Optimizations and Extensions of Constraint Handling Rules: Ph.D. Summary , 2005, ICLP.

[17]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..