A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Prof. Marcus Rodrigues

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Prof. Marcus Rodrigues"— Transcrição da apresentação:

1 Sistemas Distribuídos Prof. Marcus Rodrigues marcus.rodrigues@gmail.com

2 Introdução aos Sistemas Distribuídos Capítulo 1

3 Prof. Marcus Rodrigues Sistemas Dsitribuídos Introdução aos Sistemas Distribuídos Material baseado no livro Distributed Systems: Principles and Paradigms Prentice Hall Copyright © Andrew S. Tanembaum, Maarten van Steen, 2001

4 Prof. Marcus Rodrigues Sistemas Dsitribuídos Introdução Computadores de grande porte (1945) Desenvolvimento de microprocessadores (1980) Redes de Computadores

5 Prof. Marcus Rodrigues Sistemas Dsitribuídos Definição de Sistemas Distribuídos (1) Algumas definições encontradas na literatura: Um sistema composto por processadores que se comunicam através de várias linhas de comunicação como barramentos de alta velocidade ou linhas telefônicas. Cada processador possui sua memória local particular, inacessível aos outros processadores [Peterson 85] Um conjunto de elementos de computação que cooperam entre si através da troca de informações [Lages 86] Um sistema executando em uma coleção de computadores sem memória compartilhada, e que é percebido por seus usuários como um único computador [Tanenbaum 92] Um sistema no qual componentes de hardware e/ou software, localizados em diferentes computadores conectados em rede, se comunicam e coordenam suas ações apenas através da troca de mensagens [Coulouris et al. 01]

6 Prof. Marcus Rodrigues Sistemas Dsitribuídos Definição de Sistemas Distribuídos (2) Um Sistema distribuído é: “Uma coleção de computadores independentes que parecem aos usuários como um único computador” [Tanenbaum &van Steen 01]

7 Prof. Marcus Rodrigues Sistemas Dsitribuídos Definição de Sistemas Distribuídos (3) Características chaves As diferenças entre os vários computadores que compõem o SD e o modo como eles se comunicam não são visíveis aos usuários Usuários e aplicações e aplicações podem interagir com o sistema distribuído de forma consistente e uniforme, independente de onde e como interações acontecem Sistema modular e escalável Continuamente disponível

8 Prof. Marcus Rodrigues Sistemas Dsitribuídos Definição de Sistemas Distribuídos (4) Um sistema distribuído organizado como middleware. Observe que a camada de middleware se estende por múltiplos computadores. 1.1

9 Prof. Marcus Rodrigues Sistemas Dsitribuídos Exemplo de Sistemas Distribuídos Conjunto de processadores alocados dinamicamente Sistema de arquivos único Balanceamento de carga para execução de comandos O sistema como um todo é visto e age como um único sistema de tempo compartilhado clássico.

10 Prof. Marcus Rodrigues Sistemas Dsitribuídos Objetivos de um Sistema Distribuído Conectar usuários e recursos Recursos podem ser qualquer coisa Necessidade de aumento de segurança Aumento de comunicação indesejada Transparência Flexibilidade Escalabilidade

11 Prof. Marcus Rodrigues Sistemas Dsitribuídos Transparência em Sistema Distribuídos Diferentes formas de transparência em um sistema distribuído TransparênciaDescrição Acesso Oculta diferenças em representação de dados e como um recurso é acessado LocalizaçãoOculta onde um recurso está localizado Migração Oculta que um recurso pode ser movido para outra localização Relocação Oculta que um recurso pode estar se movendo para outra localização ReplicaçãoOculta que um recurso pode ser replicado Concorrência Oculta que um recurso pode ser compartilhado por vários usuários concorrentes FalhaOculta falha e recuperação de um recurso Persistência Oculta se um recurso (software) está em memória ou disco

12 Prof. Marcus Rodrigues Sistemas Dsitribuídos Flexibilidade Um sistema distribuído aberto é um sistema que oferece serviços de acordo com regras padronizadas que descrevem a sintaxe e semântica desses serviços IDL – Interface Definition Language Um sistema aberto deve ser extensível

13 Prof. Marcus Rodrigues Sistemas Dsitribuídos Escalabilidade Escalabilidade é um dos mais importantes objetivos de projeto para desenvolvedores de sistemas distribuídos. Escalabilidade Tamanho do sistema distribuído Distribuição geográfica Gerenciamento

14 Prof. Marcus Rodrigues Sistemas Dsitribuídos Problemas de escalabilidade Exemplos de limitações de escalabilidade. ConceitoExemplo Serviços centralizadosUm único servidor para todos os usuários Dados centralizadosUma única agenda telefônica on-line Algoritmos centralizados Realizar roteamente com base em informações centralizadas

