Sistemas Distribuídos - IC

Propaganda
MC714 - Sistemas Distribuídos
Leandro Villas
Programa da Disciplina
Fundamentos de Sistemas Distribuídos
Definição
Metas
Tipos de sistemas distribuídos
Arquiteturas
Comunicação entre processos
Sistemas de arquivos
Serviços de nomes
Coordenação
Replicação
Segurança
Leandro Villas
Aula anterior
Aula de hoje
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Cluster
Sistema de processamento
Coleção de computadores
Interconectados
Trabalham em conjunto
Processar uma tarefa
Leandro Villas
Cluster - História
1960: Ideia inicial da IBM como uma forma de interligar
grandes mainframes
1980: Três tendências convergiram
•
•
•
Microprocessadores de alta performance
Redes de alta velocidade
Ferramentas padronizadas para computação distribuída de alto desempenho
1993: Iniciou o esboço de um sistema de processamento
distribuído como uma medida de combate aos custos
dos supercomputadores
1994: Primeiro cluster – Projeto Beowulf
.......... A máquina foi um sucesso instantâneo e a ideia
rapidamente se espalhou
Leandro Villas
Tipos de clusters
Cluster de Alto Desempenho
São direcionados a aplicações bastante exigentes no que diz
respeito ao processamento.
Cluster de Alta Disponibilidade
Consegue permanecer ativo por um longo período de tempo
e em plena condição de uso. Consegue detectar erros se
protegendo de possíveis falhas
Cluster de balanceamento de carga
Controla a distribuição equilibrada do processamento. As
tarefas de processamento são distribuídas o mais
uniformemente possível entre os nós
Leandro Villas
Clusters
PS3 Cluster
PC (cluster Beowulf)
Raspberry Pi
Leandro Villas
Clusters
Vantagens
Relação custo-benefício: pode-se obter resultados tão bons quanto
ou até superiores que um servidor sofisticado a partir de máquinas
mais simples e mais baratas
A configuração de um cluster não costuma ser trivial, mas fazer um
supercomputador funcionar poder ser muito mais trabalhoso e exigir
pessoal especializado
É possível aumentar a capacidade de um cluster com a adição de nós
ou remover máquinas para reparos sem interromper a aplicação
Relativa facilidade de customização para o perfeito atendimento da
aplicação
Há opções de softwares para cluster disponíveis livremente, o que
facilita o uso de uma solução do tipo em universidades
Leandro Villas
Clusters
Desvantagens
A facilidade de expansão do cluster pode ser uma "faca de dois
gumes": a quantidade de máquinas pode aumentar tanto que a
manutenção se torna mais trabalhosa, o espaço físico pode ficar
impróprio, etc
A tecnologia de comunicação utilizada pode não oferecer a
velocidade de transferência de dados ou o tempo de resposta
necessário, dependendo da aplicação
Cluster tem como base uma rede local, logo, não se pode acrescentar
máquinas que estejam muito distantes geograficamente
Leandro Villas
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Computação em Grade
Alta taxa de processamento
Divide as tarefas entre diversas máquinas
Rede local ou rede de longa distância
Formam uma máquina virtual
Leandro Villas
Computação em grade
Grade
Computacional
(Recursos)
Semelhante a um “Grid Elétrico”
Não é preciso ter um gerador de energia em casa
para ter eletricidade
Leandro Villas
Aplicações de grades
Computação intensiva em dados
Foco em sintetizar nova informação a partir de
dados mantidos em repositórios, BDs e bibliotecas
digitais geograficamente distribuídos
Computação sob demanda
Uso de grid para satisfazer, no curto prazo,
demandas de recursos que não podem ser
satisfeitas localmente de forma barata
Computação colaborativa
Foco em grids que incluem formas intensivas de
interação humano-humano
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Escalabilidade
Múltiplos Domínios Administrativos
Controle Distribuído
Dinamicidade e Adaptabilidade
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Envolve uma multiplicidade de recursos que são heterogêneos
e envolvem uma grande variedade de tecnologias
Escalabilidade
Múltiplos Domínios Administrativos
Controle Distribuído
Dinamicidade e Adaptabilidade
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Escalabilidade
Deve crescer de algumas dezenas de recursos para milhões de
recursos sem perda de desempenho. Mas devido a alta
dispersão geográfica, as aplicações de uma grade devem ser
projetadas levando-se em consideração problemas com a
latência e a largura de banda para a transmissão de dados
Múltiplos Domínios Administrativos
Controle Distribuído
Dinamicidade e Adaptabilidade
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Escalabilidade
Múltiplos Domínios Administrativos
Os recursos de uma grade estão distribuídos geograficamente
em múltiplos domínios administrativos, onde cada organização
possui suas próprias restrições e regras de uso dos recursos,
que devem ser respeitadas
Controle Distribuído
Dinamicidade e Adaptabilidade
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Escalabilidade
Múltiplos Domínios Administrativos
Controle Distribuído
Não existe um gerenciador centralizado que possui uma visão
global do sistema. Então cada componente da grade deve ser
autônomo
Dinamicidade e Adaptabilidade
Leandro Villas
Computação em grade
Aspectos
Heterogeneidade
Escalabilidade
Múltiplos Domínios Administrativos
Controle Distribuído
Dinamicidade e Adaptabilidade
As aplicações e gerenciadores de recursos devem mudar seu
comportamento de acordo com a disponibilidade dos recursos
Leandro Villas
Computação em grade
Arquitetura em Camadas de uma Grade Computacional
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
1: O usuário programa a sua aplicação distribuída utilizando ferramentas de
desenvolvimento de aplicações
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
2: O usuário especifica os seus requisitos de QoS e submete sua aplicação ao
escalonador de aplicação da grade
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
3: O escalonador de aplicação de recursos da grade realiza uma descoberta de
recursos e suas características usando o serviço de informação da grade
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
4: O escalonador de aplicação de recursos identifica os preços e/ou a
disponibilidade dos recursos por meio de uma busca em um diretório de
disponibilidade e mercado da grade
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
5: O escalonador de aplicação de recursos identifica uma lista de fornecedores de
dados ou réplicas e recurso computacionais que fornecem os serviços ou
características necessários pela aplicação, por meio dos escalonadores de recursos
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
6: O escalonador de aplicação escalona e envia as tarefas para os escalonadores
de recursos que são responsáveis pelos recursos escolhidos para a execução das
aplicações
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
7: O agente local executa e monitora a tarefa e retorna os resultados para o
escalonador de recursos. Enquanto o escalonador de aplicação monitora a grade
pra lidar com eventuais falhas nos recursos e mudanças de configurações da grade
Leandro Villas
Computação em grade
Modelo Operacional de uma Grade Computacional
8: O escalonador de aplicação coleta os resultados e repassa para o usuário
Leandro Villas
Computação em grade
Desafios
Localização dos recursos
Reserva de recursos
Capacidade para adaptar- se a mudanças no ambiente
Criação e escalonamento das tarefas
Autonomia de cada grupo participante para definir suas próprias
políticas de segurança
Recursos requisitados podem estar em diferentes localidades
Confiabilidade
Qualidade de serviço exigida por cada aplicação
Leandro Villas
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Computação em nuvem
•
Prove alta capacidade
Processamento
Armazenamento
•
Serviços (XaaS)
SaaS: Software as a service
PaaS: Platform as a service
IaaS: Infrastructure as a service
•
Leandro Villas
Alocação de Recursos
Computação em nuvem
NUVEM
GRADE
Disponibilidade de Aplicações
Alta
Alta
Invisibilidade de Hardware
Alta
Alta
Segurança
Baixa
Alta
Comercial
Científico
Simples
Complexa
Tempo Real
Reserva de
Recursos
CARACTERÍSTICA
Modelo de Negócio
Facilidade de Uso
Modelo de Computação e
Compartilhamento de Recursos.
Leandro Villas
Computação em nuvem
Os conceitos usados em computação em nuvem
não são novos
Virtualização
Serviços baseados na Internet
Modelo pay-per-use
Elasticidade
A inovação está em reunir todos esses
componentes em um sistema maior
Leandro Villas
Computação em nuvem
Virtualização
Criação de máquinas virtuais
Abstração do hardware
Abstração da infraestrutura da nuvem
Escalabilidade
• Adição de recursos é feita de forma automática
Leandro Villas
Computação em nuvem
Serviços baseados na Internet
Aplicações e recursos fornecidos na forma de serviços
Acessados de qualquer lugar e a qualquer hora
Leandro Villas
Computação em nuvem
Modelo pay-per-use
Usuário paga somente por aquilo que usa
Não há comprometimento em reservar uma
quantidade exata de recursos
Escalabilidade automática permite seu uso
Cobrança baseada no consumo dos recursos
Uso mais eficiente dos recursos
Leandro Villas
Computação em nuvem
Elasticidade
Os consumidores podem adquirir ou liberar recursos
sob demanda
capacidade de escalar recursos de TI rapidamente,
conforme necessário, para cumprir as necessidades
de mudança, sem interrupção do serviço
Para o consumidor, a nuvem parece ser infinita
Leandro Villas
Computação em nuvem
Arquitetura
Leandro Villas
Computação em nuvem
Leandro Villas
Computação em nuvem
Camadas
Leandro Villas
Computação em nuvem
Camadas
Infraestrutura como Serviço
Oferece recursos virtualizados como computação, armazenamento e
comunicação
Provê servidores capazes de executar softwares customizados e operar em
diferentes sistemas operacionais
Leandro Villas
Computação em nuvem
Camadas
Plataforma como Serviço
Fornece um ambiente no qual o desenvolvedor pode criar e implementar
aplicações sem ter que se preocupar em saber quantos processadores ou o
quanto de memória esta sendo usada para o executar a tarefa
Leandro Villas
Computação em nuvem
Camadas
Software como Serviço
Disponibilizar aplicações completas ao usuário final
Acesso completamente transparente ao usuário
Leandro Villas
Computação em nuvem
Público
A nuvem é disponibilizada para o público em geral ou
para grandes grupos industriais
A nuvem é implementada por um prestador de
serviço, que deve ser capaz de garantir o
desempenho e a segurança da mesma
Leandro Villas
Computação em nuvem
Privado
Nuvens operadas exclusivamente para uma única
organização
Gerenciamento da rede é feito pela própria
organização ou por terceiros
• A infraestrutura utilizada pertence ao usuário
• Responsável pelo controle sobre a implementação das
aplicações na nuvem
Leandro Villas
Computação em nuvem
Comunidade
Infraestrutura de nuvem é compartilhada por várias
organizações e suporta uma comunidade específica
que partilha as mesmas preocupações
• missão, requisitos de segurança, política e considerações
de conformidade
Gerenciado pelas organizações ou por terceiros
• localmente ou remotamente
Leandro Villas
Computação em nuvem
Híbrida
Infraestrutura composta por dois ou mais modelos
de implementação
Cada nuvem permanece como uma entidade única
Unidas pelo uso de tecnologia proprietária ou
padronizada garantindo a portabilidade de dados e
aplicações
Leandro Villas
Computação em nuvem
Vantagens
Usuário
Vendedores e Criadores
Compatibilidade
Atualizações
Mobilidade
Economia
Amplo mercado
Economia
Tempo
Dinheiro
Leandro Villas
Computação em nuvem
Sistemas comerciais
• SaaS
• PaaS
Conta gratuita
500MB
Limite máximo de 5 milhões de acessos por mês
Plataforma para desenvolvimento de aplicações Python, na infraestrutura da Google
• IaaS
Leandro Villas
Computação em nuvem
Desafios
Gargalo na conexão
Privacidade e direito sobre os dados
Confiabilidade do serviço
Padronização
Leandro Villas
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Computação em névoa
Com o surgimento de novos conceitos como IoT a
Cloud não se adequa corretamente
Algumas aplicações são sensíveis ao tempo de resposta
Não há proximidade com os usuários
Não oferece mobilidade aos usuários
Para algumas aplicações e serviços a centralização não é uma boa solução
Leandro Villas
Computação em névoa
A computação em névoa trás a computação para a borda
Característica:
Armazenamento e Computação
Localizada na borda da rede
• Baixa latência e proximidade com os usuários
Grande número de nós
• Dipositivos de IoT e usuários
Suporte a mobilidade
Interação em tempo real
Predominantemente wireless
Heterogeneidade
Interação com a Cloud
Leandro Villas
Computação em névoa
A computação em névoa trás a computação para a borda
Desafios:
Desenvolvimento de arquiteturas para infraestrutura
Controle e gerenciamento de nós da Fog
Suporte para diversos contextos
• Controle de semáforos
Conectividade e mobilidade entre os nós da Fog com a Cloud
(migração)
Segurança/Privacidade/Disponibilidade
Escalabilidade
Leandro Villas
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Redes de Sensores sem Fio
Sensores existem por toda parte
Leandro Villas
Redes de Sensores sem Fio
 Na maioria dos casos, sensores são utilizados isoladamente
 Mas com o avanço da Ciência:
