FooPar: A Functional Object Oriented Parallel Framework in Scala
Felix P. Hargreaves, Daniel Merkle

TL;DR
FooPar is a Scala-based parallel computing framework that combines functional programming with high-performance parallel algorithms, achieving near-optimal scalability and performance on supercomputers.
Contribution
It introduces a modular Scala framework that seamlessly integrates functional programming with efficient parallel computing, supporting multiple backends and high-performance libraries.
Findings
Achieves close-to-peak performance on supercomputers.
Demonstrates scalable matrix multiplication with isoefficiency analysis.
Maintains performance comparable to C and MPI implementations.
Abstract
We present FooPar, an extension for highly efficient Parallel Computing in the multi-paradigm programming language Scala. Scala offers concise and clean syntax and integrates functional programming features. Our framework FooPar combines these features with parallel computing techniques. FooPar is designed modular and supports easy access to different communication backends for distributed memory architectures as well as high performance math libraries. In this article we use it to parallelize matrix matrix multiplication and show its scalability by a isoefficiency analysis. In addition, results based on a empirical analysis on two supercomputers are given. We achieve close-to-optimal performance wrt. theoretical peak performance. Based on this result we conclude that FooPar allows to fully access Scala's design features without suffering from performance drops when compared to…
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 · Advanced Data Storage Technologies
