Unformatted text preview:

CSC 4320/6320 Operating Systems Lecture 12 Distributed System StructuresChapter 16: Distributed System StructuresChapter ObjectivesCentralized vs Distributed SystemsDistributed Systems: Motivation/IssuesDistributed Systems: Goals/RequirementsNetworking DefinitionsBroadcast NetworksBroadcast Networks DetailsBroadcast Network ArbitrationCarrier Sense, Multiple Access/Collision DetectionPoint-to-point networksPoint-to-Point Networks DiscussionPoint-to-Point Network designFlow control optionsFlow Control (con’t)The Internet Protocol: “IP”Address SubnetsAddress Ranges in IPHierarchical Networking: The InternetSimple Network TerminologyRoutingSetting up Routing TablesNetwork ProtocolsNetwork LayeringBuilding a messaging serviceIP Packet FormatSlide 28Reliable Message Delivery: the ProblemUsing AcknowledgementsHow to deal with message duplicationBetter messaging: Window-based acknowledgementsTransmission Control Protocol (TCP)TCP Windows and Sequence NumbersEnd of Lecture 12CSC 4320/6320Operating SystemsLecture 12Distributed System StructuresSaurav KarmakarChapter 16: Distributed System Structures•Motivation•Types of Network-Based Operating Systems•Network Structure•Network Topology•Communication Structure•Communication Protocols•Robustness•Design Issues•An Example: NetworkingChapter Objectives•To provide a high-level overview of distributed systems and the networks that interconnect them•To discuss the general structure of distributed operating systemsCentralized vs Distributed Systems•Centralized System: System in which major functions are performed by a single physical computer–Originally, everything on single computer–Later: client/server model•Distributed System: physically separate computers working together on some task–Early model: multiple servers working together»Probably in the same room or building»Often called a “cluster”–Later models: peer-to-peer/wide-spread collaborationServerClient/Server ModelPeer-to-Peer ModelDistributed Systems: Motivation/Issues•Why do we want distributed systems?–Cheaper and easier to build lots of simple computers–Easier to add power incrementally–Users can have complete control over some components–Collaboration: Much easier for users to collaborate through network resources (such as network file systems)•The promise of distributed systems:–Higher availability: one machine goes down, use another–Better durability: store data in multiple locations–More security: each piece easier to make secure •Reality has been disappointing–Worse availability: depend on every machine being up»Lamport: “a distributed system is one where I can’t do work because some machine I’ve never heard of isn’t working!”–Worse reliability: can lose data if any machine crashes–Worse security: anyone in world can break into system•Coordination is more difficult–Must coordinate multiple copies of shared state information (using only a network)–What would be easy in a centralized system becomes a lot more difficultDistributed Systems: Goals/Requirements•Transparency: the ability of the system to mask its complexity behind a simple interface•Possible transparencies:–Location: Can’t tell where resources are located–Migration: Resources may move without the user knowing–Replication: Can’t tell how many copies of resource exist–Concurrency: Can’t tell how many users there are–Parallelism: System may speed up large jobs by spliting them into smaller pieces–Fault Tolerance: System may hide varoius things that go wrong in the system•Transparency and collaboration require some way for different processors to communicate with one anotherNetworking Definitions•Network: physical connection that allows two computers to communicate•Packet: unit of transfer, sequence of bits carried over the network–Network carries packets from one CPU to another–Destination gets interrupt when packet arrives•Protocol: agreement between two parties as to how information is to be transmitted•Broadcast Network: Shared Communication Medium– Shared Medium can be a set of wires» Inside a computer, this is called a bus» All devices simultaneously connected to devices– Originally, Ethernet was a broadcast network» All computers on local subnet connected to one another– More examples (wireless: medium is air): cellular phones, GSM GPRS, EDGE, CDMA 1xRTT, and 1EvDO Broadcast NetworksMemoryProcessorI/ODeviceI/ODeviceI/ODeviceInternetBroadcast Networks Details•Delivery: When you broadcast a packet, how does a receiver know who it is for? (packet goes to everyone!)–Put header on front of packet: [ Destination | Packet ]–Everyone gets packet, discards if not the target–In Ethernet, this check is done in hardware»No OS interrupt if not for particular destination–This is layering: we’re going to build complex network protocols by layering on top of the packetHeader(Dest:2)Body(Data)MessageID:1(ignore)ID:2(receive)ID:4(ignore)ID:3(sender)Broadcast Network Arbitration•Arbitration: Act of negotiating use of shared medium–What if two senders try to broadcast at same time?–Concurrent activity but can’t use shared memory to coordinate! •Aloha network (70’s): packet radio within Hawaii–Blind broadcast, with checksum at end of packet. If received correctly (not garbled), send back an acknowledgement. If not received correctly, discard.»Need checksum anyway – in case airplane flies overhead–Sender waits for a while, and if doesn’t get an acknowledgement, re-transmits.–If two senders try to send at same time, both get garbled, both simply re-send later.–Problem: Stability: what if load increases?»More collisions  less gets through more resent  more load…  More collisions…»Unfortunately: some sender may have started in clear, get scrambled without finishingCarrier Sense, Multiple Access/Collision Detection•Ethernet (early 80’s): first practical local area network–It is the most common LAN for UNIX, PC, and Mac –Use wire instead of radio, but still broadcast medium•Key advance was in arbitration called CSMA/CD: Carrier sense, multiple access/collision detection–Carrier Sense: don’t send unless idle»Don’t mess up communications already in process–Collision Detect: sender checks if packet trampled. »If so, abort, wait, and retry.–Backoff Scheme: Choose wait time before trying again•How long to wait after trying to send and


View Full Document

GSU CSC 4320 - l12

Documents in this Course
l4

l4

42 pages

l13

l13

35 pages

l6

l6

76 pages

l8

l8

57 pages

l7

l7

45 pages

l2

l2

90 pages

l11

l11

54 pages

l5

l5

57 pages

Load more
Download l12
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 l12 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 l12 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?