Building correct and efficient message-passing parallel programs still poses many challenges. The incorrect use of message-passing constructs can introduce deadlocks, and a bad task decomposition can prevent achieving good speedups. Current approaches focus either on correctness or efficiency, but limited work has been done on ensuring both. In this paper, we propose a new parallel programming framework, PAlg, which is a first-order language with participant annotations that ensures deadlock-freedom by construction. PAlg programs are coupled with an abstraction of their communication structure, a global type from the theory of multiparty session types (MPST). This global type serves as an output for the programmer to assess the efficiency of their achieved parallelisation. PAlg is implemented as an EDSL in Haskell, from which we can: 1. compile to low-level message-passing C code; 2. compile to sequential C code, or interpret as sequential Haskell functions for testing; and, 3. infer the communication protocol followed by the compiled message-passing program. We use the properties of the inferred global types to perform some basic optimisations to the compiled C code. We prove the extensional equivalence of the output parallelisation, as well as the protocol compliance. We evaluate our approach on a number of benchmarks, achieving linear speedups on a shared-memory 12-core machine, and up to 16 on a 2-node, 24-core NUMA node.
Sat 22 FebDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Session 1 Novel Language Constructs Main Conference Chair(s): Pavlos Petoumenos University of Manchester | ||
10:30 22mResearch paper | Bitwidth Customization in Image Processing Pipelines using Interval Analysis and SMT Solvers Main Conference Suresh Purini International Institute of Information Technology Hyderabad, Vinamra Benara UC Berkeley, Ziaul Chowdhury International Institute of Information Technology Hyderabad, Uday Bondhugula Indian Institute of Science | ||
10:52 22mResearch paper | Is Stateful Packrat Parsing Really Linear in Practice? -- A Counter-Example, An Improved Grammar and Its Parsing Algorithms -- Main Conference Nariyoshi Chida NTT Secure Platform Laboratories, Yuhei Kawakoya NTT Secure Platform Laboratories, Dai Ikarashi NTT Secure Platform Laboratories, Kenji Takahashi NTT Security, Koushik Sen University of California, Berkeley | ||
11:15 22mResearch paper | Automatically Harnessing Sparse Acceleration Main Conference Philip Ginsbach University of Edinburgh, Bruce Collie University of Edinburgh, Michael F. P. O'Boyle University of Edinburgh | ||
11:37 22mResearch paper | Compiling First-order Functions to Session-Typed Parallel Code Main Conference |