From: Susumu Harada (harada@cs.washington.edu)
Date: Wed Oct 13 2004 - 01:19:41 PDT
"End-to-End Arguments in System Design"
J.H. Saltzer, D.P. Reed, and D.D. Clark
This paper presents a series of supporting cases for what the authors call
the end-to-end argument, one which states that in many situtations, the
hosts (the "ends") involved in some communication over a network need to
provide some measure for assuring data integrity and transmission
reliability, and thus such measures should not be duplicated in the
lower-level (the underlying "data communication system" that provides
the host-to-host connection) as they would most likely lead to only a
marginal performance enhancement (if not a performance degredation). As
examples of cases in which this argument holds, the authors cite
applications such as file transfer with host data validation, data
transmission acknowledgement, secure data transfer, elimination of
duplicate transmissions, and delivery of packets in sequential order.
The paper clearly outlines the specific example cases and the reasons why
one would want certain services to be offered by the hosts and not by the
communication system. In particular, the description of the redundant
nature of data integrity checking in the file transfer application example
and the reasons for potential cost increase in implementing certain
functionalities at the lower level were well laid out.
One issue I had with the authors' presentation is the manner in which they
separated the argument into functional component and performance
component, basing most of their arguments on the functional aspect stating
that moving the aforementioned features up to the hosts results in the
same functionality with reduced redundancy. With respect to the
performance issues, they do state that "performing the function at the
lower level may cost more", but "a great deal of information about system
implementation is needed to make this choice intelligently [of which
approach would lead to better performance]". I would have liked to see
more empirical data supporting their claims such as that "there may be
some application that finds the cost of the enhancement is not worth the
result".
Therefore, their argument appears strong from the functional dimension,
but it does not provide a strong case from the performance perspective.
Because of this, I am not convinced that when weighing both the
performance and functional trade-offs fully, that this end-to-end argument
will still be as powerful as the authors make it out to be.
This archive was generated by hypermail 2.1.6 : Wed Oct 13 2004 - 01:19:41 PDT