English
Related papers

Related papers: Deductive Verification of Parallel Programs Using …

200 papers

A bug or error is a common problem that any software or computer program may encounter. It can occur from badly writing the program, a typing error or bad memory management. However, errors can become a significant issue if the unsafe…

Programming Languages · Computer Science 2019-08-29 Zeinab Nehai , François Bobot

Identifying errors in parallel MPI programs is a challenging task. Despite the growing number of verification tools, debugging parallel programs remains a significant challenge. This paper is the first to utilize embedding and deep learning…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-03-06 Jad El Karchi , Hanze Chen , Ali TehraniJamsaz , Ali Jannesari , Mihail Popov , Emmanuelle Saillard

Message Passing Interface (MPI) is a foundational technology in high-performance computing (HPC), widely used for large-scale simulations and distributed training (e.g., in machine learning frameworks such as PyTorch and TensorFlow).…

Software Engineering · Computer Science 2026-04-06 Scott Piersall , Yang Gao , Shenyang Liu , Liqiang Wang

BSML is a pure functional library for the multi-paradigm language OCaml. BSML embodies the principles of the Bulk Synchronous Parallel (BSP) model, a model of scalable parallel computing. We propose a formalization of BSML primitives with…

Software Engineering · Computer Science 2023-08-01 Olivia Proust , Frédéric Loulergue

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

The true costs of high performance computing are currently dominated by software. Addressing these costs requires shifting to high productivity languages such as Matlab. MatlabMPI is a Matlab implementation of the Message Passing Interface…

Astrophysics · Physics 2007-05-23 Jeremy Kepner , Stan Ahalt

Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running in the network, the risk of faults also increases. Hence, there is growing…

Programming Languages · Computer Science 2022-06-08 Matthias Eichholz , Eric Hayden Campbell , Matthias Krebs , Nate Foster , Mira Mezini

In concurrent and distributed systems, software components are expected to communicate according to predetermined protocols and APIs - and if a component does not observe them, the system's reliability is compromised. Furthermore, isolating…

Programming Languages · Computer Science 2021-05-25 Christian Batrolo Burlò , Adrian Francalanza , Alceste Scalas

Molly is a program that compiles cryptographic protocol roles written in a high-level notation into straight-line programs in an intermediate-level imperative language, suitable for implementation in a conventional programming language. We…

Cryptography and Security · Computer Science 2023-11-27 Daniel J. Dougherty , Joshua D. Guttman

This paper studies the utility of using data analytics and machine learning techniques for identifying, classifying, and characterizing the dynamics of large-scale parallel (MPI) programs. To this end, we run microbenchmarks and realistic…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-06 Ayesha Afzal , Georg Hager , Gerhard Wellein , Stefano Markidis

We report on an effort to develop methodologies for formal verification of parts of the Multi-Purpose Daemon (MPD) parallel process management system. MPD is a distributed collection of communicating processes. While the individual…

Logic in Computer Science · Computer Science 2007-05-23 Olga Shumsky Matlin , William McCune , Ewing Lusk

Composability is one of seven reasons for the long-standing and continuing success of MPI. Extending MPI by composing its operations with user-level operations provides useful integration with the progress engine and completion notification…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-27 Derek Schafer , Sheikh Ghafoor , Daniel Holmes , Martin Ruefenacht , Anthony Skjellum

MPI is the de facto standard for parallel computing on a cluster of computers. Checkpointing is an important component in any strategy for software resilience and for long-running jobs that must be executed by chaining together time-bounded…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-06 Yao Xu , Gene Cooperman

Secure multi-party computation (MPC) is a general cryptographic technique that allows distrusting parties to compute a function of their individual inputs, while only revealing the output of the function. It has found applications in areas…

Logic in Computer Science · Computer Science 2019-12-18 Helene Haagh , Aleksandr Karbyshev , Sabine Oechsner , Bas Spitters , Pierre-Yves Strub

We examine natural expectations on communication performance using MPI derived datatypes in comparison to the baseline, "raw" performance of communicating simple, non-contiguous data layouts. We show that common MPI libraries sometimes…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-07-04 Alexandra Carpen-Amarie , Sascha Hunold , Jesper Larsson Träff

The Message-Passing Interface (MPI) and C++ form the backbone of high-performance computing, but MPI only provides C and Fortran bindings. While this offers great language interoperability, high-level programming languages like C++ make…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-11-13 Tim Niklas Uhl , Matthias Schimek , Lukas Hübner , Demian Hespe , Florian Kurpicz , Christoph Stelz , Peter Sanders

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

Low Density Parity Check (LDPC) codes are linear error correcting codes used in communication systems for Forward Error Correction (FEC). But, intensive computation is required for encoding and decoding of LDPC codes, making it difficult…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-13 Bhargav Gokalgandhi , Ivan Seskar

In this paper we present a tool for the formal analysis of applications built on top of replicated databases, where data integrity can be at stake. To address this issue, one can introduce synchronization in the system. Introducing…

Programming Languages · Computer Science 2020-10-15 Filipe Meirim , Mário Pereira , Carla Ferreira

Message logging protocols are enablers of local rollback, a more efficient alternative to global rollback, for fault tolerant MPI applications. Until now, message logging MPI implementations have incurred the overheads of a redesign and…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-09 Kiril Dichev , Dimitrios S. Nikolopoulos