Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Science of Computer Programming - Special issue on mathematics of program construction
Nonblocking k-compare-single-swap
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
A scalable lock-free stack algorithm
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
Transactions with isolation and cooperation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Journal of Functional Programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Highly-concurrent multi-word synchronization
ICDCN'08 Proceedings of the 9th international conference on Distributed computing and networking
Supporting lock-free composition of concurrent data objects
Proceedings of the 7th ACM international conference on Computing frontiers
Flat combining and the synchronization-parallelism tradeoff
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Communicating memory transactions
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Transaction communicators: enabling cooperation among concurrent transactions
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Hi-index | 0.00 |
Efficient communication and synchronization is crucial for fine grained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the needs of specific users. We introduce reagents, a set of combinators for concisely expressing concurrency algorithms. Reagents scale as well as their hand-coded counterparts, while providing the composability existing libraries lack.