1 / 10

End-to-End Arguments in System Design

End-to-End Arguments in System Design. CSCI 634, Fall 2010. What ’ s e2e argument?. Function placement among the modules of a distributed system Functions placed at low levels may be redundant or worthless Placing functions at low levels are justified only as performance enhancements .

medea
Download Presentation

End-to-End Arguments in System Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. End-to-End Arguments in System Design CSCI 634, Fall 2010

  2. What’s e2e argument? • Function placement among the modules of a distributed system • Functions placed at low levels may be redundant or worthless • Placing functions at low levels are justified only as performance enhancements E2E argument: against low-level function implementation

  3. Rationale supported by e2e • Moving a function upward in a layered system closer to the application that uses the function • The function can completely and correctly be implemented only with the knowledge and help of the application • Incomplete version at low level may be useful as a performance enhancement

  4. Communication systems • Reliable data transmission • Encryption • Duplicate message detection • Message sequence • Many more …

  5. Reliable file transfer • Objective: correctly moving a file from host A to host B • Five threats (low in probability): • Hardware faults in disk • Software bugs of the file system, file transfer program and data delivery systems • Hardware errors in buffering and copying • Errors during data delivery • Hosts may crash

  6. Solution • End-to-End check and retry • Each file is stored with checksum • File is delivered with checksum • Compare the received checksum with the recalculated one • A real story happened at MIT • Should low levels play no part in reliability?

  7. Performance aspect • The probability of a file being corrupted exponentially increases with its length • Retransmit the whole file is expensive, but retransmit a corrupted packet is cheap • A reliable data delivery at low levels can significantly improve application performance

  8. Reliability at low-level • No need for “perfect” reliability • E2E checksum is still needed no matter how reliable at the low levels • Placing functions at low-level should be carefully designed

  9. It may cost more • Some high-level applications may not need the function, but have to pay for it anyway • Low levels may not have as much information as the higher levels to do the job

  10. Comments • E2E argument is not an absolute rule, but rather a guideline for system design • We must carefully identify the end to which the argument should be applied

More Related