English
Related papers

Related papers: Ready When You Are: Efficient Condition Variables …

200 papers

Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first separation logic for modularly verifying termination of such programs under fair scheduling. Our logic requires the proof author to…

Logic in Computer Science · Computer Science 2021-05-19 Tobias Reinhard , Bart Jacobs

Context-bounded analysis has been shown to be both efficient and effective at finding bugs in concurrent programs. According to its original definition, context-bounded analysis explores all behaviors of a concurrent program up to some…

Logic in Computer Science · Computer Science 2015-07-01 Mohamed Faouzi Atig , Ahmed Bouajjani , Shaz Qadeer

We study context-bounded verification of liveness properties of multi-threaded, shared-memory programs, where each thread can spawn additional threads. Our main result shows that context-bounded fair termination is decidable for the model;…

Formal Languages and Automata Theory · Computer Science 2020-11-13 Pascal Baumann , Rupak Majumdar , Ramanathan S. Thinniyam , Georg Zetzsche

Multicore systems present on-board memory hierarchies and communication networks that influence performance when executing shared memory parallel codes. Characterising this influence is complex, and understanding the effect of particular…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-01 O. G. Lorenzo , M. L. Becoña , T. F. Pena , J. C. Cabaleiro , J. A. Lorenzo , F. F. Rivera

Major chip manufacturers have all introduced Multithreaded processors. These processors are used for running a variety of workloads. Efficient resource utilization is an important design aspect in such processors. Depending on the workload,…

Performance · Computer Science 2019-09-20 Murthy Durbhakula

Multicore is an integrated circuit chip that uses two or more computational engines (cores) places in a single processor. This new approach is used to split the computational work of a threaded application and spread it over multiple…

Operating Systems · Computer Science 2019-10-03 Reza Fotohi , Mehdi Effatparvar , Fateme Sarkohaki , Shahram Behzad , Jaber Hoseini balov

Explicit signaling between threads is a perennial cause of bugs in concurrent programs. While there are several run-time techniques to automatically notify threads upon the availability of some shared resource, such techniques are not…

Programming Languages · Computer Science 2018-04-10 Kostas Ferles , Jacob Van Geffen , Isil Dillig , Yannis Smaragdakis

Wireless communications for status update are becoming increasingly important, especially for machine-type control applications. Existing work has been mainly focused on Age of Information (AoI) optimizations. In this paper, a status-aware…

Information Theory · Computer Science 2020-02-05 Zhiyuan Jiang , Zixu Cao , Siyu Fu , Fei Peng , Shan Cao , Shunqing Zhang , Shugong Xu

Monotonicity in concurrent systems stipulates that, in any global state, extant system actions remain executable when new processes are added to the state. This concept is not only natural and common in multi-threaded software, but also…

Programming Languages · Computer Science 2014-06-26 Alexander Kaiser , Daniel Kroening , Thomas Wahl

Current runtime verification tools seldom make use of multi-threading to speed up the evaluation of a property on a large event trace. In this paper, we present an extension to the BeepBeep 3 event stream engine that allows the use of…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-11 Sylvain Hallé , Raphaël Khoury , Sébastien Gaboury

Many concurrent programs assign priorities to threads to improve responsiveness. When used in conjunction with synchronization mechanisms such as mutexes and condition variables, however, priorities can lead to priority inversions, in which…

Programming Languages · Computer Science 2023-04-10 Stefan K. Muller , Kyle Singer , Devyn Terra Keeney , Andrew Neth , Kunal Agrawal , I-Ting Angelina Lee , Umut A. Acar

Distributed Complex Event Processing has emerged as a well-established paradigm to detect situations of interest from basic sensor streams, building an operator graph between sensors and applications. In order to detect event patterns that…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-17 Ruben Mayer , Muhammad Adnan Tariq , Kurt Rothermel

The pairwise reachability problem for a multi-threaded program asks, given control locations in two threads, whether they can be simultaneously reached in an execution of the program. The problem is important for static analysis and is used…

Logic in Computer Science · Computer Science 2015-07-01 Remi Bonnet , Rohit Chadha , Mahesh Viswanathan , P. Madhusudan

There is an ongoing effort to provide programming abstractions that ease the burden of exploiting multicore hardware. Many programming abstractions (e.g., concurrent objects, transactional memory, etc.) simplify matters, but still involve…

Programming Languages · Computer Science 2022-05-02 Adam Chen , Parisa Fathololumi , Eric Koskinen , Jared Pincus

A customary solution to reduce the energy consumption of wireless communication devices is to periodically put the radio into low-power sleep mode. A relevant problem is to schedule the wake-up of nodes in such a way as to ensure proper…

Networking and Internet Architecture · Computer Science 2011-06-09 Francesco De Pellegrini , Karina Gomez , Daniele Miorandi , Imrich Chlamtac

Context: Model checking has become a key tool for gaining confidence in correctness of multi-threaded programs. Unit tests and functional tests do not suffice because of race conditions that are not discovered by those tests. This problem…

Logic in Computer Science · Computer Science 2023-07-18 Maxwell Pirtle , Luka Jovanovic , Gene Cooperman

Multi-threaded programs have traditionally fallen into one of two domains: cooperative and competitive. These two domains have traditionally remained mostly disjoint, with cooperative threading used for increasing throughput in…

Programming Languages · Computer Science 2018-07-11 Stefan K. Muller , Umut A. Acar , Robert Harper

We consider the broad problem of analyzing safety properties of asynchronous concurrent programs under arbitrary thread interleavings. Delay-bounded deterministic scheduling, introduced in prior work, is an efficient bug-finding technique…

Programming Languages · Computer Science 2021-05-18 Andrew Johnson , Thomas Wahl

To support growing massive parallelism, functional components and also the capabilities of current processors are changing and continue to do so. Todays computers are built upon multiple processing cores and run applications consisting of a…

Programming Languages · Computer Science 2016-04-07 Somnath Mazumdar , Roberto Giorgi

Thread pooling is a common programming idiom in which a fixed set of worker threads are maintained to execute tasks concurrently. The workers repeatedly pick tasks and execute them to completion. Each task is sequential, with possibly…

Formal Languages and Automata Theory · Computer Science 2021-11-18 Pascal Baumann , Rupak Majumdar , Ramanathan S. Thinniyam , Georg Zetzsche
‹ Prev 1 2 3 10 Next ›