Parallelising an Aggregate Programming Framework with Message-Passing Interface
Giorgio Audrito, Alberto Riccardo Martinelli, Gianluca Torta · 2023
FCPP is an optimized C++ implementation of the Aggregate Programming (AP) paradigm for the implementation of distributed systems. Until now, it has been either deployed on networks of constrained far edge devices, or used for simulating AP systems on a single local computer. Recent work hints at a third possibility, namely adopting AP as a way to effectively program distributed algorithms, and execute them on a centralized high-performance hardware instead of a network of low-end computational nodes. This could also allow an integration of edge and cloud resources, where workload could be dynamically moved between the computational layers. In the present work, we describe the first extension of FCPP that supports the execution on a distributed network of high-end computational nodes (e.g., NUMA architectures, or small computer networks). The extension allows the mapping of a large simulation of a far edge system into such nodes basing on the MPI (Message-Passing Interface) standard, providing a first step towards an edge-cloud continuum for aggregate programs.