English
Related papers

Related papers: DafnyMPI: A Dafny Library for Verifying Message-Pa…

200 papers

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida

We address the problem of statically checking control state reachability (as in possibility of assertion violations, race conditions or runtime errors) and plain reachability (as in deadlock-freedom) of phaser programs. Phasers are a modern…

Programming Languages · Computer Science 2017-08-10 Zeinab Ganjei , Ahmed Rezine , Petru Eles , Zebo Peng

The Adapteva Epiphany many-core architecture comprises a 2D tiled mesh Network-on-Chip (NoC) of low-power RISC cores with minimal uncore functionality. It offers high computational energy efficiency for both integer and floating point…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-18 James A. Ross , David A. Richie , Song J. Park , Dale R. Shires

We consider the problem of verifying deadlock freedom for symmetric cache coherence protocols. In particular, we focus on a specific form of deadlock which is useful for the cache coherence protocol domain and consistent with the internal…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-29 Divjyot Sethi , Muralidhar Talupur , Sharad Malik

The increasing complexity of HPC architectures and the growing adoption of irregular scientific algorithms demand efficient support for asynchronous, multithreaded communication. This need is especially pronounced with Asynchronous…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-08-27 Jiakun Yan , Marc Snir , Yanfei Guo

Software developers must adapt to keep up with the changing capabilities of platforms so that they can utilize the power of High- Performance Computers (HPC), including exascale systems. OpenMP, a directive-based parallel programming model,…

This paper describes the formal verification of two Turing machines using the program verifier Dafny. Both machines are deciders, so we prove total correctness. They are typical first examples of Turing machines used in any course of…

Logic in Computer Science · Computer Science 2026-01-22 Edgar F. A. Lederer

QCMPI is a quantum computer (QC) simulation package written in Fortran 90 with parallel processing capabilities. It is an accessible research tool that permits rapid evaluation of quantum algorithms for a large number of qubits and for…

Quantum Physics · Physics 2015-05-13 F. Tabakin , B. Julia-Diaz

Context: Secure Multiparty Computation (MPC) refers to a family of cryptographic techniques where mutually untrusting parties may compute functions of their private inputs while revealing only the function output. Inquiry: It can be hard to…

Cryptography and Security · Computer Science 2023-02-21 Ian Sweet , David Darais , David Heath , William Harris , Ryan Estes , Michael Hicks

Fault-tolerance has always been an important topic when it comes to running massively parallel programs at scale. Statistically, hardware and software failures are expected to occur more often on systems gathering millions of computing…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-13 Julien Adam , Maxime Kermarquer , Jean-Baptiste Besnard , Leonardo Bautista-Gomez , Marc Perache , Patrick Carribault , Julien Jaeger , Allen D. Malony , Sameer Shende

Containers represent a convenient way of packing applications with dependencies for easy user-level installation and productivity. When running on supercomputers, it becomes crucial to optimize the containers to exploit the performance…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-30 Alfio Lazzaro

OpenMP is a popular parallelization framework that lets users transform sequential code into parallel code with a few simple annotations. Unfortunately, it is also easy to inadvertently introduce errors by adding OpenMP pragmas into…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-28 Ke Du , Anshu Sharma , Liyi Li , William Mansky

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

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

We tackle the challenge of ensuring the deadlock-freedom property for message-passing processes that communicate asynchronously in cyclic process networks. Our contributions are twofold. First, we present Asynchronous Priority-based…

Logic in Computer Science · Computer Science 2024-11-20 Bas van den Heuvel , Jorge A. Pérez

The classical-quantum system heterogeneity (different data characteristics, execution paradigms and synchronization mechanism etc.) renders existing distributed communication mechanisms (e.g. MPI, NCCL etc.) inadequate. This bottleneck…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-03 Feng Wang , Junchao Wang , Zeyuan Wang , Lei Li , Hang Lian , Yangyang Fei , Jinyang Yao , Xuyan Qi , Fudong Liu , Yifan Hou , Shibo Liang , Zheng Shan

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called…

Programming Languages · Computer Science 2018-04-20 Ahmed Bouajjani , Constantin Enea , Kailiang Ji , Shaz Qadeer

Parallel I/O refers to the ability of scientific programs to concurrently read/write from/to a single file from multiple processes executing on distributed memory platforms like compute clusters. In the HPC world, I/O becomes a significant…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-15 Muhammad Sohaib Ayub , Muhammad Adnan , Muhammad Yasir Shafi

pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library…

We discuss the use of both MPI and OpenMP in the teaching of senior undergraduate and junior graduate classes in parallel programming. We briefly introduce the OpenMP standard and discuss why we have chosen to use it in parallel programming…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Yi Pan