Earlier this week, MRB and I attended Ricon East not that far from Paperless HQ. It was advertised as a “Distributed Systems Conference” and that’s really what it was. It was an awesome experience; The talks were of an extremely high quality and the crowd was full of smart and friendly people. More than anything, I was overwhelmed with all the brilliance and made to feel like a distributed noob (Personally, I love this feeling and it left me with a strong desire to level up). There were a lot of great talks, but here were our favorites:
Call Me Maybe - Kyle Kingsbury on Partition Tolerance
Kyle did an insane amount of work on tooling specifically for this talk to simulate network partitions against a number of databases and then calculate data recovery/healing (or lack thereof). The talk highlighted some tightly held misconceptions and really emphasized how databases often ignore the P in CAP in favor of CA.
Bloom - Neil Conway
Neil presented the work that he and his colleagues are doing at UC Berkeley on creating a language for writing “disorderly distributed programs”. The culmination of the work is Bloom a language embedded in a Ruby gem DSL that allows easy construction of complex distributed programs. Wether or not Bloom is “production ready” is irrelevant - the beauty is in how simply it can render these normally very large distributed programs.
Smarter Caching - Neha Narula
Neha showed off Pequod, an intelligent caching system she has been developing with colleagues at MIT and Harvard. The central idea was moving the idea of joins from the DB layer up into the caching layer. With a Twitter-like system as an example, she showed how simple range GETs into Pequod could be used to fetch and collate data at the cache level without touching the database. Though Pequod is not open source yet, the concepts are very interesting and I’m sure well see similar implementations in OSS soon.
Just open a Socket - Sean Cribbs
Sean gave a detailed rundown of how he improved some common problems in TCP client libraries, specifically for the Riak Ruby client. The primary solution/idea was putting load balancing in the client itself. This spoke directly to me as we’ve been doing a bunch of work on this at PP and Sean’s ideas were novel and very straight-forward.
MORE!
There were so many mind blowing talks at Ricon, I feel bad that I’m not writing them all out. I’m sure Basho will publish the videos soon and we’ll all have a field day. My biggest takeaway from the two days was that, at least in this community, researchers and developers are really starting to work more closely together and the rate at which research is being implemented and integrated into production systems is speeding up. As an implementer, this makes me extremely excited. We have an insane thirst for ideas in this field, and the faster we can test those ideas, the sooner we can solve bigger problems.