Posts

Showing posts from February, 2014

Energy approach to life, the universe, and everything

I recently read Scott Adams new book titled: " How to fail at almost everything and still win big ". I enjoyed reading the book a lot; Scott discusses a lot of intriguing ideas as usual. The main idea in the book was that you need systems instead of goals. Motivation is ephemeral, but systems/processes are persistent. As Jeff Bezos says " Good intentions don't work, good systems work! " Another main idea in the book is the importance of monitoring and managing your energy for being successful. The book advises you to "watch what you eat, exercise, match mental states to activity and attack tasks when you have the appropriate energy level". I think this energy approach to personal productivity and life is promising. So I wanted to collect my thoughts on this and see what I can add on this topic. Things that increase energy and decrease energy It isn't the mountains ahead to climb that wears you down. It is the pebble in your shoe. – Mu

Consistency-Based Service Level Agreements for Cloud Storage

Image
This paper is from Microsoft Research and appeared in SOSP'13 . This paper is more of a position and vision paper. The paper introduces a consistency-based SLA concept, which can provide a win-win arrangement for cloud providers and developers. Problem  For performing reads from key-value stores, currently you have two options. You can do strongly-consistent reads by increasing the size of your read replica quorum, but this will increase latency of the responses, and you don't get the flexibility to revert to a quick dirty (eventually-consistent) read if a strong-consistent read would take a long time to respond. Or you go with best effort reads (which are eventually-consistent) from the key value store because you insist on low-latency answers. (Actually there is another option: You can use a strongly consistent multiversion data store like BigTable or Spanner, and relax it by reading slightly stale data and get flexibility. I will revisit this option in the discussion.

The scalable commutativity rule: Designing scalable software for multicore processors

Image
This paper was one of the best paper's at SOSP 13 . The paper is open access since SOSP paid for the open access fees for each paper that appeared in the conference. The scalable commutativity rule says that "Whenever interface operations commute, they can be implemented in a way that scales" . In other words, whenever several operations commute at the interface-level (i.e., there's no way to distinguish their execution order using the interface), for those operations we can have implementations whose memory accesses are conflict-free. (Scalable commutativity sounds like a misnomer, shouldn't the theorem be called "commutative scalability" theorem? The end goal is scalability, and commutativity is a tool for it. Thus "commutative" should qualify "scalability", not the other way around.) I found several nice generalizable insights in the paper. The first one is using commutativity as a detectable/measurable and controllable wi

Black sheep

" Publish or Perish " has become a motto for academics, but it is hard not to get depressed about this rat race in academia. I see researchers who have published an implausible amount of papers in good venues, but they still remain obscure. With all those papers, they haven't even made a splash in their field of study. I then ask myself what chance I stand for making a big enough contribution to be useful. Then, I proceed to have my semi-annual existential crisis, and question the point of publishing and my career in academia. I recover in a couple days generally, because I like working on problems and I am curious about stuff. But, these questions loom: Am I wasting my time? Am I irrelevant with my publications? How should I allocate/manage my time to be useful? Publish less?  It is simplistic to say " It is the quality that counts. If you publish less you will publish better quality work and get recognition ". Experience refutes this. If you strive to publ

Popular posts from this blog

Hints for Distributed Systems Design

Learning about distributed systems: where to start?

Making database systems usable

Looming Liability Machines (LLMs)

Foundational distributed systems papers

Advice to the young

Linearizability: A Correctness Condition for Concurrent Objects

Scalable OLTP in the Cloud: What’s the BIG DEAL?

Understanding the Performance Implications of Storage-Disaggregated Databases

Designing Data Intensive Applications (DDIA) Book