Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Victor Luchangco is active.

Publication


Featured researches published by Victor Luchangco.


international conference on distributed computing systems | 2003

Obstruction-free synchronization: double-ended queues as an example

Maurice Herlihy; Victor Luchangco; Mark Moir

We introduce obstruction-freedom, a new nonblocking property for shared data structure implementations. This property is strong enough to avoid the problems associated with locks, but it is weaker than previous nonblocking properties-specifically lock-freedom and wait-freedom-allowing greater flexibility in the design of efficient implementations. Obstruction-freedom admits substantially simpler implementations, and we believe that in practice it provides the benefits of wait-free and lock-free implementations. To illustrate the benefits of obstruction-freedom, we present two obstruction-free CAS-based implementations of double-ended queues (deques); the first is implemented on a linear array, the second on a circular array. To our knowledge, all previous nonblocking deque implementations are based on unrealistic assumptions about hardware support for synchronization, have restricted functionality, or have operations that interfere with operations at the opposite end of the deque even when the deque has many elements in it. Our obstruction-free implementations have none of these drawbacks, and thus suggest that it is much easier to design obstruction-free implementations than lock-free and wait-free ones. We also briefly discuss other obstruction-free data structures and operations that we have implemented.


international conference on principles of distributed systems | 2005

A lazy concurrent list-based set algorithm

Steve Heller; Maurice Herlihy; Victor Luchangco; Mark Moir; William N. Scherer; Nir Shavit

List-based implementations of sets are a fundamental building block of many concurrent algorithms. A skiplist based on the lock-free list-based set algorithm of Michael will be included in the JavaTM Concurrency Package of JDK 1.6.0. However, Michaels lock-free algorithm has several drawbacks, most notably that it requires all list traversal operations, including membership tests, to perform cleanup operations of logically removed nodes, and that it uses the equivalent of an atomically markable reference, a pointer that can be atomically “marked,” which is expensive in some languages and unavailable in others. 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, eliminating the need to use the equivalent of an atomically markable reference. It also has a novel wait-free membership test operation (as opposed to Michaels lock-free one) that does not need to perform cleanup operations and is more efficient than that of all previous algorithms. Empirical testing shows that the new lazy-list algorithm consistently outperforms all known algorithms, including Michaels lock-free algorithm, throughout the concurrency range. At high load, with 90% membership tests, the lazy algorithm is more than twice as fast as Michaels. This is encouraging given that typical search structure usage patterns include around 90% membership tests. By replacing the lock-free membership test of Michaels algorithm with our new wait-free one, we achieve an algorithm that slightly outperforms our new lazy-list (though it may not be as efficient in other contexts as it uses Javas RTTI mechanism to create pointers that can be atomically marked).


international symposium on distributed computing | 2002

The repeat offender problem: a mechanism for supporting dynamic-sized lock-free data structures

Maurice Herlihy; Victor Luchangco; Mark Moir

We define the Repeat Offender Problem (ROP). Elsewhere, we have presented the first dynamic-sized, lock-free data structures that can free memory to any standard memory allocator--even after thread failures--without requiring special support from the operating system, the memory allocator, or the hardware. These results depend on a solution to the ROP problem. Here we present the first solution to the ROP problem and its correctness proof. Our solution is implementable in most modern shared memory multiprocessors.


Parallel Processing Letters | 2007

A Lazy Concurrent List-Based Set Algorithm

Steve Heller; Maurice Herlihy; Victor Luchangco; Mark Moir; William N. Scherer; Nir Shavit

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. Our algorithm improves on the performance of all previous such algorithms.


formal techniques for networked and distributed systems | 2004

Formal Verification of a Practical Lock-Free Queue Algorithm

Simon Doherty; Lindsay Groves; Victor Luchangco; Mark Moir

We describe a semi-automated verification of a slightly optimised version of Michael and Scott’s lock-free FIFO queue implementation. We verify the algorithm with a simulation proof consisting of two stages: a forward simulation from an automaton modelling the algorithm to an intermediate automaton, and a backward simulation from the intermediate automaton to an automaton that models the behaviour of a FIFO queue. These automata are encoded in the input language of the PVS proof system, and the properties needed to show that the algorithm implements the specification are proved using PVS’s theorem prover.


principles of distributed computing | 2007

SNZI: scalable NonZero indicators

Faith Ellen; Yossi Lev; Victor Luchangco; Mark Moir

