Groovy Parallel Patterns: A Process oriented Parallelization Library
Jon Kerridge, Neil Urquhart

TL;DR
Groovy Parallel Patterns is a process-oriented parallel library for Java that simplifies the development of parallel architectures, guarantees correctness through formal methods, and demonstrates effective performance on various computational problems.
Contribution
It introduces a novel process-oriented parallel library with formal correctness guarantees, supporting flexible architectures and ease of use from sequential code.
Findings
Demonstrates good speedup and efficiency on multicore and cluster systems.
Provides formal proofs of deadlock, livelock freedom, and correct termination.
Shows versatility across diverse computational problems.
Abstract
A novel parallel patterns library, Groovy Parallel Patterns, is presented which, from the outset, has been designed to exploit more general process parallelism than the usual data and task parallel architectures. The library executes on a standard Java Virtual Machine. The library provides a collection of processes that can be plugged together to form a variety of parallel architectures and is intrinsically its own DSL. A network of processes is guaranteed to be deadlock and livelock free and terminate correctly and this is proved by the use of formal methods. Error capture and a basic logging mechanism have been incorporated. The library enables effective refinement of solutions between process networks which can be checked also using formal methods. A library user is only required to create the required methods as pieces of sequential code, typically taken from extant sequential…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Scientific Research and Discoveries
