Sistemas Distribuídos - Computação Distribuída e Paralela

32
Sistemas Distribuídos e Paralelos Prof. Adriano Teixeira de Souza

description

 

Transcript of Sistemas Distribuídos - Computação Distribuída e Paralela

Page 1: Sistemas Distribuídos - Computação Distribuída e Paralela

Sistemas Distribuídos e Paralelos

Prof. Adriano Teixeira de Souza

Page 2: Sistemas Distribuídos - Computação Distribuída e Paralela

Poder de processamento das máquinas vem crescendo rapidamente

Grande parte das máquinas interligada por redes de computadores

Sistemas e aplicações estão cada vez mais complexos ◦ Funcionalidade, Interfaceamento gráfico,

Comunicação, ... ◦ Maior carga, Maior número de usuários, ... ◦ Exigências de otimizar tempo de resposta,

incrementar a confiabilidade ...

Prof. Adriano Teixeira de Souza

Page 3: Sistemas Distribuídos - Computação Distribuída e Paralela

?

Page 4: Sistemas Distribuídos - Computação Distribuída e Paralela

Consiste em executar simultaneamente várias partes de uma mesma aplicação

Tornou-se possível a partir do desenvolvimento de sistemas operacionais multi-tarefa, multi-thread e paralelos

Aplicações são executadas paralelamente: ◦ Em um mesmo processador ◦ Em uma máquina multiprocessada ◦ Em um grupo de máquinas interligadas que se ◦ comporta como uma só máquina

Prof. Adriano Teixeira de Souza

Page 5: Sistemas Distribuídos - Computação Distribuída e Paralela

O que é?

◦ Consiste em executar aplicações cooperantes

em máquinas diferentes

◦ Tornou-se possível a partir da popularização

das redes de computadores

Prof. Adriano Teixeira de Souza

Page 6: Sistemas Distribuídos - Computação Distribuída e Paralela

Prof. Adriano Teixeira de Souza

Page 7: Sistemas Distribuídos - Computação Distribuída e Paralela

A Computação Distribuída fornece toda a infra-estrutura necessária para a construção e operação efetiva de aplicações distribuídas

Engloba todos os produtos necessários para permitir que essas aplicações sejam construídas e possam ser executadas em um ambiente de rede heterogêneo, ou em um ambiente centralizado

Prof. Adriano Teixeira de Souza

Page 8: Sistemas Distribuídos - Computação Distribuída e Paralela

Acoplamento ◦ Sistemas paralelos são fortemente acoplados:

compartilham hardware ou se comunicam através de um barramento de alta velocidade

◦ Sistemas distribuídos são fracamente acoplados

Previsibilidade ◦ O comportamento de sistemas paralelos é mais

previsível

◦ sistemas distribuídos são mais imprevisíveis devido ao uso da rede e a falhas

Prof. Adriano Teixeira de Souza

Page 9: Sistemas Distribuídos - Computação Distribuída e Paralela

Influência do Tempo ◦ Sistemas distribuídos são bastante influenciados

pelo tempo de comunicação pela rede ◦ não há uma referência de tempo global geral ◦ Em sistemas paralelos o tempo de troca de

mensagens pode ser desconsiderado

Controle ◦ em sistemas paralelos se tem o controle de todos

os recursos computacionais ◦ os sistemas distribuídos tendem a empregar

também recursos de terceiros

Prof. Adriano Teixeira de Souza

Page 10: Sistemas Distribuídos - Computação Distribuída e Paralela

Um SD deve prover: ◦ sincronização de processos

◦ gerenciamento da comunicação interprocessos

◦ tratamento de deadlocks

◦ tratamento de outras situações não encontradas em

sistemas centralizados

Prof. Adriano Teixeira de Souza

Page 11: Sistemas Distribuídos - Computação Distribuída e Paralela

Usam melhor o poder de processamento

Apresentam um melhor desempenho

Permitem compartilhar dados e recursos

Podem apresentar maior confiabilidade

Permitem reutilizar serviços já disponíveis

Atendem um maior número de usuários

Balanceamento de carga

Escalabilidade

Prof. Adriano Teixeira de Souza

Page 12: Sistemas Distribuídos - Computação Distribuída e Paralela

Prof. Adriano Teixeira de Souza

Page 13: Sistemas Distribuídos - Computação Distribuída e Paralela

Desenvolver, gerenciar e manter o sistema.

Controlar o acesso concorrente a dados e a

recursos compartilhados.

Evitar que falhas de máquinas ou da rede

comprometam o funcionamento do sistema.

Garantir a segurança do sistema e o sigilo

dos dados trocados entre máquinas

Lidar com a heterogeneidade do ambiente

...

Prof. Adriano Teixeira de Souza

Page 14: Sistemas Distribuídos - Computação Distribuída e Paralela

SO de Rede ◦ Provê ambiente no qual os usuários estão cientes

da multiplicidade das máquinas, acessando-as

remotamente

◦ Login remoto

SSH

◦ Transferência remota de arquivos

FTP

◦ Obriga que usuário mude de paradigma

Conjunto de comandos específico no FTP

Conjunto de comandos adequado do comando remoto no

SSH

Prof. Adriano Teixeira de Souza

Page 15: Sistemas Distribuídos - Computação Distribuída e Paralela

SO Distribuído

◦ Provê ambiente transparente, gerenciado pelo SO

◦ Migração de Dados

Duas abordagens

„FTP automático, com processamento local de uma cópia

completa

Andrew File System

Distribuir, manipulando pequenas porções

NFS da Sun

SMB da Microsoft

Prof. Adriano Teixeira de Souza

