Fairness for Transactional Events
نویسندگان
چکیده
Transactional events are a recent concurrency abstraction that combines first-class synchronous message-passing events with allor-nothing transactions. While prior work gave a semantics and an implementation for transactional events, it provided no guarantees about which of the many non-deterministic executions might be exhibited by a program. For concurrent systems, like transactional events, it is natural to expect certain fairness conditions to hold on executions. Intuitively, fairness guarantees that any system component that could (sufficiently often) make progress does, in fact, make progress. In this work, we investigate fairness for transactional events. We give a rigorous definition of fair program executions in transactional events, describe a refined operational semantics that guarantees fair executions, and discuss restrictions and assumptions necessary for the correctness of an implementation based on the refined semantics.
منابع مشابه
Software Transactional Memory Friendly Slot Schedulers
In this paper, we discuss the design space of highly concurrent linearizable data structures for slot scheduling. We observe that it is not possible to have high fairness across threads, and maximize throughput of the entire system simultaneously. Lock free algorithms are very fast, yet very unfair, and wait free algorithms follow the reverse trend. We thus propose a class of algorithms using s...
متن کاملExtending Contention Managers for User-Defined Priority-Based Transactions
Transactional memory (TM) contention management (CM) is the process of handling memory conflicts in transactions. Contention managers were first proposed as a way of separating transactional progress from correctness and to prevent transactional starvation. While significant work in the area of contention management has been done, most prior work has focused on preventing starvation through var...
متن کاملAn Opaque Hybrid Transactional Memory
The arrival of best-effort hardware transactional memory (TM) creates a challenge for designers of transactional memory runtime libraries. On the one hand, using hardware TM can dramatically reduce the latency of transactions. On the other, it is critical to create a fall-back path to handle the cases where hardware TM cannot complete a transaction, and this path ought to be scalable and reason...
متن کاملEnhanced Concurrency Control with Transactional NACKs
Transactional memory (TM) is a promising technique that simplifies parallel programming by supporting atomic and isolated execution of code sections. To provide robust performance and fairness guarantees, however, TM must dynamically adjust the degree of concurrency among transactions. To design an efficient concurrency controller for TM, critical system information, such as dependencies among ...
متن کاملOperating System Transactions
Applications must be able to synchronize accesses to operating system resources in order to ensure correctness in the face of concurrency and system failures. System transactions allow the programmer to specify updates to heterogeneous system resources with the OS guaranteeing atomicity, consistency, isolation, and durability (ACID). System transactions efficiently and cleanly solve persistent ...
متن کامل