Você está na página 1de 7

Aula 01

Divisão dos sistemas:

 Fortemente acoplados – quando os processadores compartilham uma mesma


memória principal
 Fracamente acoplados – os diversos processadores/estações presentes no sistema
utilizam sua memória local individualmente.
 Sistemas centralizados – Multiprocessador de memória compartilhada
 Sistemas distribuídos – Cada CPU tem sua própria memória e é gerenciada por um
sistema operacional individualmente (COWS).

Vantagens dos Sistemas Distribuídos:

 Possibilidade de repetição de eventos


 Manipulação de parâmetros
 Estudo de sistemas onde não há teorias exatas

Limites Físicos

 Velocidade da luz
 Miniaturização dos componentes
 Isolamento e dissipação de calor

Solução: PARALELISMO

 Execução simultânea de operações


 Solução com melhor custo/benefício

Paralelismo

 Projeto de uma CPU


 Projeto de uma arquitetura paralela
 E/S sobreposta ao processamento

Computação Paralela

 Coleção de elementos de processamento


 Trabalhando em conjunto para a realização de uma tarefa
Arquiteturas

 Sequenciais
 Pipeline
 Super-Escalares
 VLIW
 SMT (Simultaneous Multithreading)

Clusters

 Definição – Conjunto de computadores independentes interconectados, usados como


recurso unificado para computação.
 Escalabilidade
 Custo/Benefício
 Alto desempenho
 Independência de fornecedores
 Tolerância a falhas

Características de um Sistema Distribuído

 Baixo acoplamento e atrasos na comunicação


 Processos em sistemas computacionais distintos com probabilidade de falhas
 Comunicação geralmente não confiável, onde existem atrasos, variação de atrasos,
perdas e, em alguns casos, baixas larguras de banda.
 Problemas de Confiabilidade
 Dificuldade em definir a ordem dos eventos e estado global do sistema, uma vez que a
comunicação acontece pela troca de mensagens.
 Ambiente geralmente marcado pela heterogeneidade.

Aula 02

Em Sistemas Distribuídos, computadores remotos trabalham cooperativamente por meio da


rede, de modo que seja visto como uma única máquina local.

Sistemas Distribuídos quase sempre surgem da necessidade de melhorar a capacidade e a


confiabilidade de uma única máquina.

Sistemas Distribuídos podem ser Complexos, de Difícil Implementação e Gerenciamento.


Desafios:

 Concorrência: processos disputam pelos recursos compartilhados


 Inexistência de Relógio Global
 Falhas independentes: Falhas demoram a ser percebidas nos sistemas distribuídos

Atributos dos Sistemas Distribuídos:

 Latência: Tempo decorrido entre o início de uma operação e seu término.


 Taxa de Transmissão: mede a capacidade de transmissão/recepção de informações
 Speedup: ganho relativo de velocidade ou desempenho
 Bottleneck: Gargalo
 Escalabilidade: Capacidade de melhoria do desempenho do sistema distribuído
 Balanceamento de Carga: Divisão adequada de tarefas, evitando sobrecarga em
processadores.
 Throughput: Medir produtividade do sistema.
 Confiabilidade: Certeza de funcionamento.
 Tolerância a falhas: Sobrevivência após falhar alguns elementos.
 Disponibilidade: Funcionamento Ininterrupto
 Segurança: Fazer o que foi projetado de Maneira Correta e para os Usuários Corretos.
 Migração de Tarefas: Transferência de responsabilidade de um elemento para outro.
 Migração de Dados: Transferência de dados de um Elemento Processador para outro.
 Replicação: Duplicação de recursos para outros Elementos Processadores.
 Transparência: Ocultação de detalhes do Funcionamento para os usuários.

Imagem Única do Sistema (SSI)

Ocultar a complexidade envolvida em uma natureza distribuída e heterogênea de recursos


disponíveis para os usuários e aplicações.

Computação em grade (grid computing)

Conjunto de softwares middleware que gerenciam recursos distribuídos e espalhados pela


organização.
Aula 03 – Tolerância à Falhas

Falhas Parciais:

Ocorre quando um componente não funciona, porém essa falha não necessariamente afeta
todos os componentes, deixando alguns Totalmente Ilesos.

Sistema Distribuído deve tolerar falhas e continuar a funcionar até certo ponto, enquanto
estiver sendo consertada a falha.

