360 likes | 841 Views
Introduction Chapter 1 Part II Hardware and Software Concepts Hardware Concepts (1) A DS = machines connected together How are these machines connected together? Review: multiple-CPU computer Characterization Hardware Concepts (2) 1.6
E N D
Introduction Chapter 1 Part II Hardware and Software Concepts
Hardware Concepts (1) • A DS = machines connected together • How are these machines connected together? • Review: multiple-CPU computer Characterization
Hardware Concepts (2) 1.6 Different basic organizations and memories in distributed computer systems
Multiprocessors (1) Single Address Space Similar CPUs Direct, uniform Access to memory A bus-based multiprocessor 1.7 • Traffic Problems • Caching (hit ratio, consistency) • Scalable?
Multiprocessors (2) 1.8 • A crossbar switch • An omega switching network
Multicomputers • Each node is an autonomous machine • Private memory • Lower traffic than multiprocessors • CPU-CPU versus CPU-Memory traffic • Homogeneous or Heterogeneous
Homogeneous Multicomputers (1) • Similar nodes • Same processors and memory space • Homogeneous access to network • Single network • Bus-based or point-to-point communication
Homogeneous Multicomputers (2) 1-9 • Grid • Hypercube
Heterogeneous Multicomputers • Different nodes • Nodes can be complex systems • Non-homogeneous access to network • Different networks • DS are commonly built on this hardware category • Need software to make it transparent
Software Concepts • A DS is similar to an OS • Resource management • Virtual machine • OS = • Tightly coupled • Loosely coupled
Uniprocessor Operating Systems 1.11 • Separating applications from operating system code through a microkernel.
Multiple CPU Operating Systems • An overview between • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware
Multiprocessor OS (1) • Similar to uniprocessor • Single ready queue • Mutual exclusion through monitors and semaphores • Multiple CPUs
Multiprocessor DOS (1) Ready queue Single Ready Queue
Multiprocessor DOS (2) CPU CPU CPU Kernel
Multiprocessor DOS (3) • A blocks or time-quantum expires • CPU 1 runs the scheduler and chooses D A (W|R) A (X) • Schedule A again on which CPU?? B (X) C (X) D (X) D (R) E (R) C B D A OS
Java Monitors (1) public class Counter { private int count = 0; public synchronized void reset() { count = 0;} public synchronized int value() { return count;} public synchronized void inc() { count = count + 1;} public synchronized void dec() { count = count – 1;} } • A monitor to protect an integer against concurrent access.
Java Monitors (2) Java Compiler Lock object Counter Object public synchronized void reset() { count = 0;} public synchronized void reset() { acquire(this.lock); count = 0; release(this.lock) }
Multicomputer DOS (1) 1.14 • General structure of a multicomputer operating system
Multicomputer DOS (2) 1.15 • Alternatives for blocking and buffering in message passing.
Multicomputer DOS (3) • Relation between blocking, buffering, and reliable communications.
Distributed-Shared Memory • Multicomputers are harder to program • Multiprocessors are easier to program • Multicomputers are more efficient and better scalable than multiprocessors • DSM offers a reconciliation
Page-Based DSM Example (1) • Pages of address space distributed among four machines • Situation after CPU 1 references page 10 • Situation if page 10 is read only and replication is used
Page-Based DSM Example (2) X Y 1.18 • False sharing of a page between two independent processes.
Network OS (1) • Hardware is not homogeneous • More primitive than DS • Not fully transparent
Network OS (2) 1-19 • General structure of a network operating system.
Network OS (3) • Services: • rlogin • File transfer • This led to the client/server organization
Network OS (4) 1-20 • Two clients and a server in a network operating system.
Network OS (5) 1.21 • Different clients may mount the servers in different places.
DOS and NOS versus DS (1) • DOS qualifies as DS? • Computers are not independent • Easy to use and transparent • NOS qualifies as DS? • No single coherent view • Scalable and open
Positioning Middleware 1-22 • General structure of a distributed system as middleware.
Middleware • Local system provides: • Local resource management • Communication mechanism • Middleware does not manage the local nodes • Middleware hides heterogeneity • Should not call local services directly
Middleware Types • File-based (NOS + Transparency) • For traditional files only • RPC-based • Hides communication • Object-based • Remote Method Invocation • Document-based • The Web
Middleware Services • Communication Facilities • Naming • Persistence • Distributed Transactions • Security
Middleware and Openness 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.
Comparison between Systems Very High High Low High No Yes No Yes N N 1 N Shared memory Messages Files Model specific Global, distributed Per node Global, Central Per node Yes Varies Moderately No Closed Closed Open Open • A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems.