260 likes | 593 Views
Distributed Processing Chapter 1 : Introduction Problem There are n nodes, each of which has a value. A node wants to know the maximum value among the n nodes. Centralized Approach : A server maintains the values of n nodes and each node reports its value to the server.
E N D
Problem • There are n nodes, each of which has a value. A node wants to know the maximum value among the n nodes. • Centralized Approach: • A server maintains the values of n nodes and each node reports its value to the server. • Then the query node sends a message to ask the maximum value to the server, which will answer to the query. • Distributed Approach: • Each node communicates with its 6 nearest neighbor nodes to inform its value. • Then the query node eventually finds the maximum value by exchanging information with its neighbor nodes.
Discussion • Question 1: Find the algorithm for distributed approach. • Question 2: Compare the performance • In terms of the number of communications • Question 3: Make a comparison table for the two approaches
Definition of a Distributed System • Distributed system : 1) A collection of (scalability) 2) independent computers that (heterogeneity) 3) appears to its users as a single coherent system(transparency) • Distributed System versus Parallel System • Separated Operating System vs. Single Operating System • Message Passing vs. Shared Memory
Why Distributed System ? • Performance • Incremental Growth (Scalability) • 1 single mainframe of price W • N small machines of price W/N • Fault Tolerance • 1 single mainframe : critical weak point • Failure of a machine : replacement by other machines • Geographical Distribution and Availability • Flexible configuration • e.g. 1 Disk server, 3 Computing servers, 1 Graphic server, etc. • Geographical availability
Distributed System - Scalibility and Heterogeneity 1.1 A distributed system organized as middleware. Heterogeneity and Scalability
Distributed System - Transparency Different forms of transparency in a distributed system.
Server C Driver for B Driver for C Driver for A Server B Server A Distributed System : Heterogeneity Application Program or Client Client has to be provided with one different driver for each server
Server C Server B Server A Distributed System : Heterogeneity and Object-Oriented Approach Application Program or Client Predefined interface Wrapping with predefined interface Encapsulation : Object-Oriented Approach
Multiprocessors (1) • A bus-based multiprocessor. 1.7
Multiprocessors (2) (a) A crossbar switch (b) An omega switching network 1.8
Homogeneous Multicomputer Systems (a) Grid (b) Hypercube
Software Concepts • An overview of • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware
Issues in System Design • Transparency • Flexibility • Reliability • Performance • Scalability • Interoperability
Transparency • Hiding physical details about • Location • Migration • Duplication • Relocation • Concurrency • Parallelism • Location • Access
Flexibility • Should be easy to modify functionality and architecture • To provide with Configurability, Avalability and Autonomy • Micro-Kernel vs. Monolithic Kernel • Monolithic Kernel : Provides all functionalities of OS. example. UNIX • Micro-Kernel • Minimal subset of OS + what users want • Example • Kernel Watch
Reliability • Important Goal of Distributed System • Reliability • Security • Fault-Tolerance • Failure Probability P • Should be P = P1·P2·P3 … ·Pn • But often P = P1+ P2+ P3 … + Pn in reality
Performance and Scalability • Improve performance by parallelism • Throughput T • Ideally should be T = T·n when n is the number of sites • In reality T <T·n • Due to some Bottleneck Throughput Number of sites ??
Granularity of Parallelism • Unit of Task • Fine-Granularity vs. Coarse Granularity • Fine-Granularity • Large number of small tasks • Need a large amount of inter-task communication • Not good for distributed system (good for Parallel system) • Coarse-Granularity • Small number of big tasks • Only small amount of inter-task communication • Good for distributed system
Interoperability • Easy to collaborate with other systems in run-time • Compatibility, Portability • How to achieve Interoperability • Well-Defined API set • Standardization
Multiprocessors (1) • A bus-based multiprocessor. 1.7
Multiprocessors (2) (a) A crossbar switch (b) An omega switching network 1.8
Homogeneous Multicomputer Systems (a) Grid (b) Hypercube