Communications of the ACM · 1979 · 206 citations · 12 references
ComputingComputer ScienceComputer SystemsComputer ArchitectureDistributed SystemsParallel ComputingConcurrency ControlConcurrent ProgrammingData SynchronizationDistributed SynchronizationShared-memory MultiprocessingSynchronization PrimitivesConcurrent ProcessesEvent OrderingInterprocess SynchronizationMutual ExclusionProcess Synchronization PrimitivesShared MemorySynchronizationSynchronization Mechanisms
Synchronization of concurrent processes requires controlling the relative ordering of events in the processes. A new synchronization mechanism is proposed, using abstract objects called eventcounts and sequencers, that allows processes to control the ordering of events directly, rather than using mutual exclusion to protect manipulations of shared variables that control ordering of events. Direct control of ordering seems to simplify correctness arguments and also simplifies implementation in distributed systems. The mechanism is defined formally, and then several examples of its use are given. The relationship of the mechanism to protection mechanisms in the system is explained; in particular, eventcounts are shown to be applicable to situations where confinement of information matters. An implementation of eventcounts and sequencers in a system with shared memory is described.
12
A lattice model of secure information flow
Dorothy E. Denning · Communications of the ACM · 1976 · 1.9K citations · Full text
C. A. R. Hoare · Communications of the ACM · 1974 · 1.5K citations · Full text
A note on the confinement problem
Butler Lampson · Communications of the ACM · 1973 · 1.4K citations · Full text
Hierarchical ordering of sequential processes
E. Dijkstra · Acta Informatica · 1971 · 777 citations