End-to-End Arguments in System Design

From: Susumu Harada (harada@cs.washington.edu)
Date: Wed Oct 13 2004 - 01:19:41 PDT

  • Next message: Daniel Lowd: "End to End Arguments"

    "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.


  • Next message: Daniel Lowd: "End to End Arguments"

    This archive was generated by hypermail 2.1.6 : Wed Oct 13 2004 - 01:19:41 PDT