1 / 16

Distributed Systems: an Introduction

Distributed Systems: an Introduction. G53ACC Chris Greenhalgh. Contents. Distributed Systems and Parallel Architectures Applications and Motivations Client-Server Systems. Distributed Systems.

seth-mendez
Download Presentation

Distributed Systems: an Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems: an Introduction G53ACC Chris Greenhalgh

  2. Contents • Distributed Systems and Parallel Architectures • Applications and Motivations • Client-Server Systems

  3. Distributed Systems • Def.:"A collection of autonomous computers linked by a computer network and equipped with distributed system software.”

  4. C) MIMD, disjoint memory - “distributed” A) SISD - “standalone” B) MIMD, shared memory - “parallel” Parallel Computer Architectures

  5. Disjoint vs. Shared memory: latencies • Network communication (to “access” remote memory) • ~2 us custom cluster network (e.g MyriNet) • ~ 1 ms Ethernet LAN, • 10s ms WAN, 100s ms dialup/GPRS • Local memory access • ~10 ns • ~100,000 times faster than Ethernet • 1,000,000+ times faster than WAN • CPU instruction time • ~1 ns!

  6. DistributedSystem Programming Implications • Communication is relatively Slow • Requires different programming approaches • Communication is generally achieved by explicit actions rather than shared variables • Sending and receiving “messages” • “Distributed Shared Memory” is technically possible, but not common in use • Computation must be divided into relatively large communication-free chunks • Or most CPU time will be wasted waiting for messages

  7. Distributed System Applications • The Internet • Communication (e.g. electronic mail) • Network Information Retrieval (NIR) services (e.g. WWW) • Resource sharing, e.g. shared printers, shared disks • Collaborative applications (e.g. teleconferencing, networked games) • Supercomputers (implementation and access)

  8. Why build distributed systems (1)?Mirroring Reality • People are distributed • Support, • Collaboration • Information is distributed • Access, • Control, • Performance (mobile code) • Other resources are distributed • Physical devices (e.g. printer, robot)

  9. Why build distributed systems (2)? Performance / Cost • Centralised or distributed? • Law of diminishing returns on single CPU performance • The cost of moving ALL data to/from the centre across a wide-area may be prohibitive • So: distribute processing and communicate only as necessary • Sometimes necessary • Economic

  10. Challenge: Interconnection • Connecting independent components, requires use of common: • Paradigms and models? • i.e. ways of understanding, dividing up and organising distributed operations and activities • Formats • Protocols • Timing • Physical interfaces • Standards? (i.e. networking - see CCN!)

  11. One Common Paradigm: Client-Server Application Clients Application Application TCP/IP TCP/IP TCP/IP (e.g.) Server (e.g. database)

  12. Example:Resource Sharing • Resources include: • hardware components, e.g. disks and printers • software-defined entitiese.g. files, databases, other data objects • But: • physically encapsulated within one computer • remote access requires communication • => Resource manager...

  13. Resource Sharing (cont.) • Resource manager = Software module = server • Manages a set of resources of a particular type • Implements management policies for: • naming, • Concurrency • E.g. • dept. print servers • disk servers (network drives)

  14. The Client-Server Model • = An effective general purpose approach to sharing information and resources: • Shared resources are held and managed by server processes. • Client processes issue requests to servers whenever they need to access one of their resources. • If the request is a valid one, the server performs the requested action and send a reply to the client process.

  15. Example:The X-Window system • A server controls access to the shared resource - the user's display and input(s). • Clients communicate with the server, and ask it to display information to the user (e.g. xterm, netscape, ...) • So: • multiple clients can display information • conflicts are resolved by server (e.g. overlapping windows)

  16. Client-server Comments • Not the only approach to creating distributed systems • See also peer-to-peer, multi-tier, message-oriented • Often complicated by “callback” or “notification” features • Original “client” is sometimes the receiver of requests (callbacks or notifications) originated by the original “server” • But simple, common, powerful and manageable

More Related