Epigrams on programming - Perlis, 1982 See also the original formatted version in PDF at the ACM Digital Library if you have a subscription. A bit of Friday fun today. Not strictly a paper, but certainly a classic! Twitter didn't exist in 1982, though if it did, Alan Perlis would be a master tweeter. This … Continue reading Epigrams on programming
Month: January 2015
The Tail at Scale
The Tail at Scale - Dean and Barroso 2013 We've all become familiar with the importance of fault-tolerance and the techniques that can be used to achieve it. Less well-known is the idea of tail-tolerance. A system that doesn't respond quickly enough feels clunky to its users and can have serious negative consequences for site/service … Continue reading The Tail at Scale
Mergeable persistent data structures
Mergeable persistent data structures - Farinier et al. 2014 Irmin is part of the MirageOS project that was the subject of yesterday's paper, where it is also the basis for a Git-like persistent file system used for the OS. What if you could version-control a (mutable) persistent data structure, inspect its history, clone a remote … Continue reading Mergeable persistent data structures
Unikernels: Library Operating Systems for the Cloud
Unikernels: Library Operating Systems for the Cloud - Madhavapeddy et al. 2013 See also: Unikernels: Rise of the Virtual Library Operating System from ACM Queue. As we discussed in a previous edition of The Morning Paper, there is an increasing mismatch between the traditional OS design point, and the way that we are using the … Continue reading Unikernels: Library Operating Systems for the Cloud
How to write a 21st Century Proof
How to write a 21st Century Proof - Lamport 2012 In this paper Leslie Lamport shares what he has learned in well over 20 years of writing proofs. I am a computer scientist who was educated as a mathematician. I discovered structured proofs through my work on concurrent (multiprocess) algorithms. These algorithms can be quite … Continue reading How to write a 21st Century Proof
A Brief History of the Internet
A Brief History of the Internet - Leiner et al. 2003. The above link is to an HTML version. There's a pdf available on the ACM Digital Library too if you have access. This paper was written to give "a factual rendering of the events and activities associated with the development of the early Internet," … Continue reading A Brief History of the Internet
Spanner: Google’s Globally Distributed Database
Spanner: Google's Globally Distributed Database - Google 2012 Since we've spent the last two days looking at F1 and its online asynchronous schema change support, it seems appropriate today to look at Spanner, the system that underpins them both. There are three interesting stories that come out of the paper for me, each of which … Continue reading Spanner: Google’s Globally Distributed Database
Reflections on 100 editions of #themorningpaper
I almost missed the milestone, and then I realised that today was the 100th paper in the #themorningpaper series! I'm sure most readers of my blog posts have figured out the formula by now: I review one CS paper every weekday morning and post the write-up on this blog. Each morning paper is announced via … Continue reading Reflections on 100 editions of #themorningpaper
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
F1: A Distributed SQL Database That Scales
F1: A Distributed SQL Database That Scales - Google 2012 (** updated paper link above, thanks to Brenden Kromhout for pointing out the dead link **) In recent years, conventional wisdom in the engineering community has been that if you need a highly scalable, high- throughput data store, the only viable option is to use … Continue reading F1: A Distributed SQL Database That Scales