Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 2: Concepts and Architectures Disk(s) CPU I/O Memory Traditional Computer Architecture Distributed Systems 1 Computer System Architectures Flynn, 1966+1972 classification of computer systems in terms of instruction and data stream organizations Based on Von-Neumann model (separate processor and memory units 4 machine organizations SISD - Single Instruction, Single Data SIMD - Single Instruction, Multiple Data MISD - Multiple Instruction, Single Data MIMD - Multiple Instruction, Multiple Data Distributed Systems 2 Flynn Architectures (1) CU I D PU Serial Processor SISD D1 PU1 CU I PUn Dn Array Processor SIMD CU – control unit PU – processor unit I – instruction stream D – data stream Distributed Systems 3 Flynn Architectures (2) CU1 CUn I1 In PU1 PUn D1 Dn Multiprocessor and Multicomputer MIMD CU1 I1 PU1 D CUn In PUn No real examples - possibly some pipeline architectures MISD Distributed Systems 4 Processor-Memory Interconnection Network Distributed Systems 5 Crossbar switch Distributed Systems 6 Multiple stage switch Distributed Systems 7 Homogeneous Multicomputer Systems – Processor Arrays Grid Hypercube Distributed Systems 8 Loosely coupled multi-computer systems M P M P M P network Distributed Memory Multi-computer IPC by message passing Typically PC or workstation clusters Physically distributed components Characterized by longer message delays and limited bandwidth Distributed Systems 9 Closely coupled multi-computer systems Shared Memory M P M P M P M P I/O Shared Memory Multiprocessor Processors connected via common bus or fast network Characterized by short message delays, high bandwidth IPC via Shared Memory Distributed Systems 10 Network based Systems Network size: number of nodes N Node: ni, 1 i N Distance: d(ni, nj): number of links between ni and nj Network distance: D = max(d(ni, nj)) Degree: degree(ni): number of links from/to ni Network topology is an abstract graph to represent the architecture of a network Distributed Systems 11 Desired Properties: (1) When network size grows arbitrarily, the network distance increases very slowly: lim D/N = 0 N (2) There exists a constant k, such that degree(ni) k (3) Routing algorithm is easy to implement and independent of network size (4) When some nodes or links are failed, the network is still connected (with lower performance) (5) Trafic loads are evenly distributed over the network Distributed Systems 12 Typical network topologies: star complete ring regular Distributed Systems B-tree arbitrary 13 Evaluation of network topologies: star ring B-tree complete regular arbitra ry lim D/N=0 N yes D = 2 No D = N-1 Yes D=2log N Yes D = 1 Yes D =√N Do not know Kdegree (ni) no Yes K = 2 Yes K = 3 No Yes K = 4 Do not know Routing easy easy easy easy easy hard connectiv ity bad bad Not good best good Do not know Even trafic no yes no yes yes Do not know Distributed Systems 14 Software Concepts System Description Main Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware Distributed Systems 15 Uniprocessor Operating System Separating applications from operating system code through a microkernel. Distributed Systems 16 Distributed Operating System Tightly-coupled operating system for multi-processors and homogeneous multi-computers. Strong transparency. Distributed Systems 17 DOS: characteristics (1) Distributed Operating Systems Allows a multiprocessor or multicomputer network resources to be integrated as a single system image Hide and manage hardware and software resources provides transparency support provide heterogeneity support control network in most effective way consists of low level commands + local operating systems + distributed features Inter-process communication (IPC) Distributed Systems 18 DOS: characteristics (2) remote file and device access global addressing and naming trading and naming services synchronization and deadlock avoidance resource allocation and protection global resource sharing deadlock avoidance communication security no examples in general use but many research systems: Amoeba, Chorus etc. see Google “distributed systems research” Distributed Systems 19 Network Operating System Loosely-coupled operating system for heterogeneous multi-computers (LAN and WAN). Weak transparency. Distributed Systems 20 NOS: characteristics Network Operating System extension of centralized operating systems offer local services to remote clients each processor has own operating system user owns a machine, but can access others (e.g. rlogin, telnet) no global naming of resources system has little fault tolerance e.g. UNIX, Windows NT, 2000 Distributed Systems 21 Middleware System Additional layer on the top of NOS implementing generalpurpose services. Better transparency. Distributed Systems 22 Middleware Examples Examples: Sun RPC, CORBA, DCOM, Java RMI (distributed object technology) Built on top of transport layer in the ISO/OSI 7 layer reference model: application (protocol), presentation (semantic), session (dialogue), transport (e.g. TCP or UDP), network (IP, ATM etc), data link (frames, checksum), physical (bits and bytes) Most are implemented over the internet protocols Masks heterogeneity of underlying networks, hardware, operating system and programming languages – so provides a uniform programming model with standard services 3 types of middleware: transaction oriented (for distributed database applications) message oriented (for reliable asynchronous communication) remote procedure calls (RPC) – the original OO middleware Distributed Systems 23 Types of communication Message passing is the general basis of communication in a distributed system: transferring a set of data from a sender to a receiver. Distributed Systems 24 Point-to-point Message passing sender calls send primitive to pass message to sender’s buffer communication module transmits the message to the destination destination communication module puts the message to receiver’s buffer receiver calls receive primitive to get the message Distributed Systems 25 Distributed Shared Memory 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 Distributed Systems 26 Comparison between Systems Item Distributed OS Network OS Middlewarebased OS Multiproc. Multicomp. Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open Distributed Systems 27 Client-Server Model Distributed Systems 28 Timing interaction between client and server Distributed Systems 29 An Example Client and Server (1) header.h Distributed Systems 30 An Example Client and Server (2) server.c Distributed Systems 31 An Example Client and Server (3) client.c Distributed Systems 32 Multi-tiered (client-server) Architectures Distributed Systems 33 Comparison of different models(1) user terminal computer Interface-level Processing-level Data-level (a) Traditional terminal/machine Distributed Systems 34 Comparison of different models(2) client server Processing-level Processing-level Interface-level Data-level (b) two-tiers Client browser WEB server Data server Processing Processing Processing Interface Data Data (c) three-tiers Distributed Systems 35 Internet search engine into three different layers: Distributed Systems 36 Alternative client-server organizations Distributed Systems 37 Enterprise(J2EE) Application Model Distributed Systems 38 A Modern Architecture An example of horizontal distribution of a Web service. Distributed Systems 39 Advantages of Multi-tiered Architectures flexibility of selecting different hardware components easy to maintain and manage the system easy to update or re-organize the system easy to enforce different security policies at different levels easy to implement software modules with clearly defined interfaces Distributed Systems 40