- Micro-processadores mais poderosos
- Novos materiais de sensoriamento
- Micro sistemas eletromecânicos
- Possibilidade de comunicação entre sensores;
 Surgiram os “Sensores Inteligentes”:
- Capacidade de processamento
- Capacidade de comunicação
- Capacidade de sensoriamento:
acelerômetro, luz, pressão, temperatura,
magnetômetro, microfone, umidade, etc.
Leandro Villas
Redes de Sensores sem Fio
 Componentes do nó sensor inteligente
Unidade de Energia
Bateria
Sistema de
Locomoção
Sistema de
Localização
Unidade de Sensoriamento
Sensor
Unidades
------ Básicas
------ Adicionais
Gerador de
Energia
Unidade de Computação
Microprocessador
Unidade de
Comunicação
Rádio
Conversor A/D
Memória
Sistema Operacional,
Algoritmos e Protocolos
Leandro Villas
Redes de Sensores sem Fio
Alguns nós sensores
Mica2
Mica2Dot
Leandro Villas
Redes de Sensores sem Fio
 Tipicamente possuem um grande número de nós sensores
61
Redes de Sensores sem Fio
 Hardware de baixo custo e com capacidades limitadas
- Processamento, Comunicação e Energia
62
Redes de Sensores sem Fio
 Aplicação onde o uso de fios não seja possível ou viável
