SyncPerf: Categorizing, detecting, and diagnosing synchronization performance bugs

SyncPerf: Categorizing, detecting, and diagnosing synchronization performance bugs Mejbah ul Alam et al., EuroSys'17 This paper is an investigation into the causes of synchronisation-related performance issues in concurrent systems, together with a pair of tools that can help to detect and diagnose them. The main SyncPerf detection tool is very lightweight (average overhead 2.3%). It … Continue reading SyncPerf: Categorizing, detecting, and diagnosing synchronization performance bugs

Fencing off Go: Liveness and safety for channel-based programming

Fencing off Go: Liveness and safety for channel-based programming, Lange et al. POPL 2017 In the true spirit of POPL (Principles of Programming Languages), I present today's summary of 'Fencing off Go' : What more do you need to know? Let's try again :) Fencing off Go: Liveness and safety for channel-based programming, Lange et … Continue reading Fencing off Go: Liveness and safety for channel-based programming

Transactional data structure libraries

Transactional Data Structure Libraries Spiegelman et al. PLDI 2016 Today’s choice won a distinguished paper award at the recent PLDI 2016 conference. Spiegelman et al. show how to add transactional support to in-memory concurrent data structure libraries in a way that doesn’t sacrifice performance. Since the advent of the multi-core revolution, many efforts have been … Continue reading Transactional data structure libraries

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 Panopticon: An Omniscient Lock Broker for Efficient Distributed Transactions in the Datacenter

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 We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees

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 Read-Log-Update: A Lightweight Synchronization Mechanism for Concurrent Programming