sistemas distribuídos aula 1
TRANSCRIPT
![Page 1: Sistemas distribuídos aula 1](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/1.jpg)
SISTEMAS DISTRIBUÍDOS
PROFESSOR – RENATO WILLIAM
![Page 2: Sistemas distribuídos aula 1](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/17.jpg)
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
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/23.jpg)
Escalabilidade
![Page 24: Sistemas distribuídos aula 1](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022051523/58ad469e1a28ab8b598b606b/html5/thumbnails/27.jpg)
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