[FoRK] Our dispersed, not distributed, computing future

Jeff Bone jbone at place.org
Sat Nov 7 14:15:24 PST 2009


Riffing off the Vint Cerf / interplanetary networking / Android meme  
that's been going around...

I've been saying this for years, but:  the edge case of latency is  
disconnection.  Ken Arnold *almost* got it right, but didn't take it  
to its logical (end-user impacting) conclusion:  in the general case,  
we should *assume* (highly-variable and) high latency and frequent and  
prolonged disconnection.  We need a different general model of  
computing for this, something that for years I've been calling  
"dispersed" rather than "distributed" computing.  While e.g.  
interplanetary networking *obviously* suffers from the problems at  
hand, I maintain that *no matter what* the infrastructure technology  
development / deployment curve, we will *continue* to have  
connectivity and latency gradients *terrestrially* such that there are  
multiple-orders of magnitude difference between different (e.g.  
stationary vs. mobile) realistic end-user scenarios.  (This should be  
understood as a quasi-physical / quasi-economic consequence of both  
natural and social "law" and a corollary to accelerating change laws;   
as Gibson said, the future's here, it's just not evenly distributed.   
Nor, I submit, *can* it be --- ever.)

In general, many if not all user experiences should *assume* and  
*accommodate* this case, and work accordingly.  (Consider my long-term  
nemesis, "the file system problem.")

The implications are obvious:  replication rather than immediate  
remote access, explicit remote interaction rather than implicit,  
explicitly latency-aware software with appropriate failure modes,  
loose / eventual consistency protocols, caching (and timeouts)  
everywhere, loose time protocols that preserve causality *as much as  
is physically possible* (and no more --- cf. Lamport) --- and  
generally store-and-forward / queueing-friendly architectures rather  
than synchronous, blocking architectures.  (Indeed, one of the reasons  
I remain highly enthusiastic about the future of Linda-like  
coordination languages and architectures is their loose coupling in  
time, making them sell-suited for coordination in a "dispersed"  
environment.)

There's lots of interesting work around "delay-tolerant networking."   
One of the better and more thought-provoking earlier "overview" type  
papers is this:

   http://www.cs.berkeley.edu/~kfall/papers/p27-fall.pdf


Enjoy,


jb



More information about the FoRK mailing list