15 Prof. Marcus Rodrigues Sistemas Dsitribuídos Técnicas para escalabilidade (1) 1.4 Diferença entre permitir que: a)Um servidor ou b)Um cliente verifique os formulários a medida que eles são preenchidos

16 Prof. Marcus Rodrigues Sistemas Dsitribuídos Técnicas para escalabilidade (2) 1.5 Exemplo de dividir o espaço de nomes DNS em zonas

17 Prof. Marcus Rodrigues Sistemas Dsitribuídos Conceitos de Hardware 1.6 Different basic organizations and memories in distributed computer systems

18 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multiprocessors (1) A bus-based multiprocessor. 1.7

19 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multiprocessors (2) a) A crossbar switch b) An omega switching network 1.8

20 Prof. Marcus Rodrigues Sistemas Dsitribuídos Homogeneous Multicomputer Systems a) Grid b) Hypercube 1-9

21 Prof. Marcus Rodrigues Sistemas Dsitribuídos Software Concepts An overview between DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware SystemDescriptionMain 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

22 Prof. Marcus Rodrigues Sistemas Dsitribuídos Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11

23 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multiprocessor Operating Systems (1) A monitor to protect an integer against concurrent access. monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} }

24 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multiprocessor Operating Systems (2) A monitor to protect an integer against concurrent access, but blocking a process. monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs – 1; } else count = count – 1; }

25 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multicomputer Operating Systems (1) General structure of a multicomputer operating system 1.14

26 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multicomputer Operating Systems (2) Alternatives for blocking and buffering in message passing. 1.15

27 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multicomputer Operating Systems (3) Relation between blocking, buffering, and reliable communications. Synchronization pointSend buffer Reliable comm. guaranteed? Block sender until buffer not fullYesNot necessary Block sender until message sentNoNot necessary Block sender until message receivedNoNecessary Block sender until message deliveredNoNecessary

28 Prof. Marcus Rodrigues Sistemas Dsitribuídos Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used

29 Prof. Marcus Rodrigues Sistemas Dsitribuídos Distributed Shared Memory Systems (2) False sharing of a page between two independent processes. 1.18

30 Prof. Marcus Rodrigues Sistemas Dsitribuídos Network Operating System (1) General structure of a network operating system. 1-19

31 Prof. Marcus Rodrigues Sistemas Dsitribuídos Network Operating System (2) Two clients and a server in a network operating system. 1-20

32 Prof. Marcus Rodrigues Sistemas Dsitribuídos Network Operating System (3) Different clients may mount the servers in different places. 1.21

33 Prof. Marcus Rodrigues Sistemas Dsitribuídos Positioning Middleware General structure of a distributed system as middleware. 1-22

34 Prof. Marcus Rodrigues Sistemas Dsitribuídos 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

35 Prof. Marcus Rodrigues Sistemas Dsitribuídos Comparison between Systems A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems. Item Distributed OS Network OS Middleware- based OS Multiproc.Multicomp. Degree of transparencyVery HighHighLowHigh Same OS on all nodesYes No Number of copies of OS1NNN Basis for communication Shared memory MessagesFilesModel specific Resource management Global, central Global, distributed Per node ScalabilityNoModeratelyYesVaries OpennessClosed Open

36 Prof. Marcus Rodrigues Sistemas Dsitribuídos Clients and Servers General interaction between a client and a server. 1.25

37 Prof. Marcus Rodrigues Sistemas Dsitribuídos An Example Client and Server (1) The header.h file used by the client and server.

38 Prof. Marcus Rodrigues Sistemas Dsitribuídos An Example Client and Server (2) A sample server.

39 Prof. Marcus Rodrigues Sistemas Dsitribuídos An Example Client and Server (3) A client using the server to copy a file. 1-27 b

40 Prof. Marcus Rodrigues Sistemas Dsitribuídos Processing Level The general organization of an Internet search engine into three different layers 1-28

41 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multitiered Architectures (1) Alternative client-server organizations (a) – (e). 1-29

42 Prof. Marcus Rodrigues Sistemas Dsitribuídos Multitiered Architectures (2) An example of a server acting as a client. 1-30

43 Prof. Marcus Rodrigues Sistemas Dsitribuídos Modern Architectures An example of horizontal distribution of a Web service. 1-31


Carregar ppt "Sistemas Distribuídos Prof. Marcus Rodrigues"

Apresentações semelhantes


Anúncios Google