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

A language-based approach to unifying events and threads

A Language-based Approach to Unifying Events and Threads - Li and Zdancewic, 2006 So far in this mini-series we've seen that thread and event-based models are duals, that threads are a bad idea - you should really be using events, and that events are a bad idea - you should really be using threads. What … Continue reading A language-based approach to unifying events and threads