English
Related papers

Related papers: Mastering Concurrent Computing Through Sequential …

200 papers

Abstract. Matching logic cannot handle concurrency. We introduce concurrent matching logic (CML) to reason about fault-free partial correctness of shared-memory concurrent programs. We also present a soundness proof for concurrent matching…

Logic in Computer Science · Computer Science 2021-09-02 Shangbei Wang

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core…

Programming Languages · Computer Science 2014-06-16 Janwillem Swalens , Stefan Marr , Joeri De Koster , Tom Van Cutsem

Concurrent coding is an unconventional encoding technique that simultaneously provides protection against noise, burst errors and interference. This simple-to-understand concept is investigated by distinguishing 2 types of code, open and…

Information Theory · Computer Science 2019-01-29 David M Benton

Current computers operate at enormous speeds of ~10^13 bits/s, but their principle of sequential logic operation has remained unchanged since the 1950s. Though our brain is much slower on a per-neuron base (~10^3 firings/s), it is capable…

Emerging Technologies · Computer Science 2015-05-30 Anirban Bandyopadhyay , Ranjit Pati , Satyajit Sahu , Ferdinand Peper , Daisuke Fujita

Working with stories and working with computations require very different modes of thought. We call the first mode "story-thinking" and the second "computational-thinking". The aim of this curiosity-driven paper is to explore the nature of…

Computation and Language · Computer Science 2022-07-01 Austen Rainer , Catherine Menon

The focus of my PhD thesis is on exploring parallel approaches to efficiently solve problems modeled by constraints and presenting a new proposal. Current solvers are very advanced; they are carefully designed to effectively manage the…

Artificial Intelligence · Computer Science 2019-09-23 Fabio Tardivo

Despite widespread interest in multicore computing, concur- rency models in mainstream languages often lead to subtle, error-prone code. Observationally Cooperative Multithreading (OCM) is a new approach to shared-memory parallelism.…

Consistency properties of concurrent computations, e.g., sequential consistency, linearizability, or eventual consistency, are essential for devising correct concurrent algorithms. In this paper, we present a logical formalization of such…

Logic in Computer Science · Computer Science 2013-05-13 Klaus v. Gleissenthall , Andrey Rybalchenko

The introductory programming sequence has been the focus of much research in computing education. The recent advent of several viable and freely-available AI-driven code generation tools present several immediate opportunities and…

Human-Computer Interaction · Computer Science 2022-12-05 Brett A. Becker , Paul Denny , James Finnie-Ansley , Andrew Luxton-Reilly , James Prather , Eddie Antonio Santos

Using an extremely large number of processing elements in computing systems leads to unexpected phenomena, such as different efficiencies of the same system for different tasks, that cannot be explained in the frame of classical computing…

Performance · Computer Science 2022-07-12 János Végh

The number of cores on graphical computing units (GPUs) is reaching thousands nowadays, whereas the clock speed of processors stagnates. Unfortunately, constraint programming solvers do not take advantage yet of GPU parallelism. One reason…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-07-26 Pierre Talbot , Frédéric Pinel , Pascal Bouvry

Smart contracts, the cornerstone of blockchain technology, enable secure, automated distributed execution. Given their role in handling large transaction volumes across clients, miners, and validators, exploring concurrency is critical.…

Cryptography and Security · Computer Science 2025-07-23 Atefeh Zareh Chahoki , Maurice Herlihy , Marco Roveri

Rust is a popular programming language in building various low-level software in recent years. It aims to provide safe concurrency when implementing multi-threaded software through a suite of compiler checking rules. Unfortunately, there is…

Programming Languages · Computer Science 2019-02-07 Zeming Yu , Linhai Song , Yiying Zhang

Although blockchains have become widely popular for their use in cryptocurrencies, they are now becoming pervasive as more traditional applications adopt blockchain to ensure data security. Despite being a secured network, blockchains have…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-10 Faisal Haque Bappy , Tariqul Islam , Tarannum Shaila Zaman , Md Sajidul Islam Sajid , Mir Mehedi Ahsan Pritom

Deep Neural Networks (DNNs) are becoming an important tool in modern computing applications. Accelerating their training is a major challenge and techniques range from distributed algorithms to low-level circuit design. In this survey, we…

Machine Learning · Computer Science 2018-09-18 Tal Ben-Nun , Torsten Hoefler

As computer systems become more and more complex, software and tools lag more and more behind. This is especially true for scientific software that often demands high performance, and thus needs to take advantage of parallelisms, memory…

Computers and Society · Computer Science 2013-09-11 Anne C. Elster

The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-13 Paul E. McKenney

The main deficiency of the algorithms running on digital computers nowadays is their inability to change themselves during the execution. In line with this, the paper introduces the so-called replicated algorithms, inspired by the concept…

Neural and Evolutionary Computing · Computer Science 2023-04-27 Iztok Fister , Iztok Fister

Programming is about automation in a wide variety of domains. Developing itself is one of those. As a side-effect, progress in automated coding may make people less willing to learn computer programming. This could become an issue, if the…

Programming Languages · Computer Science 2026-05-01 Attila Egri-Nagy