[e2e] [unclassified] Re: end to end arguments in systems design

David P. Reed dpreed at reed.com
Thu Dec 6 09:41:04 PST 2007


Re the arguments:

I'm tired of arguing for the end-to-end argument. There's an immense 
literature by now, and, oddly, a collection of "interpretations" of what 
the end-to-end argument means - nearly a Talmud.

I think the distributed computing (systems and apps) community is 
searching for design principles and patterns that provide new leverage 
on some of the same problems, at a new level of complexity.

The core problem end-to-end addressed was placement of function, given a 
binary choice of such placement: in the network shared by all, or 
outside the network, in the non-shared, perhost, peruser, ... space.  
And it discussed systems reasons for making such a choice - flexibility, 
futureproofness, optimality at a point in time, ... - and made judgment 
about how they might trade off.  And it used, as an example only, 
reliable bit-delivery.

Now to me, the core design problem has moved from in/out of the network 
to "where in the entire connected system, as it exists, as it evolves, 
and as it will exist" to organize functions that need to be placed.

The question of "in the network or not" is of interest only to those who 
see the distributed network (meaning in the broadest sense of a 
connected collection of technology and people) as those maps of New York 
or London that show the entire "rest of the world" as a thin strip on 
the edge of the city.  To the person who sees only packets (and thinks 
that Ellacoya can tell you what a packet means by studying it at 
wirespeed) the end-to-end argument in its original form is great.

To me, it's like studying the first verse of the Bible for the rest of 
one's life.  Or assuming that by understanding macadam's manufacturing, 
marketing, architecture, and construction, one can be an expert on 
transportation.






More information about the end2end-interest mailing list