Network


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

Hotspot


Dive into the research topics where Tyler Crain is active.

Publication


Featured researches published by Tyler Crain.


acm sigplan symposium on principles and practice of parallel programming | 2012

A speculation-friendly binary search tree

Tyler Crain; Vincent Gramoli; Michel Raynal

We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (non-speculative) accesses to have a bounded complexity. Researchers tried to evaluate transactional memory using such tree structures whose prominent example is the red-black tree library developed by Oracle Labs that is part of multiple benchmark distributions. Although well-engineered, such structures remain badly suited for speculative accesses, whose step complexity might raise dramatically with contention. We show that our speculation-friendly tree outperforms the existing transaction-based version of the AVL and the red-black trees. Its key novelty stems from the decoupling of update operations: they are split into one transaction that modifies the abstraction state and multiple ones that restructure its tree implementation in the background. In particular, the speculation-friendly tree is shown correct, reusable and it speeds up a transaction-based travel reservation application by up to 3.5x.


international conference on parallel processing | 2013

A contention-friendly binary search tree

Tyler Crain; Vincent Gramoli; Michel Raynal

This paper proposes a new lock-based concurrent binary tree using a methodology for writing concurrent data structures. This methodology limits the high contention induced by todays multicore environments to come up with efficient alternatives to the most widely used search structures. Data structures are generally constrained to guarantee a big-oh step complexity even in the presence of concurrency. By contrast our methodology guarantees the big-oh complexity only in the absence of contention and limits the contention when concurrency appears. The key concept lies in dividing update operations within an eager abstract access that returns rapidly for efficiency reason and a lazy structural adaptation that may be postponed to diminish contention. Our evaluation clearly shows that our lock-based tree is up to 2.2× faster than the most recent lock-based tree algorithm we are aware of.


international conference on distributed computing systems | 2016

Cure: Strong Semantics Meets High Availability and Low Latency

Deepthi Devaki Akkoorath; Alejandro Z. Tomsic; Manuel Bravo; Zhongmiao Li; Tyler Crain; Annette Bieniusa; Nuno M. Preguiça; Marc Shapiro

Developers of cloud-scale applications face a difficult decision of which kind of storage to use, summarised by the CAP theorem. Currently the choice is between classical CP databases, which provide strong guarantees but are slow, expensive, and unavailable under partition, and NoSQL-style AP databases, which are fast and available, but too hard to program against. We present an alternative: Cure provides the highest level of guarantees that remains compatible with availability. These guarantees include: causal consistency (no ordering anomalies), atomicity (consistent multi-key updates), and support for high-level data types (developer friendly API) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, thus facilitating the development of applications. This paper presents the protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees.


international conference on distributed computing systems | 2013

No Hot Spot Non-blocking Skip List

Tyler Crain; Vincent Gramoli; Michel Raynal

This paper presents a new non-blocking skip list algorithm. The algorithm alleviates contention by localizing synchronization at the least contended part of the structure without altering consistency of the implemented abstraction. The key idea lies in decoupling a modification to the structure into two stages: an eager abstract modification that returns quickly and whose update affects only the bottom of the structure, and a lazy selective adaptation updating potentially the entire structure but executed continuously in the background. On SPECjbb as well as on micro-benchmarks, we compared the performance of our new non-blocking skip list against the performance of the JDK non-blocking skip list. The results indicate that our implementation can me more than twice as fast as the JDK skip list.


Parallel Processing Letters | 2016

A Fast Contention-Friendly Binary Search Tree

Tyler Crain; Vincent Gramoli; Michel Raynal

This paper presents a fast concurrent binary search tree algorithm. To achieve high performance under contention, the algorithm divides update operations within an eager abstract access that returns rapidly for efficiency reason and a lazy structural adaptation that may be postponed to diminish contention. To achieve high performance under read-only workloads, it features a rebalancing mechanism and guarantees that read-only operations searching for an element execute lock-free. We evaluate the contention-friendly binary search tree using Synchrobench, a benchmark suite to compare synchronization techniques. More specifically, we compare its performance against five state-of-the-art binary search trees that use locks, transactions or compare-and-swap for synchronization on Intel Xeon, AMD Opteron and Oracle SPARC. Our results show that our tree is more efficient than other trees and double the throughput of existing lock-based trees under high contention.


international conference on distributed computing | 2012

Brief announcement: a contention-friendly, non-blocking skip list

Tyler Crain; Vincent Gramoli; Michel Raynal

A skip list is a probabilistic data structure to store and retrieve in-memory data in an efficient way. In short, it is a linked structure that diminishes the linear big-oh complexity of a linked list with elements having additional shortcuts pointing towards other elements located further in the list [7]. These shortcuts allow operations to complete in O(logn) steps in expectation. The drawback of employing shortcuts is however to require additional maintenance each time some data is stored or discarded.


international conference on algorithms and architectures for parallel processing | 2012

STM systems: enforcing strong isolation between transactions and non-transactional code

Tyler Crain; Eleni Kanellou; Michel Raynal

Transactional memory (TM) systems implement the concept of an atomic execution unit called transaction in order to discharge programmers from explicit synchronization management. But when shared data is atomically accessed by both transaction and non-transactional code, a TM system must provide strong isolation in order to overcome consistency problems. Strong isolation enforces ordering between non-transactional operations and transactions and preserves the atomicity of a transaction even with respect to non-transactional code. This paper presents a TM algorithm that implements strong isolation with the following features: (a) concurrency control of non-transactional operations is not based on locks and is particularly efficient, and (b) any non-transactional read or write operation always terminates (there is no notion of commit/abort associated with them).


acm symposium on parallel algorithms and architectures | 2011

Brief announcement: read invisibility, virtual world consistency and permissiveness are compatible

Tyler Crain; Damien Imbs; Michel Raynal

This brief announcement studies the relation between two STM properties (read invisibility and permissiveness) and two consistency conditions for STM systems, namely, opacity and virtual world consistency. A read operation issued by a transaction is invisible if it does not entail shared memory modifications. An STM system is permissive with respect to a consistency condition if it accepts every history that satisfies the condition. The brief announcement first shows that read invisibility, permissiveness and opacity are incompatible. It then shows that invisibility, permissiveness and virtual world consistency are compatible.


Theoretical Computer Science | 2013

Towards a universal construction for transaction-based multiprocess programs

Tyler Crain; Damien Imbs; Michel Raynal


arXiv: Distributed, Parallel, and Cluster Computing | 2017

(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains.

Tyler Crain; Vincent Gramoli; Mikel Larrea; Michel Raynal

Collaboration


Dive into the Tyler Crain's collaboration.

Top Co-Authors

Avatar

Michel Raynal

Institut Universitaire de France

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mikel Larrea

University of the Basque Country

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Michel Raynal

Institut Universitaire de France

View shared research outputs
Researchain Logo
Decentralizing Knowledge