Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Concurrent reading and writing
Communications of the ACM
A lattice model of secure information flow
Communications of the ACM
Communications of the ACM
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Synchronization of communicating processes
Communications of the ACM
A note on the confinement problem
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Switching and Finite Automata Theory: Computer Science Series
Switching and Finite Automata Theory: Computer Science Series
Process synchronization without long-term interlock
ACM SIGOPS Operating Systems Review
PROCESSOR MULTIPLEXING IN A LAYED OPERATING SYSTEM
PROCESSOR MULTIPLEXING IN A LAYED OPERATING SYSTEM
A comparison of concurrent languages: a class project
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
On synchronization in hard-real-time systems
Communications of the ACM
Automatic detection of nondeterminacy in parallel programs
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Self-assessment procedure XXI: a self-assessment procedure on concurrency
Communications of the ACM
Concurrency control in multilevel-secure databases based on replicated architecture
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Synchronization without contention
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
A Retrospective on the VAX VMM Security Kernel
IEEE Transactions on Software Engineering
Distributed shared memory with versioned objects
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Distributed asynchronous winner-take-all structures and conflict detection
SAC '92 Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing: technological challenges of the 1990's
Distributed timestamp generation in planar lattice networks
ACM Transactions on Computer Systems (TOCS)
Concurrency control in trusted database management systems: a survey
ACM SIGMOD Record
Spin-Lock Synchronization on the Butterfly and KSR1
IEEE Parallel & Distributed Technology: Systems & Technology
Horus: a flexible group communication system
Communications of the ACM
Digital system simulation: methodologies and examples
DAC '98 Proceedings of the 35th annual Design Automation Conference
A Syntactic Theory of Message Passing
Journal of the ACM (JACM)
Concurrent reading and writing with replicated data objects
CSC '88 Proceedings of the 1988 ACM sixteenth annual conference on Computer science
Office Information Systems and Computer Science
ACM Computing Surveys (CSUR)
A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems
ACM Computing Surveys (CSUR)
An Axiomatic Approach to Information Flow in Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synchronization in Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Copies convergence in a distributed real-time collaborative environment
CSCW '00 Proceedings of the 2000 ACM conference on Computer supported cooperative work
A taxonomy-based comparison of several distributed shared memory systems
ACM SIGOPS Operating Systems Review
Performance analysis of a constrained resource sharing system
Queueing Systems: Theory and Applications
IEEE Transactions on Knowledge and Data Engineering
IEEE Transactions on Knowledge and Data Engineering
Advanced Transaction Processing in Multilevel Secure File Stores
IEEE Transactions on Knowledge and Data Engineering
A Resilient Mutual Exclusion Algorithm for Computer Networks
IEEE Transactions on Parallel and Distributed Systems
Database Concurrency Control in Multilevel Secure Database Management Systems
IEEE Transactions on Knowledge and Data Engineering
Performance visualization for distributed shared memory systems
Virtual shared memory for distributed architectures
Research problems of decentralized systems with largely autonomous nodes
ACM SIGOPS Operating Systems Review
A procedure for designing abstract interfaces for device interface modules
ICSE '81 Proceedings of the 5th international conference on Software engineering
On the performance of decentralized software
PERFORMANCE '80 Proceedings of the 1980 international symposium on Computer performance modelling, measurement and evaluation
Lamport's algorithm reconsidered
ACM '82 Proceedings of the ACM '82 conference
Managing Concurrent Access for Shared Memory Active Messages
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
On the semantics of control statements
ACM SIGPLAN Notices
Distributed co-operating processes and transactions
SIGCOMM '83 Proceedings of the symposium on Communications Architectures & Protocols
Distributed computing using Java: a comparison of two server designs
Journal of Systems Architecture: the EUROMICRO Journal
Performance of concurrent servers generated automatically from sequential servers
Sedms'93 USENIX Systems on USENIX Experiences with Distributed and Multiprocessor Systems - Volume 4
The NYU Ultracomputer Designing an MIMD Shared Memory Parallel Computer
IEEE Transactions on Computers
A security architecture for transient trust
Proceedings of the 2nd ACM workshop on Computer security architectures
Critical sections: re-emerging scalability concerns for database storage engines
Proceedings of the 4th international workshop on Data management on new hardware
Parallel sparse polynomial multiplication using heaps
Proceedings of the 2009 international symposium on Symbolic and algebraic computation
Decoupling contention management from scheduling
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Implementing commercial data integrity with secure capabilities
SP'88 Proceedings of the 1988 IEEE conference on Security and privacy
A distributed synchronization mechanism for interacting processes
Computer Languages
Unifying synchronization and events in a multicore OS
Proceedings of the Asia-Pacific Workshop on Systems
Unifying synchronization and events in a multicore OS
APSys'12 Proceedings of the Third ACM SIGOPS Asia-Pacific conference on Systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Naiad: a timely dataflow system
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Hi-index | 48.27 |
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.