Franklyn Turbak.
First-Class Synchronization Barriers.
In Proceedings of the International Conference on
Functional Programming (ICFP '96).
Our purpose is to promote a second-class mechanism --- the
synchronization barrier --- to a first-class value. We introduce the
synchron, a novel synchronization mechanism
that enables the coordination of a dynamically varying set of
concurrent threads that share access to a first-class synchronization
token. We demonstrate how synchrons can be used to modularly manage
resources in cases where existing techniques are either inapplicable
or non-modular. In particular, synchronized lazy aggregates
enable the first space-efficient aggregate data decomposition of a wide range
of algorithms. We also introduce firstuse{explicit-demand graph
reduction, a new semantic framework that we have developed to
describe concurrency and explain the meaning of a synchron rendezvous.
[PS] [PDF]