Online, Aysnchronous Schema Change in F1

Online, Asynchronous Schema Change in F1 Rae et al. 2013 Continuous deployment and evolution of running services with zero downtime is the holy grail. With stateless services this is comparatively easy to achieve. But once we have stateless services, and especially large volumes of data in a store, things get more difficult. We would ideally … Continue reading Online, Aysnchronous Schema Change in F1

Blazes: Coordination analysis for distributed programs

Blazes: Coordination analysis for distributed programs - Alvaro et al. 2014 For many practitioners distributed consistency is the most critical issue for system performance and manageability at scale. In Blazes, Alvaro et al. take a fresh look at 'an urgent issue for distributed systems developers,' namely the correctness and efficiency of distributed consistency mechanisms for … Continue reading Blazes: Coordination analysis for distributed programs

Derflow: Distributed Deterministic Dataflow programming for Erlang

Derflow: Distributed Deterministic Dataflow programming for Erlang - Bravo et al. 2014 Today's choice is part of the work of the SyncFree European research project on large-scale computation without synchronisation. Non-determinism makes it very difficult to reason about distributed applications. So Bravo et al. figured life might be easier if we could just make them … Continue reading Derflow: Distributed Deterministic Dataflow programming for Erlang

A Hitchhiker’s Guide to Fast and Efficient Data Reconstruction in Erasure-coded Data Centers

A Hitchhiker's guide to fast and efficient data reconstruction in erasure-coded data centers - Rashmi et al. So far this week we've looked at a programming languages paper and a systems paper, so for today I thought it would be fun to look at an algorithm-based paper. HDFS enables horizontally scalable low-cost storage for the … Continue reading A Hitchhiker’s Guide to Fast and Efficient Data Reconstruction in Erasure-coded Data Centers

f4: Facebook’s warm BLOB storage system

f4: Facebook's warm BLOB storage system - Muralidhar et al. 2014 This is a story of system engineering trade-offs, a design informed by data analysis, and hard-won experience. It's the story of how Facebook implemented a tiered storage solution for BLOBs and introduced per data class (temperature) replication factor, latency, and time-to-recovery tuning. If you're … Continue reading f4: Facebook’s warm BLOB storage system

Predicate Logic as Programming Language

Predicate Logic as Programming Language - Kowalski 1974 The purpose of programming languages is to enable the communication from man to machine of problems and their general means of solution. Kowalski shows us that predicate logic can be used as the basis of a "useful and practical, high-level, non-deterministic programming language with sound theoretical foundations." … Continue reading Predicate Logic as Programming Language

Scala Actors: Unifying thread-based and event-based programming

Scala Actors: Unifying thread-based and event-based programming - Haller & Odersky 2008 Yesterday we saw a Haskell-based approach to unifying events and threads, today's paper shows how to apply some of those same ideas on top of the JVM using Scala. There is an impedance mismatch between message-passing concurrency and virtual machines, such as the … Continue reading Scala Actors: Unifying thread-based and event-based programming