Distributed Systems
Distributed Systems
Computer hardware prices are falling and power increasing. Network connectivity is increasing.
A collection of independent computers that appears to its users as a single coherent system.
Scalability Problems
Concept Centralized services Centralized data Centralized algorithms Example A single server for all users A single on-line telephone book Doing routing based on complete information
1.5
Hardware Concepts
Basic organizations and memories in distributed computer systems
1.6
Hardware Considerations
General Classification:
Multiprocessor a single address space among the processors Multicomputer each machine has its own private memory.
Multiprocessor Organizations
Caching is vital for reasonable performance (e.g., caches on a shared memory multiprocessor). Want to maintain cache coherency
Multiprocessors
1.7
A bus-based multiprocessor.
10
Multiprocessors
A crossbar switch
11
Multiprocessor Organizations
A hierarchy where CPUs have their own memory (not the same as a cache). Access costs to memory is non-uniform.
12
Replication
Example: P2P networks (Gnutella +) distribute copies uniformly or in proportion to use. Example: CDNs (Akamai) Example: Caching is a replication decision made by client.
13
Software Concepts
System DOS
Tightly-coupled operating system for multi- Hide and manage processors and homogeneous hardware multicomputers resources
Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Additional layer atop of NOS implementing general-purpose services
Distributed Computing Systems
NOS
Middleware
15
16
Can have one computer provide files transparently for others (NFS)
(try a df on the WPI hosts to see. Similar to a mount network drive in Windows)
Distributed Computing Systems
17
Different clients may mount the servers in different places Inconsistencies in view make NOSs harder, in general for users than DOSs. But easier to scale by adding computers
Distributed Computing Systems
18
19
20
Positioning Middleware
Network OSs are not transparent. Distributed OSs are not independent of computers.
21
Middleware Models
View everything as a file - Plan 9. Less strict distributed file systems. Make all procedure calls appear to be local Remote Procedure Calls (RPC). Distributed objects (oo model). The Web distributed documents.
22
1.23
In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. If different, there will be compatibility issues If incomplete, then users will build their own or use lower-layer services (frowned upon)
Distributed Computing Systems
23
Degree of transparency
Same OS on all nodes Number of copies of OS Basis for communication Resource management Scalability Openness
Very High
Yes 1 Shared memory Global, central No Closed
High
Yes N Messages Global, distributed Moderately Closed
Low
No N Files Per node Yes Open
High
No N Model specific Per node Varies Open
24
Client-Server Model
Use TCP/IP for reliable network connection. This implies the client must establish a connection before sending the first request.
25
26
Multitiered Architectures
27
28
Horizontal Distribution
29