English
Related papers

Related papers: Pointer Race Freedom

200 papers

Data races, a major source of bugs in concurrent programs, can result in loss of manpower and time as well as data loss due to system failures. OpenMP, the de facto shared memory parallelism framework used in the HPC community, also suffers…

Programming Languages · Computer Science 2021-11-09 Utpal Bora , Shraiysh Vaishay , Saurabh Joshi , Ramakrishna Upadrasta

Conventional wisdom holds that an efficient interface between an OS running on a CPU and a high-bandwidth I/O device should use Direct Memory Access (DMA) to offload data transfer, descriptor rings for buffering and queuing, and interrupts…

Hardware Architecture · Computer Science 2025-04-25 Anastasiia Ruzhanskaia , Pengcheng Xu , David Cock , Timothy Roscoe

To solve a navigation task based on experiences, we need a mechanism to associate places with objects and to recall them along the course of action. In a reward-oriented task, if the route to a reward location is simulated in mind after…

Neurons and Cognition · Quantitative Biology 2024-10-28 Hiroki Nakagawa , Katsumi Tateno , Kensuke Takada , Takashi Morie

Memory management is a critical component in almost all shared-memory, concurrent data structures and algorithms, consisting in the efficient allocation and the subsequent reclamation of shared memory resources. This paper contributes a…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-19 Manuel Pöter , Jesper Larsson Träff

Dynamic languages like Erlang, Clojure, JavaScript, and E adopted data-race freedom by design. To enforce data-race freedom, these languages either deep copy objects during actor (thread) communication or proxy back to their owning thread.…

Programming Languages · Computer Science 2021-09-17 Kiko Fernandez-Reyes , Isaac Oscar Gariano , James Noble , Erin Greenwood-Thessman , Michael Homer , Tobias Wrigstad

Near-Data Processing refers to an architectural hardware and software paradigm, based on the co-location of storage and compute units. Ideally, it will allow to execute application-defined data- or compute-intensive operations in-situ, i.e.…

Databases · Computer Science 2019-05-14 Tobias Vincon , Andreas Koch , Ilia Petrov

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

We consider machine learning in a comparison-based setting where we are given a set of points in a metric space, but we have no access to the actual distances between the points. Instead, we can only ask an oracle whether the distance…

Machine Learning · Statistics 2017-04-06 Siavash Haghiri , Debarghya Ghoshdastidar , Ulrike von Luxburg

We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based on a notion of time-stamped histories that abstractly capture atomic changes in the program state. Our key observation is that histories…

Logic in Computer Science · Computer Science 2014-10-02 Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

Data race conditions in multi-tasking software applications are prevented by serializing access to shared memory resources, ensuring data consistency and deterministic behavior. Traditionally tasks acquire and release locks to synchronize…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-01-24 K. Eric Harper , Thijmen de Gooijer

We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the…

Logic in Computer Science · Computer Science 2007-06-13 Greta Yorsh , Alexander Rabinovich , Mooly Sagiv , Antoine Meyer , Ahmed Bouajjani

Several programming languages use garbage collectors (GCs) to automatically manage memory for the programmer. Such collectors must decide when to look for unreachable objects to free, which can have a large performance impact on some…

Programming Languages · Computer Science 2023-03-28 Lujing Cen , Ryan Marcus , Hongzi Mao , Justin Gottschlich , Mohammad Alizadeh , Tim Kraska

Garbage Collection in concurrent data structures, especially lock-free ones, pose multiple design and consistency challenges. In this instance, we consider the case of concurrent sets. A set is a collection of elements, where the elements…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Jonathan Marbaniang , Shekhar Bhandakkar , Sathya Peri

Memory safety is an essential correctness property of software systems. For programs operating on linked heap-allocated data structures, the problem of proving memory safety boils down to analyzing the possible shapes of data structures,…

Programming Languages · Computer Science 2024-08-20 Sebastian Wolff , Ekanshdeep Gupta , Zafer Esen , Hossein Hojjat , Philipp Rümmer , Thomas Wies

Destination-passing style programming introduces destinations, which represent the address of a write-once memory cell. Those destinations can be passed as function parameters, and thus enable the caller of a function to keep control over…

Programming Languages · Computer Science 2023-12-19 Thomas Bagrel

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

To achieve peak performance on modern GPUs, one must balance two frames of mind: issuing instructions to individual threads to control their behavior, while simultaneously tracking the convergence of many threads acting in concert to…

Programming Languages · Computer Science 2025-11-18 Manya Bansal , Daniel Sainati , Joseph W. Cutler , Saman Amarasinghe , Jonathan Ragan-Kelley

There are enormous amount of examples of Computation in nature, exemplified across multiple species in biology. One crucial aim for these computations across all life forms their ability to learn and thereby increase the chance of their…

Machine Learning · Computer Science 2013-12-30 Nabarun Mondal , Partha P. Ghosh

We present the checkpointing scheme of Abacus, an $N$-body simulation code that allocates all persistent state in POSIX shared memory, or ramdisk. Checkpointing becomes as simple as copying files from ramdisk to external storage. The main…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-01 Lehman H. Garrison , Daniel J. Eisenstein , Nina A. Maksimova

Existing data race detectors for task-based programs incur significant run time and space overheads. The overheads arise because of frequent lookups in fine-grained tree data structures to check whether two accesses can happen in parallel.…

Programming Languages · Computer Science 2022-04-06 Shivam Kumar , Anupam Agrawal , Swarnendu Biswas
‹ Prev 1 4 5 6 7 8 10 Next ›