sistemas distribuídos aula 1

27
SISTEMAS DISTRIBUÍDOS PROFESSOR – RENATO WILLIAM

Upload: renato-william

Post on 22-Jan-2018

131 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Sistemas distribuídos aula 1

SISTEMAS DISTRIBUÍDOS

PROFESSOR – RENATO WILLIAM

Page 2: Sistemas distribuídos aula 1

Bibliografia

Distributed Systems: Concepts and Design (5th Edition) by: George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair

Sistemas Distribuídos – Desenvolvendo aplicaçõesde alta performance no Linux

Uirá Ribeiro

Page 3: Sistemas distribuídos aula 1

Definição

“ Um sistema distribuído é um conjunto decomputadores independentes entre si quese apresenta a seus usuários como umsistema único e coerente” – Tanenbaum/Van Steen

Hardware: máquinas autônomas

Software: os usuários pensam do sistemacomo um único computador

Page 4: Sistemas distribuídos aula 1

Definição

“ Coleção de computadores autônomosinterconectados por uma rede, com softwareprojetado para produzir uma aplicação integrada”

Sistemas compostos por hardware e softwarelocalizados em lugares físicos distintos que secomunicam através de mensagens enviadas viauma rede de computadores. (Coulouris et al)

Page 5: Sistemas distribuídos aula 1

Sistemas distribuídos

Concorrência:

Execução concorrente de programas é a norma, compartilhandorecursos como páginas Web ou arquivos como necessário.

Processos executam em paralelo (concorrência não é paralelismo)

Não existe relógio global

Coordenação por mensagens

Falhas independentes

Tratamento de exceções, design pensando em falhas

Page 6: Sistemas distribuídos aula 1

Por que ter sistemas distribuídos?

A principal motivação para construir e usarsistemas distribuídos é proveniente do desejode compartilhar recursos (hardware esoftware).

Page 7: Sistemas distribuídos aula 1

Exemplos de Sistemas DistribuídosFinance and commerce eCommerce e.g. Amazon and eBay, PayPal, online

banking and trading

The information society Web information and search engines, ebooks, Wikipedia; social

networking: Facebook and MySpace.

Creative industries and entertainment online gaming, music and film in the home, user-

generated content, e.g. YouTube, Flickr

Healthcare health informatics, on online patient records, monitoring

patients

Education e-learning, virtual learning environments; distance

learning

Transport and logistics GPS in route finding systems, map services: Google Maps,

Google Earth

Science The Grid as an enabling technology for collaboration

between scientists

Environmental management sensor technology to monitor earthquakes, floods or

tsunamis

Page 8: Sistemas distribuídos aula 1

Sistemas distribuídos

Pesquisa na WEB.

10 bilhões por mês;

A tarefa de um mecanismo de pesquisa naweb é de indexar todo o conteúdo da WWW,abrangendo uma grande variedade deestilos de informação, incluindo páginasWeb, fontes multimídia e livros.

Exemplo do Google:

Infraestrutura física espalhada ao redordo mundo

Sistemas de arquivos distribuídos

Um sistema associado dearmazenamento de arquivos

Um modelo de programação

Page 9: Sistemas distribuídos aula 1

Tendências em Sistemas Distribuídos

O surgimento da tecnologia Pervasiva ( estar em todolugar, porém, sem ser percebido.)

O surgimento da computação ubíqua, combinado aodesejo de suportar mobilidade do usuário em sistemasdistribuídos.

A crescente demanda por serviços de multimídia.

A visão dos sistemas distribuídos como um serviço público.

Page 10: Sistemas distribuídos aula 1

Sistemas Distribuídos

Vantagens

Economia: melhor relação custo/desempenhoEficiência: maior poder total de computação

Distribuição inerente: máquinas espacialmenteseparadas

Confiabilidade: se uma máquina falha, o sistema comocomo um todo pode ainda sobreviver

Crescimento incremental: poder computacionaladicionado em incrementos

Page 11: Sistemas distribuídos aula 1

Sistemas Distribuídos

Desvantagens

Pouco software disponível

Networking: a rede pode causar problemas

Segurança: várias portas de acesso

Page 12: Sistemas distribuídos aula 1

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Figure 1.3A typical portion of the Internet

A internet é um sistema distribuído muito grande.

Page 13: Sistemas distribuídos aula 1

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Figure 1.4Portable and handheld devices in a distributed system

Page 14: Sistemas distribuídos aula 1

Computação móvel e ubíqua

a computação ubíqua é a utilização de vários equipamentoscomputacionais de pequeno porte e baratos em residênciasou escritórios.

Já o termo “ubíquo” nos dá a noção de que o acesso aos serviços está sempre presente, podendo ser acessado em qualquer lugar (SBA, 2006).

Também se denomina “computação pervasiva”.

Dispositivos incorporados em aparelhos, como máquinas delavar, aparelhos de som de alta fidelidade, carros, geladeiras eetc.

Page 15: Sistemas distribuídos aula 1

