Fairness for transactional events

  • Authors:
  • Edward Amsden;Matthew Fluet

  • Affiliations:
  • Rochester Institute of Technology, Rochester, NY;Rochester Institute of Technology, Rochester, NY

  • Venue:
  • IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transactional events are a recent concurrency abstraction that combines first-class synchronous message-passing events with all-or-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.