G22.3250-001 Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?

Slides:



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

The End-to-End Principle Anthony D. Joseph Joe Hellerstein CS262a November 28, 2001.
Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Remote Procedure Call (RPC)
Network Protocols Mark Stanovich Operating Systems COP 4610.
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.
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
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.
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Gursharan Singh Tatla Transport Layer 16-May
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
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.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
CH2 System models.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,

TCP/IP Transport and Application (Topic 6)
Architectures of distributed systems Fundamental Models
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
SSL/TLS How to send your credit card number securely over the internet.
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
The Problem of State. We will look at… Sometimes web development is just plain weird! Internet / World Wide Web Aspects of their operation The role of.
END-TO-END ARGUMENTS IN SYSTEM DESIGN J.H. Salter, D.P. Reed and D.D. Clark Presented by Sui-Yu Wang.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
A) Describe 3 benefits of a company moving to a wireless network compared to staying with its cabled network(3) b) Describe 2 problems that may occur (2)
Software Overhead in Messaging Layers Pitch Patarasuk.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Revisiting failure detectors Some of you asked questions about implementing consensus using S - how does it differ from reaching consensus using P. Here.
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.
End-to-End Arguments in System Design CSCI 634, Fall 2010.
Jan.19 th, 2007Seminar In Networks End-To-End Arguments in System Design Ayodele Onibokun Seminar In Networks Jan. 19 th, 2007.
Failure detection The design of fault-tolerant systems will be easier if failures can be detected. Depends on the 1. System model, and 2. The type of failures.
CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey.
Netprog: Chat1 Chat Issues and Ideas for Service Design Refs: RFC 1459 (IRC)
Data Link Layer. Data link layer The communication between two machines that can directly communicate with each other. Basic property – If bit A is sent.
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
Network Protocols Andy Wang Operating Systems COP 4610 / CGS 5765.
Chapter 9 The Transport Layer The Internet Protocol has three main protocols that run on top of IP: two are for data, one for control.
Presented by Muhammad Abu Saqer
Chapter 2: System Structures
Chapter 14 User Datagram Program (UDP)
Subject Name: Computer Communication Networks Subject Code: 10EC71
Sarah Diesburg Operating Systems COP 4610
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Andy Wang Operating Systems COP 4610 / CGS 5765
Net 323 D: Networks Protocols
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
CSE 542: Operating Systems
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”.
Exceptions and networking
Presentation transcript:

G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?

The Problem  How to build a system?  Complex systems raise a lot of issues  Completeness, interface design, implementation  Functionality, speed, fault-tolerance  System builders require guidance  Hence, design principles and/or hints  Embody experience with previous systems  Embody understanding of problem domain  That’s quite abstract, let’s look at an example

The End-to-End Argument: The Challenge  Let’s assume a system includes communications (duh)  We typically have a communication subsystem (also, duh)  Where should we place functionality?  In the communication subsystem?  In the client and/or server?  In both (redundantly)?

The End-to-End Argument: The Answer  “The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the endpoints of the communication system. Therefore, providing that questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement).”

Careful File Transfer as an Example  Goal: reliably transfer file from A to B  Steps  A: CFTP reads file from disk, receiving fixed-size blocks  Block size typically different from cylinder size  A: CFTP asks communication system to send data  Packet size typically different from block size  Network moves data in packets  B: Communication system reads packets and passes them to CFTP  B: CFTP writes data to disk

Careful File Transfer as an Example (cont.)  Things that can go wrong  Read data on A may be incorrect (think disk fault)  File system, communication system, CFTP may be buggy  Processor or memory might have a transient error  Network may drop packet, change packet, deliver twice  Either A or B may crash some time into operation  The only safe way of detecting errors  CFTP on B reads file back and compares checksum with checksum on A  Retries on mismatch  However, what about performance?

Careful File Transfer as an Example (cont.)  Naïvely retrying can lead to terrible performance  Improve network reliability to avoid whole file retries  Running checksum  But we still need end-to-end checks  Adding functionality at lower levels is tricky  None  bad performance  Too much  Overhead for all applications using subsystem  Subsystem may not have enough information to be efficient  In case of CFTP  Retrying in application leads to duplication of functionality  Always providing reliable transport harms other applications

Other Properties That Require End-to-End Checks  Message delivery guarantees  Secure transmission of data  Duplicate message suppression  Guaranteed FIFO message delivery  Transaction management  So, why are we all using TCP and SSL?

Where Are the Ends? Two Illustrative Examples  Internet telephony: The users  We don’t want reliability from communications system but rather timely delivery  We accept (some) distortion or drop-outs  After all, we can always say “would you kindly repeat that?” or “what the did you just say?”  PC-based answering machine: The caller and disk (!)  We really want an accurate recording  After all, we cannot ask the user

Where Are the Ends? Another Example (?)  An application and its libraries, specifically java.*  Java Collections  ArrayList, HashMap, Iterator  Java (traditional) I/O  Reader, Writer  How do these two class libraries differ?  Obviously, by functionality  Less obviously, in implementation style  Which style is the more appropriate style?  Where have we seen the e2e argument this semester?

Do We Have Any Other Guidelines?

What Do You Think?