Mind map
Sistemas Distribuídos
Map content
Sistemas Distribuídos
- Conjunto de computadores independentes entre si que aparentam ser um sistema único e coerente
Tipos de SDs
- Sistemas de Computação
- Cluster
- Grade (Grid)
- Recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas ou instituições
- Sistemas de Informação
- Sistemas Empresariais
- Processamento de Transações
- Sistemas Pervasivos
- Caracteriz pela ausência geral de controle administrativo humano; Requisitos: - Adotar mudanças contextuais; - Incentivar composição ad hoc; - Reconhecer compartilhamento como padrão
- Sistemas de dispositivos de computação móvel
- Sistemas domésticos
- Redes de sensores
- Sistemas eletrônicos
- Sistemas de Computação
Exemplos de SDs
- Internet
- Intranet
- Aplicações Comerciais
Arquitetura
- Os modelos de arquiteturas definem com os componentes de um sistema interage e como eles são mapeados na rede de computadores; Devem oferecer: - Confiabilidade; - Gerenciamento; - Adaptabilidade; - Viabilidade Econômica
- Outros Conceitos relacionados: - Arquitetura em camadas; - Arquitetura baseadas em objetos; - Arquiteturas baseadas em eventos- Servidores de Borda;- Interceptadores;
- Modelo Cliente/Servidor
- Nível de Interface do Usuário
- Nível de Processamento
- Nível de Dados
- Modelo P2P
- Distribuited HashTable (DHT)
- Softwares Colaborativos
- Torrents
- Modelo Código Móvel (Applets)
- Modelo Agentes Móveis
- Modelo Clientes Finos (leves) - (thin client)
- Modelo Dispositivos Móveis
- Mobilidade leva a interoperabilidade espontânea; Variação no modelo cliente-servidor na qual associações entre dispositivos são a todo momento criadas e destruídas.
- Modelo de Interação
- Comunicação (Entre Processos)
- Protocolos comunicação em camadas
- Modelo OSI
- Modelo TCP/IP
- Protocolos de Middlewares
- Chamada de Procedimento Remoto (RPC)
- Síncrono
- Assíncrono
- Ligação (Msgs) entre Cliente e Servidor
- Comunicação via sockets
- Padrão: Message Passing Interface (MPI)
- Troca de informações entre vários processadores ou nodos de um cluster
- Padrão que oferece infraestrutura para computação paralela
- Modelos de Filas de Mensagens
- Streaming de dados por uma rede
- Mecanismos de sincronização
- Quality of Service (QoS)
- Comunicação entre Aplic. e SDs orientados a objetos
- CORBA
- JAVA RMI
- WebServices
- Servlets
- J2EE (Java 2 Enterprise Edition)
- EJB (Enterprise Java Bean)
- Por Mensagens (Datagramas)
- Por Fluxo (Stream)
- Protocolos comunicação em camadas
- Algoritmo distribuído (AD)
- Descreve passos que cada processo executa, incluindo transmissão de mensagens entre eles.
- Noção de Tempo Global único
- Desempenho de Comunic.
- Latência
- Largura de Banda
- Jitter
- Comunicação (Entre Processos)
Naming
- Príncipios de IPs móveis
- Conceitos de nomes,identificadores e enderesços
- Forwarding Pointers
- Distribuição de Nomes
- Domain Name System (DNS)
- Organização hierárquica de localizações de serviços em domínios
- Name Spaces
Consistência e Replicação
- Razões para se replicar dados
- Modelos de Consistência centralizados em dados
- Consistência Contínua
- Consistência sequencial
- Consistência causal
- Consistência eventual
Segurança
- Criptografia
- Autenticação
- Autorização
- Lista de controle de acesso
- Firewall
- Sandbox
- Algoritmos de segurança
- Kerberos
- Assinatura Digital
- Needham-Schroeder protocol
Sistemas de Arquivos Distribuídos
- NFS (Network file system)
- GFS (Google file system)
Cloud Computing
- Map Reduce
- LISP
Sincronização
- Sinc. Relógios
- Localização via GPS
- Algoritmos de exclusão mútua
- Algoritmos de eleição
VANTAGENS dos SDs
- (sobre os Sist. Centralizados e PCs indep.)
- ECONOMIA - Solução mais efetiva em custo (Vários processadores baratos)
- DESEMPENHO - com processamento distribuído ao invés de centralizado
- DISTRIBUIÇÃO INERENTE
- Aplicações necessitam de máquinas separadas
- Sist. Controle de Produção de Fábrica
- Sist. Reserva de Passagens
- Sist. de Suporte ao trab. cooperativo
- CONFIABILIDADE - Falha em 1 máquina não para o sistema
- ESCALABILIDADE - Recursos são adicionados conforme necessidade
- COMPARTILHAMENTO DE DADOS
- COMPARTILHAMENTO DE RECURSOS
- FLEXIBILIDADE (Dividir carga de trabalho)
DESVANTAGENS dos SDs
- SOFTWARE
- Falta de experiência (Pouco software exist. p/ SDs)
- Falta de Consenso de especialistas
- Quanto um usuário deve conhecer a distribuição; Quanto deve o sistema fazer e quanto deve o usuário fazer
- REDES DE COMUNIC.
- Perda de mensagens
- Sobrecarga na rede
- Segurança
- SOFTWARE
QUESTÕES ???
CARACTERÍSTICAS DOS SDs (METAS)
- TRANSPARÊNCIA (Tipos)
- Esconder detalhes de implementação do usuário
- Acesso
- Ocultar diferença entre arquiteturas diferentes; Objetos locais e remotos são acessados da mesma forma
- Nomeação de arquivos em SOs diferentes
- Acordo sobre como os dados devem ser representados
- Localização
- Usuários não sabem onde é a localização física do recurso (ex.: servidor)
- Nomeação (www.google.com)
- Migração
- Recursos podem migrar de local por questões de desempenho ou recurso
- Migração de localidade deve garantir a continuidade de comunicação
- Relocação
- Oculta que um recurso possa ser movido para outra localização durante o uso
- Celular movimentando na mesma área de cobertura
- Automóvel passando em várias redes sem fio com conexão ininterrupta
- Replicação
- Uso de várias instancias de recursos para aumentar a confiabilidade e o desempenho
- Uso de várias instâncias de recursos
- Concorrência
- Deve garantir consistência; Travas de acesso; Usuário não percebe a concorrência; Tratamento mais refinado: transações
- Compartilhamento competitivo de recursos
- Falhas
- Usuários não devem perceber que um recurso deixou de funcionar bem
- Mascarar falhas para o usuário
- Escala
- Sist. muda de escala sem que usuário perceba
- ESCALABILIDADE
- Manipular qtde crescente de trabalho de forma uniforme
- Tamanho (Problemas)
- Gargalo de serviços centralizados
- Saturação de linhas de comunicação
- Termos Geográficos (Problemas)
- Dificuldade de ampliar SDs que foram projetados para LANs
- Comunicação não confiável em redes de longa distância
- Termos administrativos (Problemas)
- Sistema pode ser fácil de ser gerenciado, mesmo que abranja várias organizações diferentes
- Políticas conflitantes em relação a utilização, pagamento, gerenciamento e segurança de recursos
- Ação indevida a recursos que estão na fronteiras do Domínio
- Usuários finais tomam o controle (P2P)
- Técnicas
- Distribuição de Processamento em partes
- Exemplo: Hierarquia do DNS
- Ocultar latências de comunicação
- Comunicação Assíncrona
- Passar parte do processamento para o cliente
- Redução de Comunicação Global
- Replicação de componentes p/ equilibrar carga
- Exemplo: Cache
- Distribuição de Processamento em partes
- TOLERÂNCIA A FALHAS
- Tipos de falhas em SDs
- Indisponibilidade (Medida)
- Disponibilidade: Medida da porção de tempo que o sistema permanece operacional; Evita-se através da redundância gerenciada de hardware ou replicação de hardware
- Falhas de coerência (Msg fora de ordemm)
- Indisponibilidade (Medida)
- Mecanismo de mascaramento de falhas
- Diferença de falhas em grupo plano e grupo hierárquico
- Consenso em sistemas falhos
- Formas de se aumentar a Tolerância a falhas
- Redundância de hardware
- Recuperação por software
- Uma falha pode ocasionar uma informação pode ficar em estado não coerente. Ex.: Falhas durante uma transação de A p/ B deve cancelar a operação (Roll-back) BDs transacionais
- Controle de Feedback
- Sincronização Virtual
- Commit em 2 fases
- Commit em 3 fases
- Checkpointing
- Tipos de falhas em SDs
- ABERTURA
- Hardware de fabricantes distintos
- Software
- Protocolos de Comunicação.
- Módulos de SO
- Obtida pela Especificação de Interfaces
- Linguagem de doc. de Interface (IDL)
- Deve(ria) passar pela Padronização
- IEEE
- ISO
- OMG-CORBA
- Interoperabilidade
- Define até que ponto 2 implementações de recursos de fornecedores diferentes devem coexistir e trabalhar em conjunto com confiança mútua
- Portabilidade
- Caracteriza até que ponto uma aplicação A pode ser executada sem modificação em um SD A e um SD B Habilidade de reusar um código existente ao invés de refazê-lo quando este é movido de um ambiente para outro
- ACESSO A RECURSOS (Compartilhamento)
- Compart. Hardware
- Compart. Software
- Tem um único mecanismo de comunicação interprocessos
- Global - Qualquer processo pode se comunicar com qualquer outro
- Gerenciamento de Processos precisa ser o mesmo no sistema todo
- Tem um único conjunto de chamadas do sistema
- Sist. de arquivos deve ter as mesmas características
- Cópias idênticas do kernel em todas as CPUs
- CONCORRÊNCIA
- Arquitetura centralizada (1 processador)
- Concorrência obtida pela intercalação de processos
- Arquitetura com N processadores
- 1 processador por processo (N vezes mais rápido que a centralizada)
- Acesso ao mesmo recurso
- Sincronização de acesso p/ ficar coerente
- Ao mesmo tempo, deve-se evitar a perda dos benefícios da concorrência
- Sincronização de acesso p/ ficar coerente
- Arquitetura centralizada (1 processador)
- TRANSPARÊNCIA (Tipos)
Information
- Description
- Estudos Sistemas Distribuídos Mind Map on Sistemas Distribuídos, created by João Paulo Silva Araújo on 10/04/2014.
- Created by
- João Paulo Silva Araújo
- Views
- 612
- Tags
- Rating