Caracterização de Sistemas Distribuídos...Diversidade de tecnologias de comunicação sem fio,...
Transcript of Caracterização de Sistemas Distribuídos...Diversidade de tecnologias de comunicação sem fio,...
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