CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey.

Slides:



Advertisements
Similar presentations
End-to-End Arguments in System Design
Advertisements

Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Guide to TCP/IP, Second Edition1 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Chapter 7: Transport Layer
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking Assist. Prof.
© 2006 Cisco Systems, Inc. All rights reserved. Optimizing Converged Cisco Networks (ONT) Module 2: Cisco VoIP Implementations.
End-to-End Arguments in System Design J.H. Saltzer, D.P. Reed and D.D Clark M.I.T. Laboratory for Computer Science Presented by Jimmy Pierce.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
© 2006 Cisco Systems, Inc. All rights reserved. 2.3: Encapsulating Voice Packets for Transport.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Ryan Huebsch CS294-4 P2P Systems – 9/29/03.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
TCP/IP Transport and Application (Topic 6)
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
General Comparison OSI Vs TCP/IP. Focus of Reliability Control Implementation of the OSI model places emphasis on providing a reliable data transfer service,
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
END-TO-END ARGUMENTS IN SYSTEM DESIGN J.H. Salter, D.P. Reed and D.D. Clark Presented by Sui-Yu Wang.
CS603 Fault Tolerance - Communication April 17, 2002.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
CS551: End to End Argument Saltzer88 Christos Papadopoulos (
END-TO-END Arguments in System Design END-TO-END Arguments in System Design J. SaltzerD. Reed D. Clark M.I.T. Laboratory, 1981 Presented By Mohammad Malli.
UDP File Transfer Nathan Kiel CSE434. Goal Explore difficulties of UDP transport in a file transfer application Direct experience by writing an FTP style.
End-to-End Arguments in System Design CSCI 634, Fall 2010.
1 Computer Communication & Networks Lecture 3 Layering and Protocol Stacks (contd.) Waleed Ejaz.
9/29/04 GGF Random Thoughts on Application Performance and Network Characteristics Distributed Systems Department Lawrence Berkeley National Laboratory.
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
Thoughts on the LMAP protocol(s) LMAP Interim meeting, Dublin, 15 th September 2014 Philip Eardley Al Morton Jason Weil 1.
11/18/2016Basic TCP/IP Networking 1 TCP/IP Overview Basic Networking Concepts.
Application – Transport – Network
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Chapter 7: Transport Layer
Transport Layer Slides are originally from instructor: Carey Williamson at University of Calgary Very minor modification are made Notes derived from “Computer.
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
David Wetherall Spring 2000
Presented by Muhammad Abu Saqer
Transport Layer Our goals:
A Selective Retransmission Protocol for Multimedia on the Internet
Process-to-Process Delivery:
TCP and UDP Layer 3 of the TCP/IP protocol stack. Transport layer
Net 323 D: Networks Protocols
Outline Chapter 2 (cont) OS Design OS structure
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
The Transport Layer Reliability
CSE 542: Operating Systems
Process-to-Process Delivery: UDP, TCP
CSE 542: Operating Systems
Computer Networks Protocols
Announcements You need to register separately for the class mailing list and online paper review system. Do it now so that we can work out any “bugs”.
NET 323D: Networks Protocols
November 26th, 2018 Prof. Ion Stoica
Transport Layer 9/22/2019.
Presentation transcript:

CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey

CS533 - Concepts of Operating Systems Overview  The End-to-End Argument  Considerations  Guarantees  Thoughts

CS533 - Concepts of Operating Systems End-to-End Argument  Simple File Transfer from Host A to Host B o File can be corrupted in transit o File can be corrupted when read o Buffered file can be corrupted in memory  Adding checks during transit may work, but what if they don’t work in all cases?  The only thing that is going to know if everything went down correctly is the highest level – the File Transfer Application o Use checksums at Application Level

CS533 - Concepts of Operating Systems The End-to-End Argument

CS533 - Concepts of Operating Systems Considerations Reliability and Performance  We cannot guarantee total reliability at the low level o How much is enough?  Performance tradeoffs o Poor reliability due to little or no checking at low level leads to poor performance due to too many retries above o Too much checking at low level leads to poor performance because of duplication of effort, perhaps unnecessary work  Middle ground – reliable enough, but not perfect o Low level should make its “best effort” to improve performance without a complicated implementation

CS533 - Concepts of Operating Systems Considerations Placement of Things  Early checks can detect errors sooner, but is it the job of the application or of the subsystem? o Consider what applications will be using the subsystem Are they all going to benefit from this? Should each on write their own check? We are not adding to the low level to improve overall reliability, we are adding to improve performance

CS533 - Concepts of Operating Systems Guarantees  Delivery Guarantees o We only care if the receiver did the job or not o Subsystem should not try to make this guarantee because only the application will know if the message made it or not  Secure transmissions o Responsibility of application: needs to check authenticity and ensure that message is encrypted the entire time

CS533 - Concepts of Operating Systems Guarantees  Duplicate message suppression o What’s your definition of a duplicate? o Details of an actual duplicate are unknown to subsystem as this is very application specific o Therefore, since subsystem can’t guarantee to suppress all types duplicate messages, and the app needs to detect these any way, the app should do all duplicate detection/supression

CS533 - Concepts of Operating Systems What is an “End”?  Consider the application o temporal accuracy vs logical accuracy Real-time or streaming voice or video applications can tolerate some amount of error at the application level –Lossy compression algorithms do this –Perhaps I could say “Could you repeat that?” Low level error checking can get in the way and slow it down

CS533 - Concepts of Operating Systems Summary of End-to-End  Application knows best o Applications are better suited for error recovery, duplicate suppression, encryption and so on  Subsystems need to be reliable within reason, but should not provide these “application” features

CS533 - Concepts of Operating Systems Thoughts  Larger concepts o “Open” Operating Systems o Applications know better how to manage resources: Microkernels Scheduler activations Exokernel o Evolution of things End-to-End seems to be the first step, the Neanderthals of arguments Better to consider solutions that can eventually be standardized, automated and pushed to the next layer down or simply placed in a shared module

CS533 - Concepts of Operating Systems Thoughts  Parameterization o Providing functionality at the low level like duplicate suppression, while providing the ability to just turn it off o Consider potentially providing levels of functionality, chosen by the application

CS533 - Concepts of Operating Systems Thoughts  This seems to be the main argument behind layering o Functions layered, modularized o FTP checks only FTP, TCP doesn’t care about it and IP doesn’t care about TCP o No lower module performs jobs better suited in a higher module

CS533 - Concepts of Operating Systems Conclusion  The End-to-End Argument should be considered for every low level function or for each “problem solved” at the low level o Who’s going to use it? o What does it provide? Functionality? Performance?  Applications know best, but one should be aware of overheads and costs incurred when implementing functionality at ANY level