- Estrutura de prédios, interior de máquinas, florestas, vulcões, campo de
batalha, rios e etc.
63
Redes de Sensores sem Fio
 Posição dos nós sensores não precisa ser necessariamente prédeterminada
64
Redes de Sensores sem Fio
 Contém um ou mais Estações Base (Sink)
- Maiores capacidades de hardware e comunicação
Sink node: (satellite, cellular)
65
Redes de Sensores sem Fio
 Esses nós sensores auto organizam-se em uma rede sem fio
66
Redes de Sensores sem Fio
 Tipicamente, uma “árvore” é criada para entregar os dados
coletados no ambiente monitorado para o nó central
Sink node: (satellite, cellular)
67
Aplicações de RSSFs
 Aplicações ambientais:
68
Aplicações de RSSFs
 Aplicações ambientais:
- temperatura, pressão e umidade. Resolução maior do que imagens de
satélite.
69
Aplicações de RSSFs
 Aplicações ambientais:
- Queimadas
70
Aplicações de RSSFs
 Aplicações ambientais:
- monitoramento de áreas, detecção de invasão
71
Aplicações de RSSFs
 Aplicações ambientais:
- monitoramento de flora e fauna
- combinado com os dados ambientais (o comportamento)
72
Aplicações de RSSFs
 Aplicações ambientais: Monitoração de Rios Urbanos
