Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Caracterização de Sistemas
Distribuídos
Prof. Leonardo Barreto Campos
http://sites.google.com/sitew/leonardobcampos 1/29
Sumário
Introdução
Exemplos de Sistemas Distribuídos
Tendências em Sistemas Distribuídos
Enfoque no Compartilhamento de Recursos
Desafios
Estudo de Caso: a World Wide Web
2/29http://sites.google.com/sitew/leonardobcampos
Introdução
Definição de Sistemas Distribuídos:
“Aquele no qual componentes de hardware e software,
localizados em computadores interligados em rede,
comunicam-se e coordenam suas ações apenas
enviando mensagens entre si”.(Coulouris et al, 2013)
◦ Definição simples mas que abrange toda a gama de
sistemas nos quais computadores interligados em rede
podem ser distribuídos de maneira útil;
◦ Os computadores conectados por meio de uma rede podem
estar separados por qualquer distância (continentes, prédios
ou sala).
http://sites.google.com/sitew/leonardobcampos 3/40
Introdução
Essa definição de sistemas distribuídos tem as
seguintes consequências importantes:
◦ Concorrência: capacidade do sistema de manipular recursos
compartilhados;
◦ Inexistência de relógio global: sincronização para uma
efetiva troca de mensagens;
◦ Falhas independentes: em SD, cada componente do sistema
pode falhar independentemente, deixando os outros ainda
em funcionamento.
◦ Etc.http://sites.google.com/sitew/leonardobcampos 4/40
Introdução
A principal motivação para construir e suar sistemas
distribuídos é proveniente do desejo de compartilhar
recursos;
O tempo “recurso” é bastante abstrato, mas
caracteriza bem o conjuntos de coisas que podem
ser compartilhadas, tais como:
◦ Hardware: discos, impressoras, etc;
◦ Software: banco de dados, fluxo de dados de vídeo, conexão
de áudio em uma chamada de telefone móvel, etc;
http://sites.google.com/sitew/leonardobcampos 5/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 6/40
Um trilhão de endereços Web únicos;
100 bilhões de páginas;
10 bilhões de pesquisas por mês;
Principal representante: Google;
Grande número de computadores
interligados em rede, localizados em
data centers ao redor do mundo
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 7/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 8/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 9/40
Do inglês, Massively Multiplayer Online
Games (jogos online com vários
jogadores);
Exigem tempos de respostas rápidos
para preservar a experiência dos
usuários do jogo;
E eventos em tempo real para muitos
jogadores.
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 10/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 11/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 12/40
Arquitetura cliente-servidor: uma única
cópia do estado do jogo é mentida em
um servidor centralizado (cluster) e
acessada por programas clientes
Servidores distribuídos: usuários são
alocados dinamicamente de acordo
com a proximidade geográfica ou
utilização momentânea;
Peer-to-peer: cada participante
contribui com recurso.
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 13/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 14/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 15/40
Exemplos de Sistemas Distribuídos
Vejamos alguns exemplos e domínios de aplicação
dos sistemas distribuídos atuais:
◦ Pesquisa na Web:
◦ Jogos online:
◦ Redes sociais:
◦ E-Commerce:
http://sites.google.com/sitew/leonardobcampos 16/40
Tendências em Sistemas
Distribuídos Os sistemas distribuídos estão passando por um
período de mudança significativa e isso pode ser
consequência de diversas tendências influentes:
◦ O surgimento da tecnologia de redes pervasivas;
◦ O surgimento da computação móvel e ubíqua;
◦ A crescente demanda por serviços multimídia;
◦ A visão dos sistemas distribuídos como um serviço público.
http://sites.google.com/sitew/leonardobcampos 17/29
Tendências em Sistemas
Distribuídos Interligação em rede pervasiva e a Internet moderna:
◦ A Internet moderna é um grande sistema distribuído;
http://sites.google.com/sitew/leonardobcampos 18/29
◦ Diversidade de tecnologias
de comunicação sem fio,
como WiFi, WiMAX,
Bluetooth e redes de
telefonia móvel de 3ª e 4ª
geração;
◦ Resultado: interligação em
rede se tornou um recurso
pervasivo, e os dispositivos
podem ser conectados a
qualquer momento e em
qualquer lugar.
Tendências em Sistemas
Distribuídos Computação móvel e ubíqua:
◦ A miniaturização de dispositivos e interligação em rede sem
fio têm levado cada vez à integração de equipamento de
computação pequenos e portáteis com sistemas distribuídos;
◦ Computação móvel é a execução de tarefas de computação
enquanto o usuário está se deslocando de um lugar a outro;
Exemplo 1: mesmo longe de sua base é possível continuar
a acessar a Internet e receber informações dos pontos de
venda, que estão convenientemente próximos
(computação sensível ao contexto);
http://sites.google.com/sitew/leonardobcampos 19/29
Tendências em Sistemas
Distribuídos Computação móvel e ubíqua:
◦ Enquanto isso, o termo “pervasivo” se destina a sugerir que
pequenos equipamentos de computação finalmente se
tornarão tão entranhados nos objetos diários que mal serão
notados.
Transparente e intimamente vinculado à sua função física;
◦ Por sua vez, o termo “ubíquo” dá a noção de que o acesso a
serviços de computação está onipresente, isto é, disponível
em qualquer lugar.
◦ Portanto, a computação ubíqua e a computação móvel se
sobrepõem, pois, em princípio, o usuário móvel pode usar
computadores que estejam em qualquer lugar;
http://sites.google.com/sitew/leonardobcampos 20/29
Tendências em Sistemas
Distribuídos Sistemas Multimídia Distribuídos:
◦ Executar as mesmas funções para tipos de mídia contínuos,
como áudio e vídeo;
◦ Armazenar e localizar arquivos de áudio ou vídeo;
◦ Transmitir mídias pela rede (possivelmente em tempo real, à
medida que os fluxos saem de uma câmera de vídeo,
Webcasting);
◦ Suportar a apresentação dos tipos de mídia para o usuário e
◦ Compartilhar os tipos de mídia por um grupo de usuários.
http://sites.google.com/sitew/leonardobcampos 21/29
Tendências em Sistemas
Distribuídos Sistemas Multimídia Distribuídos:
http://sites.google.com/sitew/leonardobcampos 22/29
Tendências em Sistemas
Distribuídos Computação distribuída como um serviço público:
◦ Nesse modelo, os recursos são suprimidos por fornecedores
de serviços apropriados e efetivamente alugados, em vez de
pertencerem ao usuário final;
◦ Aplica-se tanto a recursos físicos como a serviços lógicos.
http://sites.google.com/sitew/leonardobcampos 23/29
Tendências em Sistemas
Distribuídos O termo computação em nuvem é usado para
capturar essa visão da computação como um
serviço público;
◦ O termo também promove a visão de tudo como um serviço
de infraestrutura física ou virtual por meio de software,
frequentemente pago com base na utilização, em vez da
aquisição;
◦ Geralmente, as nuvens são implementadas em cluster de
computadores para fornecera escala e o desempenho
exigidos
http://sites.google.com/sitew/leonardobcampos 24/29
Tendências em Sistemas
Distribuídos Cluster de computadores:
◦ O objetivo geral é fornecer serviços na nuvem, incluindo
recursos de computação de alto desempenho, mas também
diversos outros serviços (armazenamento, buscas, etc);
http://sites.google.com/sitew/leonardobcampos 25/29
Tendências em Sistemas
Distribuídos Cluster de computadores:
◦ A maioria dos grupos consiste em PCs convencionais
executando uma versão padrão de um S.O. interligados por
uma rede local;
◦ A computação em grade também pode ser vista com uma
forma de computação em nuvem. De fato, a computação em
grade pode ser vista como precursora do paradigma mais
geral da computação em nuvem.
http://sites.google.com/sitew/leonardobcampos 26/29
Leitura Complementar
Link:
http://sites.google.com/sitew/leonardobcampos 27/29
Leitura Complementar
Link:
http://sites.google.com/sitew/leonardobcampos 28/29
Bibliografia
George Coulouris, Jean Dollimore, Tim Kindberg,
Sistemas Distribuídos – Conceitos e Projeto, 5th Ed.,
Bookman, 2013.
http://sites.google.com/sitew/leonardobcampos 29/29