1.17k likes | 1.18k Views
This course provides an introduction to distributed systems, covering topics such as hardware, client-server paradigm, networking, and client-server communication. It explores the motivations behind distributed systems and discusses scalability, transparency, multitiered architectures, and types of distributed operating systems.
E N D
Modulo I Introdução aos Sistemas Distribuídos Prof. Ismael H F Santos Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1
Bibliografia • Sistemas Distribuídos • Santos,F., H., Ismael; Notas de Aula, 2005 • Sistemas Operacionais e Programação Concorrente • Toscani e outros, Editora sagra-luzzatto • Fundamentos de Sistemas Operacionais • Silberschatz, Abraham, Galvin, Peter, Gagne, G., LTC • Sistemas Distribuídos • Andrew S. Tanenbaun; Prentice Hall • Operating System Concepts: Internals and Design Principles • Williiam Stallings, Prentice Hall Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 2
Ementa • Distributed Systems • Hardware for Distibuted Systems • Client Server Paradigm • Networking • Client Server Communication Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 3
SOA Distributed Systems Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 4
Motivation • Distributed system is collection of loosely coupled processors interconnected by a communications network • Processors called nodes, computers, machines, hosts • Site is location of the processor • Reasons for distributed systems • Resource sharing • sharing and printing files at remote sites • processing information in a distributed database • using remote specialized hardware devices • Computation speedup – load sharing • Reliability – detect and recover from site failure, function transfer, reintegrate failed site • Communication – message passing Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 5
A Distributed System Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 6
Definition of a Distributed System (2) • A distributed system organized as middleware. • Note that the middleware layer extends over multiple machines. 1.1 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 7
Transparency in a Distributed System Different forms of transparency in a distributed system. Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 8
Multitiered Architectures (1) • Alternative client-server organizations (a) – (e). 1-29 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 9
Multitiered Architectures (2) • An example of a server acting as a client. 1-30 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 10
Scalability Problems Examples of scalability limitations. Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 11
Scaling Techniques (1) 1.4 The difference between letting: • a server or • a client check forms as they are being filled Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 12
Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones. Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 13
Types of Distributed Operating Systems • Network Operating Systems • Distributed Operating Systems Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 14
Network-Operating Systems • Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: • Remote logging into the appropriate remote machine (telnet, ssh) • Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 15
Distributed-Operating Systems • Users not aware of multiplicity of machines • Access to remote resources similar to access to local resources • Data Migration – transfer data by transferring entire file, or transferring only those portions of the file necessary for the immediate task • Computation Migration – transfer the computation, rather than the data, across the system Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 16
Distributed-Operating Systems (Cont.) • Process Migration – execute an entire process, or parts of it, at different sites • Load balancing – distribute processes across network to even the workload • Computation speedup – subprocesses can run concurrently on different sites • Hardware preference – process execution may require specialized processor • Software preference – required software may be available at only a particular site • Data access – run process remotely, rather than transfer all data locally Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 17
Network Structure • Local-Area Network (LAN) – designed to cover small geographical area. • Multiaccess bus, ring, or star network • Speed 10 megabits/second, or higher • Broadcast is fast and cheap • Nodes: • usually workstations and/or personal computers • a few (usually one or two) mainframes Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 18
Depiction of typical LAN Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 19
Network Types (Cont.) • Wide-Area Network (WAN) – links geographically separated sites • Point-to-point connections over long-haul lines (often leased from a phone company) • Speed 100 kilobits/second • Broadcast usually requires multiple messages • Nodes: • usually a high percentage of mainframes Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 20
Communication Processors in a Wide-Area Network Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 21
SOA Hardware Concepts Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 22
Hardware Concepts 1.6 Different basic organizations and memories in distributed computer systems Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 23
Multiprocessors • A bus-based multiprocessor • A crossbar switch • An omega switching network Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 24
Homogeneous Multicomputer Systems • Grid • Hypercube 1-9 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 25
Software Concepts • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 26
Uniprocessor Operating Systems • Separating applications from operating system code through a microkernel. 1.11 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 27
Multicomputer Operating Systems • General structure of a distributed system as middleware. 1-22 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 28
Multicomputer Operating Systems (2) • Alternatives for blocking and buffering in message passing. 1.15 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 29
Multicomputer Operating Systems • Relation between blocking, buffering, and reliable communications. Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 30
Distributed Shared Memory Systems • 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 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 31
Distributed Shared Memory Systems (2) • False sharing of a page between two independent processes. 1.18 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 32
Network Operating System (1) • General structure of a network operating system. 1-19 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 33
Network Operating System (2) • Two clients and a server in a network operating system. 1-20 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 34
Network Operating System (3) • Different clients may mount the servers in different places. 1.21 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 35
Positioning Middleware • General structure of a distributed system as middleware. 1-22 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 36
Middleware and Openness • 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. 1.23 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 37
Comparison between Systems • A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems. Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 38
Processing Level • The general organization of an Internet search engine into three different layers 1-28 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 39
Multitiered Architectures (1) • Alternative client-server organizations (a) – (e). 1-29 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 40
Multitiered Architectures (2) • An example of a server acting as a client. 1-30 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 41
Modern Architectures • An example of horizontal distribution of a Web service. 1-31 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 42
SOA Client-Server Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 43
Software and hardware service layers in distributed systems Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 44
Clients invoke individual servers Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 45
A service provided by multiple servers Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 46
Web proxy server Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 47
A distributed application based on peer processes Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 48
Web applets Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 49
Compute server Network computer or PC Application network Thin Process Client Thin clients and compute servers Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 50