The structure of the “THE”-multiprogramming system
Communications of the ACM
Additional comments on a problem in concurrent programming control
Communications of the ACM
Additional comments on a problem in concurrent programming control
Communications of the ACM
Solution of a problem in concurrent programming control
Communications of the ACM
Debugging Parallel Programs with Instant Replay
IEEE Transactions on Computers
Some experiments in object-oriented simulation
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
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
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Constructing Two-Writer Atomic Registers
IEEE Transactions on Computers
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Multiparty Interactions for Interprocess Communication and Synchronization
IEEE Transactions on Software Engineering
Specifying Ada Server Tasks with Executable Formal Grammars
IEEE Transactions on Software Engineering
Starvation and Critical Race Analyzers for Ada
IEEE Transactions on Software Engineering
Paradigms for process interaction in distributed programs
ACM Computing Surveys (CSUR)
Process coordination with fetch-and-increment
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Synchronization without contention
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
A system for teaching concurrent programming
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Scalable reader-writer synchronization for shared-memory multiprocessors
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
On satisfying timing constraints in hard-real-time systems
SIGSOFT '91 Proceedings of the conference on Software for citical systems
Temporal Logic-Based Deadlock Analysis for Ada
IEEE Transactions on Software Engineering
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Resource bounds and combinations of consensus objects
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
On the robustness of Herlihy's hierarchy
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Journal of the ACM (JACM)
ACM SIGCSE Bulletin
Translation of the protected type mechanism in Ada 83
ACM SIGAda Ada Letters
ACM SIGOPS Operating Systems Review
ACM Computing Surveys (CSUR)
Polylog randomized wait-free consensus
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Fault-tolerant wait-free shared objects
Journal of the ACM (JACM)
A simple local-spin group mutual exclusion algorithm
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
What it means for a concurrent program to satisfy a specification: why no one has specified priority
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
System level concurrency control for distributed database systems
ACM Transactions on Database Systems (TODS)
ELECTRE: A language using control structure expressions to specify synchronization
ACM '85 Proceedings of the 1985 ACM annual conference on The range of computing : mid-80's perspective: mid-80's perspective
Synchronization Problems Solvable by Generalized PV Systems
Journal of the ACM (JACM)
Semaphore primitives and starvation-free mutual exclusion
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
Analyzing synchronization problems by using event histories as languages
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrent Reading While Writing
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
Synchronization with eventcounts and sequencers
Communications of the ACM
An alternative to event queues for synchronization in monitors
Communications of the ACM
Concurrent reading and writing
Communications of the ACM
A language for formal problem specification
Communications of the ACM
Formal verification of parallel programs
Communications of the ACM
On a solution to the cigarette smoker's problem (without conditional statements)
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
A Simple Local-Spin Group Mutual Exclusion Algorithm
IEEE Transactions on Parallel and Distributed Systems
Actor induction and meta-evaluation
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Parallel program correctness through refinement
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Simple, Object-Based View of Multiprogramming
Formal Methods in System Design
Performance Evaluation of a Threshold Policy for Scheduling Readers and Writers
IEEE Transactions on Computers
Fast Algorithms for Distributed Resource Allocation
IEEE Transactions on Parallel and Distributed Systems
Capsules: A Shared Memory Access Mechanism for Concurrent C/C++
IEEE Transactions on Parallel and Distributed Systems
On Satisfying Timing Constraints in Hard-Real-Time Systems
IEEE Transactions on Software Engineering
Effective Recognizability and Model Checking of Reactive Fiffo Automata
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
Synthesis of Large Concurrent Programs via Pairwise Composition
CONCUR '99 Proceedings of the 10th International Conference on Concurrency Theory
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
Advanced Thread Synchronization in Java Using Interaction Expressions
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Qualifying Types Illustrated by Synchronisation Examples
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
The invention of concurrent programming
The origin of concurrent programming
The origin of concurrent programming
Monitors: an operating system structuring concept
The origin of concurrent programming
The congenial talking philosophers problem in computer networks
Distributed Computing
A proposal for certain process management and intercommunication primitives
ACM SIGOPS Operating Systems Review
The TYPESET-10 Message Exchange Facility: a case study in systemic design
ACM SIGOPS Operating Systems Review
A constructive approach to reliable synchronization code
ICSE '79 Proceedings of the 4th international conference on Software engineering
An algebraic system for process structuring and interprocess communication
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Optimal replication of parallel-read, sequential-write systems
PERFORMANCE '80 Proceedings of the 1980 international symposium on Computer performance modelling, measurement and evaluation
Indeterminacy, monitors, and dataflow
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
SODA: A simplified operating system for distributed applications
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Semantic aspects of concurrent processes
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Language features for process interaction
Proceedings of an ACM conference on Language design for reliable software
High level description and implementation of resource schedulers
ACM '82 Proceedings of the ACM '82 conference
ACM '75 Proceedings of the 1975 annual conference
SYNVER: A system for the automatic synthesis and verification of synchronization processes
ACM '74 Proceedings of the 1974 annual conference - Volume 1
Verifying formal specifications of synchronous processes
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Process synchronization by counter variables
ACM SIGOPS Operating Systems Review
SODA: a simplified operating system for distributed applications
ACM SIGOPS Operating Systems Review
Performance analysis of five interprocess communication mechanisms across UNIX operating systems
Journal of Systems and Software
Shared-memory mutual exclusion: major research trends since 1986
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Arbitration-free synchronization
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Predicate control: synchronization in distributed computations with look-ahead
Journal of Parallel and Distributed Computing
When graph theory helps self-stabilization
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Permission accounting in separation logic
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Asynchronous group mutual exclusion
Distributed Computing
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
Distributed Computing
Multi-writer composite registers
Distributed Computing
APSS: proactive secret sharing in asynchronous systems
ACM Transactions on Information and System Security (TISSEC)
Stabilizing mobile philosophers
Information Processing Letters
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
AspectAda: aspect oriented programming for ada95
Proceedings of the 2005 annual ACM SIGAda international conference on Ada: The Engineering of Correct and Reliable Software for Real-Time & Distributed Systems using Ada and Related Technologies
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design and Evaluation of a Diagrammatic Notation to Aid in the Understanding of Concurrency Concepts
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Performance pathologies in hardware transactional memory
Proceedings of the 34th annual international symposium on Computer architecture
Aspects of Applicative Programming for Parallel Processing
IEEE Transactions on Computers
AspectC2C: a symmetric aspect extension to the C language
ACM SIGPLAN Notices
Concurrent reading while writing II: The multi-writer case
SFCS '87 Proceedings of the 28th Annual Symposium on Foundations of Computer Science
The application of program-proving techniques to the verification of synchronization processes
AFIPS '72 (Fall, part I) Proceedings of the December 5-7, 1972, fall joint computer conference, part I
Identifying Inter-task Communication in Shared Memory Programming Models
IWOMP '09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
A Grainless Semantics for Parallel Programs with Shared Mutable Data
Electronic Notes in Theoretical Computer Science (ENTCS)
Variables as Resource in Separation Logic
Electronic Notes in Theoretical Computer Science (ENTCS)
Stabilizing mobile philosophers
Information Processing Letters
Self-stabilizing atomicity refinement allowing neighborhood concurrency
SSS'03 Proceedings of the 6th international conference on Self-stabilizing systems
Proving ptolemy right: the environment abstraction framework for model checking concurrent systems
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Concurrency control generation for dynamic threads using discrete-event systems
Allerton'09 Proceedings of the 47th annual Allerton conference on Communication, control, and computing
Lock elision for read-only critical sections in Java
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Transparent, lightweight application execution replay on commodity multiprocessor operating systems
Proceedings of the ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Agent-oriented programming: from prolog to guarded definite clauses
Agent-oriented programming: from prolog to guarded definite clauses
Group mutual exclusion in O(log n) RMR
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Constant RMR solutions to reader writer synchronization
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Science of Computer Programming
Paranoid Android: versatile protection for smartphones
Proceedings of the 26th Annual Computer Security Applications Conference
Specification and constant RMR algorithm for phase-fair reader-writer lock
ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
Verification of orchestration systems using compositional partial order reduction
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Compiler support for concurrency synchronization
ICA3PP'11 Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I
Proving liveness with fairness using rewriting
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Role-Based declarative synchronization for reconfigurable systems
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
SAT based bounded model checking with partial order semantics for timed automata
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Exploiting parallelism in deterministic shared memory multiprocessing
Journal of Parallel and Distributed Computing
A distributed synchronization mechanism for interacting processes
Computer Languages
Message oriented programming-A resource based methodology
Computer Languages
Inter-entry selection: Non-determinism and explicit control mechanisms
Computer Languages
Abortable reader-writer locks are no more complex than abortable mutex locks
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Concurrent libraries with foresight
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
AutoSynch: an automatic-signal monitor based on predicate tagging
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Joins: a case study in modular specification of a concurrent reentrant higher-order library
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Using HPX and LibGeoDecomp for scaling HPC applications on heterogeneous supercomputers
ScalA '13 Proceedings of the Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems
Concurrency control generation for dynamic threads using discrete-event systems
Science of Computer Programming
Hi-index | 48.37 |
The problem of the mutual exclusion of several independent processes from simultaneous access to a “critical section” is discussed for the case where there are two distinct classes of processes known as “readers” and “writers.” The “readers” may share the section with each other, but the “writers” must have exclusive access. Two solutions are presented: one for the case where we wish minimum delay for the readers; the other for the case where we wish writing to take place as early as possible.