review of "End-to-End Arguments in System Design"

From: Jenny Liu (jen@cs.washington.edu)
Date: Wed Oct 13 2004 - 01:34:38 PDT

  • Next message: Karthik Gopalratnam: "End-to-End - Wrong end of the stick?"

    In "End-to-End Arguments in System Design", the authors call for an examination of the end application and its specific needs during the process of system design. Such examination can reveal the usefulness (or lack thereof) of putting certain functionality into low levels of the system. With some applications, certain functions cannot be correctly implemented at a low level at all. If they are implemented anyway, the same functions may need to be re-implemented at a higher level (ie the application level), resulting in wasted computational time and effort. Further, implementing features at a low level can confuse higher level programmers who do not realize that some functionality provided at a low level actually needs to be reimplemented at a higher level. Since it can be infeasible to consider all possible future applications when designing a low level system or function, the autors advocate an Occam's razor approach to providing functionality at a low level (communication subsystem).

    The purpose of the Occam's razor approach to system design seems to be to give applications developers the flexibility they need to efficiently engineer the functionality they want without unnecessarily incurring costs at a low level. However, because of the typically one-to-many map from a single low level service to a set of applications, implementing functionality at a low level which can then be used by many applications can save application builders lots of work. A natural solution seems to be to include low level functionality in libraries which can be optionally tapped by the application builders.

    Depending on the application, functionality provided at a low level may only use a trivial amount of computation time or space when unnecessary, and may be extremely helpful when necessary. And because of the one-to-many map from a low level service to applications that uses that service, a low-level service may in fact be helpful to many applications. Thus in some instances, it might be beneficial overall to provide services at a low level.


  • Next message: Karthik Gopalratnam: "End-to-End - Wrong end of the stick?"

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