[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