Middleware Campo da computação distribuída, é um

programa de computador que faz a mediaçãoentre software e demais aplicações.

É utilizado para mover ou transportarinformações e dados entre programas dediferentes protocolos de comunicação,plataformas e dependências do sistemaoperacional.

Camada de software que fornece uma abstraçãode programação

Page 16: Sistemas distribuídos aula 1

WebCasting

O “webcasting” ou “webstreaming” consiste natransmissão de sinal de audio evídeo através da internet, paraqualquer dispositivo que lhetenha acesso.

O webcasting consiste natransmissão de sinal de vídeoatravés da internet.

Page 17: Sistemas distribuídos aula 1

Computação Distribuída como um serviço público

Recursos Físicos

Armazenamento e processamento disponíveis paracomputadores ligados em redes, eliminando a necessidade depossuírem eles próprios os recursos.

Serviços de Software

Alugueis de software

E-mail

Calendários distribuídos

Computação em Nuvem Serviço Público

Uma nuvem é definida como um conjunto de serviços deaplicativo, armazenamento e computação baseada na internet.

Infraestrutura física ou virtual por meio de software baseadosna utilização em vez de aquisição.

Page 18: Sistemas distribuídos aula 1

Computação em Nuvens

Implementação feita em Cluster decomputadores.

Escala e desempenho

Cluster:

Conjunto de computadores interligados quecooperam estreitamente para fornecer um únicorecurso de computação integrado de altodesempenho.

Projetos

NOW

Project Berkeley

Beowulf da Nasa

Os servidores blade, Trata-se de um formato

que visa aumentar ainda mais a densidade

dos servidores, permitindo o compartilhamento

de componentes em comum, como discos ópticos e fontes de alimentação.

Page 19: Sistemas distribuídos aula 1

Desafios

Heterogeneidade:

Conjunto heterogêneo de computadores em redes.

Redes

Hardwares de Computadores

Sistemas Operacionais

Linguagens de Programação

Implementações de diferentes desenvolvedores

Page 20: Sistemas distribuídos aula 1

Desafios

Sistemas abertos ●

…pode ser estendido e reimplementado de várias

maneiras

deve-se publicar a especificação e a documentação

das principais interfaces de software

a integração de componentes escritos por diferentes

programadores é problemática

Page 21: Sistemas distribuídos aula 1

Desafios

Segurança

Confidencialidade (Proteção contra exposição para pessoas nãoautorizadas).

Integridade ( Proteção contra alteração ao dano).

Disponibilidade ( proteção contra interferência com os meios deacesso aos recursos)

Ataque de negação de serviço(denial of service).

Interrupção de serviço por algum motivo.

Page 22: Sistemas distribuídos aula 1

Desafios

Escalabilidade

Escalas diferentes, podendo funcionar desde de uma intranet até a internet

Um sistema é dito escalável quando permanece eficiente quando há o aumento significativo do número de recursos e usuários.

Controlar o custo dos recursos físicos:

É medida que a demanda por um recurso aumenta, deve ser possível, a um custo razoável, ampliar o sistema para atende-la.

Controlar perda de Desempenho

A perda de desempenho máxima não deve ser maior que log(n)

Impedir que os recursos se esgotem

Preparar o sistema para suportar um crescimento futuro

Exemplo do IP

Evitar gargalos de desempenho

Os algoritmos devem ser descentralizados para evitar gargalos de desempenho

Page 23: Sistemas distribuídos aula 1

Escalabilidade

Page 24: Sistemas distribuídos aula 1

Tratamento de Falhas

Pode ocorrer no hardware e software

Falhas em SDs são consideradas parciais, enquanto alguns componentes falham outros continuam funcionando.

Detecção de falhas

Soma de verificação verificação de arquivos corrompidos

Mascaramentos de falhas

Retransmissão de mensagens

Gravação de dados em dois discos

Page 25: Sistemas distribuídos aula 1

Tratamento de Falhas

Tolerância a falhas

Maioria dos serviços da internet apresentam falhas.

Recuperação de falhas

Envolve projetar o software de modo que o estado

anterior possa ser recuperado após uma falha.

Redundância:

Haver pelo menos duas rotas diferentes

Banco de dados replicado

Ter pelo menos dois servidores de Nomes replicados

Page 26: Sistemas distribuídos aula 1

Concorrência

Trabalha sobre a possibilidade que vários clientes

possam acessar um recurso compartilhado ao

mesmo tempo

A presença de múltiplos usuários é uma fonte de

pedidos concorrentes para seus recursos

Em ambiente concorrente, cada recurso deve ser

projetado para manter sempre a consistência

Page 27: Sistemas distribuídos aula 1

Desafios

Transparência

É a ocultação da separação dos componentes de um sistema distribuído,

Para que assim, um usuário final ou um programador de aplicativos

perceba ou utilize o sistema como um todo e não como componentes

independentes

Exemplos de transparências:

De Software

De acesso

De Desempenho

De falhas

De localização

Replicação

Mobilidade

de escalabilidade