@article{Uller-Castro-CCPE:2021,
abstract = {Lightweight manycore processors deliver high performance and energy efficiency by bundling hundreds of low-power cores, a distributed memory architecture with small local memories and Networks-on-Chip (NoCs) in a single die. However, the lack of rich and portable programming models for these processors makes software development a challenging task. Currently, two approaches are employed to address programmability in lightweight manycores: Operating Systems (OSes) and baremetal runtime libraries. The former provides portability but exposes complex OS-level programming interfaces to developers. The latter focuses on providing rich and high performance interfaces, which are vendor-specific and yield to non-portable software. In this work, we address these programmability and portability challenges by combining a rich OS with a well-known standard for parallel programming. We propose a portable and lightweight Message Passing Interface (MPI) library (LWMPI) designed from scratch to cope with restrictions and intricacies of lightweight manycores. We integrated LWMPI into Nanvix, an open-source distributed OS that runs on silicon lightweight manycores. The results obtained with a synthetic benchmark and a subset of the CAP Bench applications running on Kalray MPPA-256 unveil that LWMPI not only delivers a lightweight and richer programming interface but also presents good performance and scalability results.},
author = {Uller, Jo{\~{a}}o Fellipe and Souto, Jo{\~{a}}o Vicente and Penna, Pedro Henrique and Castro, M{\'{a}}rcio and Freitas, Henrique and M{\'{e}}haut, Jean-Fran{\c{c}}ois},
doi = {10.1002/cpe.6693},
journal = {Concurrency and Computation: Practice and Experience},
title = {{LWMPI: An MPI Library for NoC-Based Lightweight Manycore Processors with On-Chip Memory Constraints}},
url = {https://doi.org/10.1002/cpe.6693},
year = {2021}
}
