English
Related papers

Related papers: Thread-Modular Static Analysis for Relaxed Memory …

200 papers

Memory persistency models provide a foundation for persistent programming by specifying which (and when) writes to non-volatile memory (NVM) become persistent. Memory persistency models for the Intel-x86 and Arm architectures have been…

Programming Languages · Computer Science 2024-05-30 Vasileios Klimis , Alastair F. Donaldson , Viktor Vafeiadis , John Wickerson , Azalea Raad

We present a framework for efficient stateless model checking (SMC) of concurrent programs under five prominent models of causal consistency, CCv,CM,CC, Read Committed and Read Atomic. Our approach is based on exploring traces under the…

Programming Languages · Computer Science 2023-01-18 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Ashutosh Gupta , Shankaranarayanan Krishna , Omkar Tuppe

A large class of traditional graph and data mining algorithms can be concisely expressed in Datalog, and other Logic-based languages, once aggregates are allowed in recursion. In fact, for most BigData algorithms, the difficult semantic…

Programming Languages · Computer Science 2019-07-25 Ariyam Das , Carlo Zaniolo

Writing concurrent programs for shared memory multiprocessor systems is a nightmare. This hinders users to exploit the full potential of multiprocessors. STM (Software Transactional Memory) is a promising concurrent programming paradigm…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-27 Ajay Singh , Sathya Peri , G Monika , Anila Kumari

State-of-the-art neural models of source code tend to be evaluated on the generation of individual expressions and lines of code, and commonly fail on long-horizon tasks such as the generation of entire method bodies. We propose to address…

Machine Learning · Computer Science 2021-11-23 Rohan Mukherjee , Yeming Wen , Dipak Chaudhari , Thomas W. Reps , Swarat Chaudhuri , Chris Jermaine

Static code warning tools often generate warnings that programmers ignore. Such tools can be made more useful via data mining algorithms that select the "actionable" warnings; i.e. the warnings that are usually not ignored. In this paper,…

Software Engineering · Computer Science 2021-01-12 Xueqi Yang , Jianfeng Chen , Rahul Yedida , Zhe Yu , Tim Menzies

There is growing interest in lowering the energy consumption of computation. Energy transparency is a concept that makes a program's energy consumption visible from software to hardware through the different system layers. Such transparency…

Programming Languages · Computer Science 2015-10-27 Kyriakos Georgiou , Steve Kerrison , Kerstin Eder

Modern processors deploy a variety of weak memory models, which for efficiency reasons may execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be complex and…

Logic in Computer Science · Computer Science 2018-12-05 Robert J. Colvin , Graeme Smith

Assessing IC manufacturing process fluctuations and their impacts on IC interconnect performance has become unavoidable for modern DSM designs. However, the construction of parametric interconnect models is often hampered by the rapid…

Hardware Architecture · Computer Science 2011-11-09 Peng Li , Frank Liu , Xin Li , Lawrence T. Pileggi , Sani R. Nassif

It is very common to use dynamic methods to detect deadlocks in MPI programs for the reason that static methods have some restrictions. To guarantee high reliability of some important MPI-based application software, a model of MPI…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-09-25 Liao Ming-Xue , He Xiao-Xin , Fan Zhi-Hua

Designing a static analysis is generally a substantial undertaking, requiring significant expertise in both program analysis and the domain of the program analysis, and significant development resources. As a result, most program analyses…

Programming Languages · Computer Science 2018-10-17 Colin S. Gordon

Common implementations of core memory allocation components, like the Linux buddy system, handle concurrent allocation/release requests by synchronizing threads via spin-locks. This approach is clearly not prone to scale with large thread…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-22 Romolo Marotta , Mauro Ianni , Alessandro Pellegrini , Andrea Scarselli , Francesco Quaglia

Porting code from CPU to GPU is costly and time-consuming; Unless much time is invested in development and optimization, it is not obvious, a priori, how much speed-up is achievable or how much room is left for improvement. Knowing the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-20 Newsha Ardalani , Urmish Thakker , Aws Albarghouthi , Karu Sankaralingam

Synchronization is the Achilles heel of concurrent programs. Synchronization requirement is often used to ensure that the execution of the concurrent program can be serialized. Without synchronization requirement, a program suffers from…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-10-10 Duong Nguyen , Arya Tanmay Gupta , Sandeep S. Kulkarni

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded…

Logic in Computer Science · Computer Science 2016-12-23 Dirk Beyer , Karlheinz Friedberger

Simulating potential cascading failures can be useful for avoiding or mitigating such events. Currently, existing steady-state analysis tools are ill-suited for simulating cascading outages as they do not model frequency dependencies, they…

Signal Processing · Electrical Eng. & Systems 2019-11-25 Amritanshu Pandey , Aayushya Agarwal , Marko Jereminov , Martin R. Wagner , David M. Bromberg , Larry Pileggi

Software model checking suffers from the so-called state explosion problem, and relaxed memory consistency models even worsen this situation. What is worse, parameterizing model checking by memory consistency models, that is, to make the…

Software Engineering · Computer Science 2016-08-23 Tatsuya Abe , Tomoharu Ugawa , Toshiyuki Maeda , Kousuke Matsumoto

Motivated by the need for adaptive, secure and responsive scheduling in a great range of computing applications, including human-centered and time-critical applications, this paper proposes a scheduling framework that seamlessly adds…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-14 Georgios C. Chasparis , Vladimir Janjic , Michael Rossbory

Avoiding access conflicts is a major challenge in the design of multi-threaded programs. In the context of real-time systems, the absence of conflicts can be guaranteed by ensuring that no two potentially conflicting accesses are ever…

Programming Languages · Computer Science 2014-12-03 Jingshu Chen , Marie Duflot , Stephan Merz

Most work on the verification of concurrent objects for shared memory assumes sequential consistency, but most multicore processors support only weak memory models that do not provide sequential consistency. Furthermore, most verification…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-25 Simon Doherty , John Derrick