DEPARTMENT OF COMPUTER SCIENCE
DOCTORAL DISSERTATION DEFENSE
Candidate: Niki Afshartous
Advisor: Benjamin Goldberg
Higher-Order Conditional Synchronization
11:00 a.m., Friday, November 6, 1998
12th floor conference room, 719 Broadway
Conditional synchronization - a mechanism that conditionally blocks a thread based on the value of a boolean expression currently exists in several programming languages. We propose promoting conditional synchronization to first-class status allowing the synchronization object representing a suspended conditional synchronization to be passed as a value.
To demonstrate our idea we extend Concurrent ML and present
several examples illustrating the expressiveness of first-class
conditional synchronization (FCS). FCS has broadcast semantics
making it appropriate for applications such as barriers and
discrete-event simulation. The semantics also guarantee that
no transient store configurations are missed.
The end result facilitates abstraction and adds flexibility in
writing concurrent programs. To minimize re-evaluation of
synchronization conditions we propose a static analysis and
translation that identifies expressions for the run-time system that
could affect the value of a synchronization condition. The static
analysis (which is based on an effect type system) therefore precludes
excessive run-time system polling of synchronization conditions.