270 likes | 287 Views
Explore concepts of distributed systems, parallel vs. distributed systems, advantages of resource sharing, computational speedup, reliability, and communication. Learn about operating system support for distribution, network topologies, principles of network communication, and communication protocols.
E N D
Operating SystemsCMPSCI 377Lecture 19: Network Structures Emery Berger University of Massachusetts Amherst
Next Few Classes • Networking basics • Distributed services • e-mail, www, telnet • Distributed operating systems • Distributed file systems
Distributed Systems • distributed system: set of physically separate processors connected by one or more communication links • no shared clock or memory • Many systems today distributed in some way • e-mail, file servers, network printers, remote backup, web... P2 P1 P4 P3
Parallel vs. Distributed Systems • Tightly-coupled systems: “parallel processing” • Processors share clock, memory, run one OS • Frequent communication • Loosely-coupled systems: “distributed computing” • Each processor has own memory, runs independent OS • Infrequent communication
Advantages of Distributed Systems • Resource sharing • Computational speedup • Reliability • Communication
Advantages of Distributed Systems • Resource sharing • Resources need not be replicated • Shared files • Expensive (scarce) resources can be shared • Color laser printers • Processors present same environment to user • Keeping files on file server
Advantages, continued • Computational speedup • n processors = n times computational power • SETI@home • Problems must be decomposable into subproblems • Trivial = embarrassingly parallel • Coordination & communication required between cooperating processes • Synchronization • Exchange of results
Advantages, continued • Reliability • Replication of resources provides fault tolerance • One node crashes, user works on another one • Performance degradation but system available • Must avoid single point of failure • Single, centralized component of system • Example: central file servers
Advantages, continued • Communication • Users/processes on different systems can communicate • Mail, transaction processing systems like airlines & banks, www
Distributed Systems Issues • Operating systems support for distribution • Communication & networks • Transparency • Security • Reliability • Performance & scalability • Programming models
Networks • Goal: provide efficient, correct, robust message passing between two separate nodes • Local area network (LAN) – connects nodes in single building, fast & reliable (Ethernet) • Media: twisted-pair, coax, fiber • Bandwidth: 10-100MB/s • Wide area network (WAN) – connects nodes across large geographic area (Internet) • Media: fiber, microwave links, satellite channels • Bandwidth: 1.544MB/s (T1), 45 MB/s (T3)
Network Topologies • Connection of nodes impacts: • Maximum & average communication time • Fault tolerance • Expense • Two basic topologies: • Point-to-point • Bus
Point-to-Point Network Topologies • Fully-connected • Each message takes one “hop” • Node failure – no effect on communication with others • Expensive – impractical for WANs
Point-to-Point Network Topologies • Partially connected • Links between some, but not all nodes • Less expensive, less tolerant to failures • Single node failure can partition network • Sending message takes several hops • Needs routing algorithms
Point-to-Point Network Topologies • Tree structure: network hierarchy • Messages fast between direct descendants • Max message cost? • Not failure tolerant • Any interior node fails – network partitioned
Point-to-Point Network Topologies • Star network: all nodes connect to central node • Each message takes how many hops? • Not failure tolerant • Inexpensive – sometimes used for LANs
Point-to-Point Network Topologies • One-directional ring • Given n nodes, max hops? • Inexpensive • Fault-tolerant?
Point-to-Point Network Topologies • Bi-directional ring • Given n nodes, max hops? • Inexpensive • Fault-tolerant? One node? Two?
Point-to-Point Network Topologies • Doubly-connected ring: nodes connected to neighbors & one more distant • Given n nodes, max hops? • Fault-tolerant? • More expensive
Bus Network Topologies • Bus nodes connect to common network • Linear bus – single shared link • Nodes connect directly to each other via bus • Inexpensive (linear in # of nodes) • Tolerant of node failures • Ethernet LAN
Bus Network Topologies • Ring bus – single shared circular link • Same technology & tradeoffs as linear bus
Principles ofNetwork Communication • Data broken into packets • Basic unit of transfer • Packets sent through network • Computers & routers at switching points control packet flow • Road analogy: • Packets = cars • Network = roads • Computer = traffic lights (intersection) • Too many packets on shared link/node = traffic jam
Communication Protocols • Protocol: agreed-upon rules for communication • Protocol stack: layers that comprise networking software • Each layer N provides service to layer N+1
Traditional Layers • Application layer – applications that use the net • Presentation layer – data format conversion(big/little endian) • Session layer – implements communication strategy(e.g., RPC) • Transport layer – reliable end-to-end communication • Network layer – routing & congestion control • Data link control layer – reliable point-to-point communication over unreliable channel • Physical layer – electrical/optical signaling across “wire”
TCP/IP Protocol Stack • Internet standard protocol stack • TCP: reliable protocol – packets received in order • UDP (user datagram protocol) – unreliable • No guarantee of delivery
Packet Format • Contains all info needed to recreate original message • Packets may arrive out of order = need sequence number • Data segment contains headers for higher protocol layers & application data
Summary • Virtually all computer systems contain distributed components • Networks connect them • Key tradeoffs: • Speed • Reliability • Expense