Page 16: Sistemas Distribuídos - Computação Distribuída e Paralela

SO Distribuído ◦ Migração de Computação

RPC

Troca de Mensagens

◦ Migração de Processos

Balanceamento de Carga

Aumento na velocidade de execução -> minimizar turnaround time

Preferência de hardware

Preferência de software

Acesso a dados

Prof. Adriano Teixeira de Souza

Page 17: Sistemas Distribuídos - Computação Distribuída e Paralela

Aplicações que são funcionalmente separadas em processos distintos rodando em computadores diferentes sobre uma rede

Os processos interoperam para resolver um problema computacional comum

Consistem de interface de usuário, dados do usuário e os processos em diferentes computadores

Prof. Adriano Teixeira de Souza

Page 18: Sistemas Distribuídos - Computação Distribuída e Paralela

Hardware Hardware

Sistema Operacional Sistema Operacional

Aplicação

Middleware para Programação Distribuída

Aplicação

Serviço Aplicação

Máquina 1 Máquina N

Apliacação Serviço

Prof. Adriano Teixeira de Souza

Page 19: Sistemas Distribuídos - Computação Distribuída e Paralela

Middleware é um software que permite elementos de aplicações interoperarem através de redes

Mesmo com as diferenças nos protocolos de comunicação, arquiteturas de sistemas, sistemas operacionais, bases de dados e outro serviços de aplicação

Prof. Adriano Teixeira de Souza

Page 20: Sistemas Distribuídos - Computação Distribuída e Paralela

provê um modo para obter dados de um lugar (..) para outro lugar (..)

deve mascarar as diferenças existentes entre SOs, plataformas de Hardware e protocolos de rede

deve ocultar a complexidade do processo de transporte da rede, do desenvolvedor da aplicação

Prof. Adriano Teixeira de Souza

Page 21: Sistemas Distribuídos - Computação Distribuída e Paralela

Fornecedores estão oferecendo serviços de sistemas distribuídos que têm interfaces de programação padronizadas e protocolos

tais serviços são chamados serviços de middleware, porque se situam “no meio”, num nível acima ao SO e ao software de rede e abaixo das aplicações específicas

Prof. Adriano Teixeira de Souza

Page 22: Sistemas Distribuídos - Computação Distribuída e Paralela

Estratégias diferentes que permitem a

comunicação entre aplicações distribuídas

◦ Sockets

◦ RPC - Remote Procedure Call

◦ RMI (Remote Method Invocation)

◦ CORBA (Commom Object Request Broker Architecture)

◦ Web Services

Prof. Adriano Teixeira de Souza

Page 23: Sistemas Distribuídos - Computação Distribuída e Paralela

Client-Server Model ◦ Modelo tradicional e dominante a partir dos

anos 80

◦ Enfoque na LAN

Web-Based Distributed Computing Model ◦ Enfoque na Internet

◦ Processos

◦ Threads

◦ Objetos Distribuídos

◦ Agentes

Prof. Adriano Teixeira de Souza

Page 24: Sistemas Distribuídos - Computação Distribuída e Paralela

Web-based Client-Server Computing ◦ proxy computing

Dados e programa são mandados do cliente para o servidor processar

◦ code shipping O cliente faz uma requisição ao servidor que envia o

programa para ser executado com dados locais do cliente

Ex: Applets rodando no browser

◦ remote computing O cliente envia os dados para serem processados no

servidor

◦ agent-based computing three-tier model

Prof. Adriano Teixeira de Souza

Page 25: Sistemas Distribuídos - Computação Distribuída e Paralela

Um SO multitarefa permite simular o paralelismo em um único processador, alternando a execução de processos

Um processador com núcleo múltiplo permite paralelismo real entre processos, executando múltiplas instruções por ciclo

Prof. Adriano Teixeira de Souza

Page 26: Sistemas Distribuídos - Computação Distribuída e Paralela

Uma Placa-Mãe Multiprocessador permite que cada processador execute um processo

Prof. Adriano Teixeira de Souza

Page 27: Sistemas Distribuídos - Computação Distribuída e Paralela

Tyan S2696

Prof. Adriano Teixeira de Souza

Page 28: Sistemas Distribuídos - Computação Distribuída e Paralela

Cluster é o nome dado a um sistema montado com mais de um computador, cujo objetivo é fazer com que todo o processamento da aplicação seja distribuído aos computadores, mas de forma que pareça com que eles sejam um computador só.

Com isso, é possível realizar processamentos que até então somente computadores de alta performance seriam capazes de fazer.

Prof. Adriano Teixeira de Souza

Page 29: Sistemas Distribuídos - Computação Distribuída e Paralela

Um Cluster é uma solução de baixo custo para processamento de alto desempenho

Prof. Adriano Teixeira de Souza

Page 30: Sistemas Distribuídos - Computação Distribuída e Paralela

Prof. Adriano Teixeira de Souza

Page 31: Sistemas Distribuídos - Computação Distribuída e Paralela

Prof. Adriano Teixeira de Souza

Page 32: Sistemas Distribuídos - Computação Distribuída e Paralela

COULOURIS, George; DOLLIMORE, Jean, KINDBERG, Tim. “Distributed Systems:

Concepts and Design”. 3 ed. Addison

Wesley, 2001.

JIA, Weijia; ZHOU, Wanlei. “Distributed

Network Systems – from concepts to

implementations”. Boston: Springer, 2005.

SILBERSCHATZ, Abraham; GALVIN, Peter; GAGNE, Greg. “Sistemas Operacionais:

Conceitos e Aplicações”. Rio de Janeiro:

Campus, 2000.

Prof. Adriano Teixeira de Souza