DOC PREVIEW
CORNELL CS 514 - CS 514 Lecture Notes

This preview shows page 1-2-3-22-23-24-44-45-46 out of 46 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 46 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS514: Intermediate Course in Operating SystemsOverview of LectureSome terminologyMore terminologyA network is like a “mostly reliable” post officeWhy isn’t it totally reliable?How do distributed systems differ from network applications?What about the Web?You and the WebSlide 10Slide 11Examples of Distributed SystemsThis course is about reliabilityReliability is a broad term“Failure” also has many meaningsExamples of failuresSlide 17Model we’ll use?ISO protocol layers: Oft-cited StandardInternet protocol suiteMajor internet protocolsTypical hardware optionsImplications for reliability?Technology trendsTypical latencies (milliseconds)O/S latency: the most expensive overhead on LAN communication!Broad observationsImplications?More ImplicationsReliability and performanceBack to the internet: IP layerIP gotcha’sIP multicastUDP protocolUDP loss rates can be very high!TCP protocolTCP sliding windowObservationsTCP failures: not “failstop”A basic insightMost distributed systems use UDP or TCPEnd-to-End argumentSlide 43Saltzer et. al. analysisExampleFor next timeCS514: Intermediate Course in Operating SystemsProfessor Ken BirmanBen Atkin: TALecture 2: August 29Overview of Lecture•Fundamentals: terminology and components of a reliable distributed computing system•Communication technologies and their properties•Basic communication services•Internet protocols•End-to-end argumentSome terminology•A program is the code you type in•A process is what you get when you run it•A message is used to communicate between processes. Arbitrary size.•A packet is a fragment of a message that might travel on the wire. Variable size but limited, usually to 1400 bytes or less.•A protocol is an algorithm by which processes cooperate to do something using message exchanges.More terminology•A network is the infrastructure that links the computers, workstations, terminals, servers, etc.–It consists of routers –They are connected by communication links•A network application is one that fetches needed data from servers over the network•A distributed system is a more complex application designed to run on a network. Such a system has multiple processes that cooperate to do something.A network is like a “mostly reliable” post officeWhy isn’t it totally reliable?•Links can corrupt messages–Rare in the high quality ones on the Internet “backbone”–More common with wireless connections, cable modems, ADSL•Routers can get overloaded–When this happens they drop messages–As we’ll see, this is very common•But protocols that retransmit lost packets can increase reliabilityHow do distributed systems differ from network applications?•Distributed systems may have many components but are often designed to mimic a single, non-distributed process running at a single place.•“State” is spread around in a distributed system•Networked application is free-standing and centered around the user or computer where it runs. (E.g. “web browser.) Distributed system is spread out, decen-tralized. (E.g. “air traffic control system”)What about the Web?•Browser is independent: fetches data you request when you ask for it.•Web servers don’t keep track of who is using them. Each request is self-contained and treated independently of all others.–Cookies don’t count: they sit on your machine–And the database of account info doesn’t count either… this is “ancient” history, nothing recent•... So the web has two network applications that talk to each other–The browser on your machine–The web server it happens to connect with… which has a database “behind” itYou and the WebDatabaseWeb browser with stashed cookiesCookie identifies this user, encodes past preferencesHTTP requestWeb servers are kept current by the database but usually don’t talk to it when your request comes inYou and the WebReply updates cookieWeb servers immediately forget the interactionYou and the WebPurchase is a “transaction” on the databaseWeb servers have no memory of the interactionExamples of Distributed Systems•Air traffic control system with workstations for the controllers•Banking/brokerage trading system that coord-inates trading (risk management) at multiple locations•Factory floor control system that monitors devices and replans work as they go on/offlineThis course is about reliability•We want to build distributed systems that can be relied upon to do the correct thing and to provide services according to the user’s expectations•Not all systems need reliability–If a web site doesn’t respond, you just try again later–If you end up with two wheels of brie, well, throw a party!•Reliability is a growing requirement in “critical” settings but these remain a small percentage of the overall market for networked computersReliability is a broad term•Fault-Tolerance: remains correct despite failures•High or continuous availability: resumes service after failures, doesn’t wait for repairs•Performance: provides desired responsiveness•Recoverability: can restart failed components•Consistency: coordinates actions by multiple components, so they mimic a single one•Security: authenticates access to data, services•Privacy: protects identity, locations of users“Failure” also has many meanings•Halting failures: component simply stops•Fail-stop: halting failures with notifications•Omission failures: failure to send/recv. message•Network failures: network link breaks•Network partition: network fragments into two or more disjoint subnetworks•Timing failures: action early/late; clock fails, etc.•Byzantine failures: arbitrary malicious behaviorExamples of failures•My PC suddenly freezes up while running a text processing program. No damage is done. This is a halting failure•A network file server tells its clients that it is about to shut down, then goes offline. This is a failstop failure. (The notification can be trusted)•An intruder hacks the network and replaces some parts with fakes. This is a Byzantine failure.More terminology•A real-world network is what we work on. It has computers, links that can fail, and some problems synchronizing time. But this is hard to model in a formal way.•An asynchronous distributed system is a theoretical model of a network with no notion of time•A synchronous distributed system, in contrast, has perfect clocks and bounds all all events, like message


View Full Document

CORNELL CS 514 - CS 514 Lecture Notes

Documents in this Course
LECTURE

LECTURE

29 pages

LECTURE

LECTURE

28 pages

Load more
Download CS 514 Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS 514 Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CS 514 Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?