Requisitos para Confiabilidade:

 Disponibilidade: Estar pronto para ser usado imediatamente


 Confiabilidade: Funcionamento contínuo e sem falhas
 Segurança: Funcionamento correto
 Capacidade de manutenção: Facilidade no conserto de Falhas

Defeito:

É quando o sistema não pode cumprir o que foi especificado ou prometido.

Erro:

Representa o estado de um sistema que pode levar a uma falha (causa do erro).

Tipos de Falhas:

 Transientes: Ocorre apenas uma vez, mesmo que a operação seja repetida, a falha não
acontecerá novamente.
 Intermitentes: Ocorrem e desaparecem por sua própria vontade, podendo reaparecer.
 Permanentes: Continuarão a existir até que o componente seja substituído.

Falha...

1. por queda
2. por omissão (recebimento ou envio)
3. de temporização
4. de resposta
5. arbitrária
Técnicas de tratamento:

 Mascaramento de falha por redundância (informação, tempo, física)


 Mascaramento de falhas e replicação: Organizar processos replicados em um grupo.
 Acordo em sistemas com falha: Os processos que não apresentam falhas cheguem a
um consenso sobre alguma questão.
 Detecção de falha: Necessário para poder criar o Mascaramento
 Recuperação: Substituir um estado Errôneo por um estado Livre de Erro. (Retroativa
ou Para Frente)

Aula 04 – Classificação de Flynn e Modelos de Programação

4categorias baseadas em tipos diferentes de fluxos.

Um processador aceita dois fluxos: de Instruções e de Dados

 Single Instruction Single Data (SISD) – Monoprocessador


 Single Instruction Multiple Data (SIMD) – Máquinas Vetoriais
 Multiple Instruction Single Data – Máquina teórica
 Multiple Instruction Multiple Data (MIMD) – Sistema Distribuído

Esquema de Interconexão de Processadores:

Descrevem de que modo os componentes do sistema são conectados fisicamente. Consistem


em NÓS e ENLACES.

Bisseção: Número mínimo de enlaces que precisam ser cortados para dividir a rede em duas
metades não conectadas. (quanto maior a largura, mais tolerante à falhas o sistema é).

Arquitetura de Acesso à Memória (MIMD):

 Multiprocessadores
o UMA – Memória central
o NUMA – Memória distribuída
 Multicomputadores
o NORMA

Programação Distribuída:

 Sequencial: Conjunto de instruções executadas sequencialmente.


 Concorrente: Execução concorrente de tarefas (Disputam a mesma CPU).
 Paralela: Pressupõe mais de uma CPU, execução Simultânea de tarefas.
Execução de Tarefa com mais velocidade:

 Aumento da Velocidade da CPU


 Otimização do Algoritmo
 Colaboração

Aula 05 – Introdução aos Modelos de Comunicação e a Arquitetura C/S

Classificação dos Modelos de Comunicação:

 Arquiteturais: definem forma de interação dos componentes


 Fundamentais: definem comportamento e propriedades componentes

Maior preocupação é tornar o Sistema: Confiável, Gerenciável, Adaptável, Rentável.

O modelo verifica o Posicionamento dos componentes na Rede e o Inter-Relacionamento


entre eles.

Camadas de Software:

 Plataforma
 Middleware

Classificação dos Modelos de Arquitetura:

 Cliente/Servidor
 Peer-to-peer
 De Variações – utilização de serviços oferecidos por diversos servidores

Requisitos de Projeto:

 Desempenho
 Qualidade de serviço
 Replicação
 Dependabilidade
Par de identificadores de localização na Internet:

 Computador
 Aplicativo

Application Program Interface (API)

Conjunto de aplicativos disponíveis a um programador.

Exemplo de Operações:

await-contact

make contact

cname to_comp

appname_to_appnum

send

recv

send_eof

Software Cliente

 Inicia ativamente o contato com um servidor.


 Pode acessar múltiplos serviços, mas contata, de forma ativa, um servidor remoto de
cada vez.
 Não Exige hardware especial ou sistema operacional sofisticado.

Software Servidor

 Dedicado a fornecer um Único Serviço.


 Trata, simultaneamente, de múltiplos clientes remotos.
 Executa em um computador Compartilhado, esperando passivamente pelo contato de
clientes remotos.
 Exige Hardware Poderoso e SO sofisticado.

Multiplos Serviços de um Computador

 O computador deve ter recursos de hardware suficientes


 O computador deve ter um SO que permita que múltiplos programas aplicativos
executem de modo concorrente.

Você também pode gostar