logo

Books

Shared Memory Synchronization (2nd edition)

Journal papers

Simple, Fast and Widely Applicable Concurrent Memory Reclamation via Neutralization
PHyTM: persistent hybrid transactional memory

Conference papers

Practical Hardware Transactional vEB Trees
Are Your Epochs Too Epic? Batch Free Can Be Harmful
The fence complexity of persistent sets
Efficient hardware primitives for immediate memory reclamation in optimistic data structures
Performance anomalies in concurrent data structure microbenchmarks
PREP-UC: A practical replicated persistent universal construction
PathCAS: An efficient middle ground for concurrent search data structures
Elimination (a,b)-trees with fast, durable updates
NBR: Neutralization based reclamation
Memory Tagging: Minimalist Synchronization for Scalable Concurrent Data Structures
Non-blocking interpolation search trees with doubly-logarithmic running time
Snapshot-based synchronization: a fast replacement for hand-over-hand locking
Relaxed schedulers efficiently parallelize sequential algorithms
Distributionally linearizable data structures
Getting to the root of concurrent search tree performance
Harnessing epoch-based reclamation for efficient range queries
Reuse, don't recycle: transforming lock-free algorithms that throw away descriptors
Cost of concurrency in hybrid transactional memory
A template for implementing fast lock-free trees using HTM
Investigating the performance of hardware transactions on a multi-socket machine
Reclaiming memory for lock-free data structures: there has to be a better way
B-slack trees: space efficient B-trees
A general technique for non-blocking trees
Pragmatic primitives for non-blocking data structures
Range queries in non-blocking k-ary search trees
Non-blocking k-ary search trees

Workshop papers

Cost of concurrency in hybrid transactional memory
Persistent hybrid transactional memory
Investigating the performance of hardware transactions on a multi-socket machine

Short papers and posters

Unexpected scaling in path copying trees
Brief Announcement: Performance anomalies in concurrent data structure microbenchmarks
Reuse, don't recycle: transforming lock-free algorithms that throw away descriptors
Concurrent data structures
Faster data structures in transactional memory using three paths
A general technique for non-blocking trees

Technical reports

Are Your Epochs Too Epic? Batch Free Can Be Harmful
PathCAS: An efficient middle ground for concurrent search data structures
Performance anomalies in concurrent data structure microbenchmarks
Elimination (a,b)-trees with fast, durable updates
NBR: Neutralization based reclamation
Analysis and Evaluation of Non-Blocking Interpolation Search Trees
Relaxed schedulers efficiently parallelize sequential algorithms
Distributionally linearizable data structures
A general technique for non-blocking trees
Pragmatic primitives for non-blocking data structures
Range queries in non-blocking k-ary search trees
B-slack trees: space efficient B-trees
Reclaiming memory for lock-free data structures: there has to be a better way
A template for implementing fast lock-free trees using HTM
Reuse, don't recycle: transforming lock-free algorithms that throw away descriptors
Non-blocking k-ary search trees

Patents

Adaptive techniques for improving performance of hardware transactions on multi-socket machines