We introduce the SNZI shared object, which is related to traditional shared counters, but has weaker semantics. We also introduce a resettable version of SNZI called SNZI-R. We present implementations that are scalable, linearizable, nonblocking, and fast in the absence of contention, properties that are difficult or impossible to achieve simultaneously with the stronger semantics of traditional counters. Our primary motivation in introducing SNZI and SNZI-R is to use them to improve the performance and scalability of software and hybrid transactional memory systems. We present performance experiments showing that our implementations have excellent performance characteristics for this purpose.


ACM Transactions on Computer Systems | 2005

Nonblocking memory management support for dynamic-sized data structures

Maurice Herlihy; Victor Luchangco; Paul A. Martin; Mark Moir

Conventional dynamic memory management methods interact poorly with lock-free synchronization. In this article, we introduce novel techniques that allow lock-free data structures to allocate and free memory dynamically using any thread-safe memory management library. Our mechanisms are lock-free in the sense that they do not allow a thread to be prevented from allocating or freeing memory by the failure or delay of other threads. We demonstrate the utility of these techniques by showing how to modify the lock-free FIFO queue implementation of Michael and Scott to free unneeded memory. We give experimental results that show that the overhead introduced by such modifications is moderate, and is negligible under low contention.


principles of distributed computing | 1996

Eventually-serializable data services

Alan Fekete; David Gupta; Victor Luchangco; Nancy A. Lynch; Alexander A. Shvartsman

We present a new specification for distributed data services that trade-off immediate consistency guarantees for improved system availability and efficiency, while ensuring the long-term consistency of the data. An eventually-serializable data service maintains the operations requested in a partial order that gravitates over time towards a total order. It provides clear and unambiguous guarantees about the immediate and long-term behavior of the system. To demonstrate its utility, we present an algorithm, based on one of Ladin, Liskov, Shrira, and Ghemawat [12], that implements this specification. Our algorithm provides the interface of the abstract service, and generalizes their algorithm by allowing general operations and greater flexibility in specifying consistency requirements. We also describe how to use this specification as a building block for applications such as directory services.


computer aided verification | 2006

Formal verification of a lazy concurrent list-based set algorithm

Robert Colvin; Lindsay Groves; Victor Luchangco; Mark Moir

A process for the removal and recovery of sulfur oxides from gas streams by contacting the gas stream with an aqueous suspension of melamine whereupon a mixture of solid, hydrated melamine sulfites, hydrated melamine sulfate is formed. The solids are separated from the reaction product and the clarified liquid recycled. The solids are then heated to temperatures up to 200 DEG C. to decompose the hydrated melamine sulfites into free melamine, gaseous water, and sulfur dioxide, and the gaseous water and sulfur dioxide withdrawn as product. The hot solids are cooled and split into two portions. One portion is recycled and the other portion is treated with a base stronger than melamine to decompose the contained melamine sulfate into free melamine and a basic sulfate salt solution. The basic sulfate salt solution is separated from the melamine and withdrawn as product and the melamine is recycled to the process.


acm symposium on parallel algorithms and architectures | 2004

DCAS is not a silver bullet for nonblocking algorithm design

Simon Doherty; David L. Detlefs; Lindsay Groves; Christine H. Flood; Victor Luchangco; Paul A. Martin; Mark Moir; Nir Shavit; Guy L. Steele

Despite years of research, the design of efficient nonblocking algorithms remains difficult. A key reason is that current shared-memory multiprocessor architectures support only single-location synchronisation primitives such as compare-and-swap (CAS) and load-linked/store-conditional (LL/SC). Recently researchers have investigated the utility of double-compare-and-swap (DCAS)--a generalisation of CAS that supports atomic access to two memory locations -- in overcoming these problems. We summarise recent research in this direction and present a detailed case study concerning a previously published nonblocking DCAS-based double-ended queue implementation. Our summary and case study clearly show that DCAS does not provide a silver bullet for nonblocking synchronisation. That is, it does not make the design and verification of even mundane nonblocking data structures with desirable properties easy. Therefore, our position is that while slightly more powerful synchronisation primitives can ave a profound effect on ease of algorithm design and verification, DCAS does not provide sufficient additional power over CAS to justify supporting it in hardware.

Collaboration


Dive into the Victor Luchangco's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nir Shavit

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Guy L. Steele

Business International Corporation

View shared research outputs
Top Co-Authors

Avatar

Paul A. Martin

Sun Microsystems Laboratories

View shared research outputs
Top Co-Authors

Avatar

Jan-Willem Maessen

Sun Microsystems Laboratories

View shared research outputs
Top Co-Authors

Avatar

Nancy A. Lynch

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Virendra J. Marathe

Business International Corporation

View shared research outputs
Researchain Logo
Decentralizing Knowledge