73
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
74
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
75
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
76
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
77
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
78
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
79
Aplicações de RSSFs
 Outras aplicações
- Militar
- Situações de Emergência
- Medicina
- Trânsito
- Plantações
- Infraestruturas
- Exploração espacial
80
Tipos de Sistemas Distribuídos
Sistemas de computação distribuídos
Computação em cluster
Computação em grade
Computação em nuvem
Computação em névoa
Sistemas distribuídos pervasivos
Redes de Sensores sem Fio
Redes Veiculares
...
Leandro Villas
Redes Veiculares
Composto por um grande número de veículos equipados
• Sensores embutidos
• Capacidades de processamento
• Capacidades de comunicação sem fio
Leandro Villas
Redes Veiculares
Veículos apresentam alta mobilidade e
densidade de tráfego variável
Mobilidade influenciada
limites de velocidade, direção estradas,
período do dia, os obstáculos, acidentes,
eventos e tempo
Aplicações:
Segurança
Gestão de tráfego
Comercial e de entretenimento
Leandro Villas
Próxima Aula
Estilos Arquitetônicos
•
•
•
•
Arquiteturas em Camadas
Arquiteturas baseadas em objetos
Arquiteturas centradas em dados
Arquiteturas baseadas em eventos
Arquitetura de Sistemas
•
•
•
Centralizadas
Distribuídas
Híbridas
Leandro Villas
Download