Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Process synchronization without long-term interlock
SOSP '71 Proceedings of the third ACM symposium on Operating systems principles
Axioms for memory access in asynchronous hardware systems
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Constructing multi-reader atomic values from non-atomic values
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
A protocol for wait-free, atomic, multi-reader shared variables
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Constructing Two-Writer Atomic Registers
IEEE Transactions on Computers
Impossibility and universality results for wait-free synchronization
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Asynchronous shared memory parallel computation
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
Wait-free data structures in the asynchronous PRAM model
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mass market computers for software development
SIGSMALL '91 Proceedings of the 1991 ACM SIGSMALL/PC symposium on Small systems
Randomized wait-free concurrent objects (extended abstract)
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Impossibility results for asynchronous PRAM (extended abstract)
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Asynchronous shared memory parallel computation (preliminary version)
ACM SIGARCH Computer Architecture News - Symposium on parallel algorithms and architectures
Concurrent reading and writing of clocks
ACM Transactions on Computer Systems (TOCS)
Visual support for version management
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
Performance issues in non-blocking synchronization on shared-memory multiprocessors
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
Mass market computer for software development
ACM SIGSMALL/PC Notes
Distributed timestamp generation in planar lattice networks
ACM Transactions on Computer Systems (TOCS)
On the robustness of Herlihy's hierarchy
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Lock-free linked lists using compare-and-swap
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Real-time computing with lock-free shared objects
ACM Transactions on Computer Systems (TOCS)
Fault-tolerant wait-free shared objects
Journal of the ACM (JACM)
A Mechanically Checked Proof of a Multiprocessor Result via a Uniprocessor View
Formal Methods in System Design
EMERALDS: a small-memory real-time microkernel
Proceedings of the seventeenth ACM symposium on Operating systems principles
Efficient locking for concurrent operations on B-trees
ACM Transactions on Database Systems (TODS)
Concurrent manipulation of binary search trees
ACM Transactions on Database Systems (TODS)
Concurrent reading and writing with replicated data objects
CSC '88 Proceedings of the 1988 ACM sixteenth annual conference on Computer science
Simple and efficient bounded concurrent timestamping and the traceable use abstraction
Journal of the ACM (JACM)
A New Approach to Proving the Correctness of Multiprocess Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent Reading While Writing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Synchronization with eventcounts and sequencers
Communications of the ACM
Lamport on mutual exclusion: 27 years of planting seeds
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
Bounded concurrent timestamp systems using vector clocks
Journal of the ACM (JACM)
Speculative lock elision: enabling highly concurrent multithreaded execution
Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
Verification of randomized distributed algorithms
Lectures on formal methods and performance analysis
f-arrays: implementation and applications
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Transactional lock-free execution of lock-based programs
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
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
Concurrent Reading and Writing with Mobile Agents
IWDC '02 Proceedings of the 4th International Workshop on Distributed Computing, Mobile and Wireless Computing
New Concurrency Control Algorithms for Accessing and Compacting B-Trees
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Failure Detection Lower Bounds on Registers and Consensus
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
Improving Wait-Free Algorithms for Interprocess Communication in Embedded Real-Time Systems
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Dijkstra's Self-Stabilizing Algorithm in Unsupportive Environments
WSS '01 Proceedings of the 5th International Workshop on Self-Stabilizing Systems
Time-space trade-offs for asynchronous parallel models (Reducibilities and Equivalences)
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
Predicate control: synchronization in distributed computations with look-ahead
Journal of Parallel and Distributed Computing
Scalable lock-free dynamic memory allocation
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Verification of the randomized consensus algorithm of Aspnes and Herlihy: a case study
Distributed Computing
Software environment for integrating critical real-time control systems
Journal of Systems Architecture: the EUROMICRO Journal
Distributed Computing
Virtualizing Transactional Memory
Proceedings of the 32nd annual international symposium on Computer Architecture
Multi-writer composite registers
Distributed Computing
APSS: proactive secret sharing in asynchronous systems
ACM Transactions on Information and System Security (TISSEC)
Wait-free computing: an introductory lecture
Future Generation Computer Systems - Special issue: Parallel computing technologies
Designing irregular parallel algorithms with mutual exclusion and lock-free protocols
Journal of Parallel and Distributed Computing
MetaTM/TxLinux: transactional memory for an operating system
Proceedings of the 34th annual international symposium on Computer architecture
TxLinux: using and managing hardware transactional memory in an operating system
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
A multi-purpose implementation of mandatory access control in relational database management systems
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Assessing the benefits of synchronization-adorned sequence diagrams: two controlled experiments
Proceedings of the 4th ACM symposium on Software visualization
Implementing AUTOSAR scheduling and resource management on an embedded SMT processor
Proceedings of th 12th International Workshop on Software and Compilers for Embedded Systems
Non-blocking programming on multi-core graphics processors: (extended asbtract)
ACM SIGARCH Computer Architecture News
Wait-free computing: an introductory lecture
Future Generation Computer Systems - Special issue: Parallel computing technologies
Design and evaluation of extensions to UML sequence diagrams for modeling multithreaded interactions
Information Visualization
ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory
MICRO '43 Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
Efficiently implementing LL/SC objects shared by an unknown number of processes
IWDC'05 Proceedings of the 7th international conference on Distributed Computing
Bounded model checking of concurrent data types on relaxed memory models: a case study
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Lock-Free parallel algorithms: an experimental study
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Non-blocking hashtables with open addressing
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Efficiently implementing a large number of LL/SC objects
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
Scalable and precise dynamic datarace detection for structured parallelism
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
From unreliable objects to reliable objects: the case of atomic registers and consensus
PaCT'07 Proceedings of the 9th international conference on Parallel Computing Technologies
An efficient unbounded lock-free queue for multi-core systems
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Programming with relaxed synchronization
Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability
Hi-index | 48.24 |
The problem of sharing data among asynchronous processes is considered. It is assumed that only one process at a time can modify the data, but concurrent reading and writing is permitted. Two general theorems are proved, and some algorithms are presented to illustrate their use. These include a solution to the general problem in which a read is repeated if it might have obtained an incorrect result, and two techniques for transmitting messages between processes. These solutions do not assume any synchronizing mechanism other than data which can be written by one process and read by other processes.