Panopticon: An Omniscient Lock Broker for Efficient Distributed Transactions in the Datacenter

Panopticon: An Omniscient Lock Broker for Efficient Distributed Transactions in the Datacenter - Tasci & Demirbas, 2015 Today we return to the theme of distributed transactions, and a paper that won a best paper award from IEEE Big Data in 2015. Panopticon is a centralized lock broker (like Chubby and ZooKeeper) that manages distributed (decentralized) ... Continue Reading

We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees

We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees - Magara & Salvaneschi 2014 Earlier this week we saw in "A Survey on Reactive Programming" that (at least as of 2012) distributing reactive programs remained an active research challenge. Today's paper choice takes on that challenge and examines some consistency models for distributed reactive ... Continue Reading

Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming

Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming - Matveev et al. 2015 An important paradigm in concurrent data structure scalability is to support read-only traversals: sequences of reads that execute without any synchronization (and hence require no memory fences and generate no contention). The gain from such unsynchronized traversals is significant because they account ... Continue Reading

Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures

Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures - David et al. 2015 Linked Lists, Hash Tables, Skip Lists, Binary Search Trees... these data structures are core to many programs. This paper studies such search data structures, supporting search, insert, and remove operations. In particular, the authors look at concurrent versions of these ... Continue Reading

Generative Communication in Linda

Generative Communication in Linda - Gelernter 1985 This is the second of five papers selected by Peter Alvaro as part of his 'Desert Island papers' nominations. Generative communication is the basis of a new distributed programming language called Linda... Where most distributed languages are partially distributed in space and nondistributed in time, Linda is fully ... Continue Reading

Eraser: A dynamic data race detector for multi-threaded programs

Eraser: A dynamic data race detector for multi-threaded programs - Savage et al. 1997 Debugging a multithreaded program can be difficult. Simple errors in synchronization can produce timing-dependent data races that can take weeks or months to track down. Eraser dynamically detects data races in multi-threaded programs. There are two basic approaches to doing this, ... Continue Reading

Why events are a bad idea

Why events are a bad idea (for high concurrency servers) - von Behren et al. 2003 Amongst the authors of this paper you'll also find Eric Brewer, of CAP-theorem fame. This is part 3 of a mini-series on thread-based vs event-based programming models. In part 1 we saw the argument that they are equivalent. Despite ... Continue Reading