8746d3a5dc2946c15685bd79c18be414.ppt
- Количество слайдов: 16
Distributed Systems: an Introduction G 53 ACC Chris Greenhalgh 1
Contents l l l Distributed Systems and Parallel Architectures Applications and Motivations Client-Server Systems 2
Distributed Systems l Def. : "A collection of autonomous computers linked by a computer network and equipped with distributed system software. ” 3
Parallel Computer Architectures A) SISD - “standalone” C) MIMD, disjoint memory “distributed” B) MIMD, shared memory “parallel” 4
Disjoint vs. Shared memory: latencies l l Network communication (to “access” remote memory) – ~2 us custom cluster network (e. g Myri. Net) – ~ 1 ms Ethernet LAN, – 10 s ms WAN, 100 s ms dialup/GPRS Local memory access – ~10 ns l l l ~100, 000 times faster than Ethernet 1, 000+ times faster than WAN CPU instruction time – ~1 ns! 5
Distributed System Programming Implications l l 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 6
Distributed System Applications l l l 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) 7
Why build distributed systems (1)? Mirroring Reality l l l People are distributed – Support, – Collaboration Information is distributed – Access, – Control, – Performance (mobile code) Other resources are distributed – Physical devices (e. g. printer, robot) 8
Why build distributed systems (2)? Performance / Cost l l 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 9
Challenge: Interconnection l Connecting independent components, requires use of common: – Paradigms and models? l – – – i. e. ways of understanding, dividing up and organising distributed operations and activities Formats Protocols Timing Physical interfaces Standards? (i. e. networking - see CCN!) 10
One Common Paradigm: Client-Server Application TCP/IP Clients TCP/IP (e. g. ) Server (e. g. database) 11
Example: Resource Sharing l l l Resources include: – hardware components, e. g. disks and printers – software-defined entities e. g. files, databases, other data objects But: – physically encapsulated within one computer – remote access requires communication => Resource manager. . . 12
Resource Sharing (cont. ) l Resource manager = Software module = server – Manages a set of resources of a particular type – Implements management policies for: naming, l Concurrency l l E. g. – dept. print servers – disk servers (network drives) 13
The Client-Server Model l = 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. 14
Example: The X-Window system l l l 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) 15
Client-server Comments l l l Not the only approach to creating distributed systems – See also peer-to-peer, multi-tier, messageoriented 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 16
8746d3a5dc2946c15685bd79c18be414.ppt