Share This Author
Software transactional memory for dynamic-sized data structures
A new form of software transactional memory designed to support dynamic-sized data structures, and a novel non-blocking implementation of this STM that uses modular contention managers to ensure progress in practice.
Transactional boosting: a methodology for highly-concurrent transactional objects
A simple wrapper for the linearizable implementation that guarantees that concurrent transactions without inherent conflicts can synchronize at the same granularity as the originallinearizable implementation is defined.
Atomic Cross-Chain Swaps
- M. Herlihy
- Mathematics, Computer SciencePODC
- 29 January 2018
This work gives an atomic cross-chain swap protocol for D, using a form of hashed timelock contracts, where the vertexes in L generate the hashlocked secrets and it is shown that no such protocol is possible if D is not strongly connected, orIf D is strongly connected but L is not a feedback vertex set.
Distributed transactional memory for metric-space networks
The heart of the design is a new cache-coherence protocol, called the Ballistic protocol, for tracking and moving up-to-date copies of cached objects, which has stretch logarithmic in the diameter of the network.
A Lazy Concurrent List-Based Set Algorithm
- S. Heller, M. Herlihy, Victor Luchangco, Mark Moir, William N. Scherer, N. Shavit
- Computer ScienceParallel Process. Lett.
- 12 December 2005
We present a novel “lazy” list-based implementation of a concurrent set object. It is based on an optimistic locking scheme for inserts and removes and includes a simple wait-free membership test.…
A persistent lock-free queue for non-volatile memory
This paper proposes three novel implementations of a concurrent lock-free queue and implemented the various designs and compared their performance overhead to a simple queue design for standard (volatile) memory.
Distributed Computing Through Combinatorial Topology
The Arrow Distributed Directory Protocol
The Arrow distributed directory protocol is devised, a scalable and local mechanism for ensuring mutually exclusive access to mobile objects and has communication complexity optimal within a factor of (1+MST-stretch(G))/2, where MST-Stretch( G) is the “minimum spanning tree stretch” of the underlying network.
Adding concurrency to smart contracts
- Thomas D. Dickerson, Paul Gazzillo, M. Herlihy, Eric Koskinen
- Computer ScienceDistributed Computing
- 15 February 2017
This paper presents a novel way to permit miners and validators to execute smart contracts in parallel, based on techniques adapted from software transactional memory and proves that the validator's execution is equivalent to miner’s execution.
Nonblocking memory management support for dynamic-sized data structures
Novel techniques are introduced that allow lock-free data structures to allocate and free memory dynamically using any thread-safe memory management library, and it is shown that the overhead introduced is moderate, and is negligible under low contention.