Sistemas distribuídos
Coleção de computadores autônomos conectados por rede, equipados com software distribuído. Características: • concorrência • compartilhamento de recursos • hardware: impressoras, CDs • informação: arquivos, dados • transparência • escalabilidade • tolerância a falhas / disponibilidade • redundância: sofware ou hardware • recuperação por software
Introdução
3
Sistema Distribuído CABUM!
Vantagens: • Maior poder computacional: concorrência • Menor atraso no acesso, que pode ser feito em um computador “próximo”. • Separação física possibilita falhas independentes Observação: • computação distribuída × computação paralela a transferência de informação tem “custo” não desprezível
Introdução
memória compartilhada
4
Sistema Distribuído
Chove em A
Está sol em A
A
Problema: A separação física impede que um nó tenha conhecimento do estado global do sistema em um dado instante. • atrasos indeterminados na comunicação • falhas
Introdução
5
Aspectos Tecnológicos
Redes • Tecnologia: ethernet, token ring, ATM, FDDI • Protocolos: TCP, UDP, IP, FLIP Comunicação entre processos • Sockets, RPC Nomeação • DNS, URL Transações • Controle de concorrência, atomicidade, tolerância a falhas Sistemas Operacionais Distribuídos • Mach, Chorus, Amoeba
Introdução
6
Elementos Básicos
Processos + Rede de Comunicação a) Processos • texto + dados • consideramos apenas processos sequenciais na maioria dos algoritmos necessário: • primitivas de comunicação • estrutura de controle não determinística end end.
process Pi; int x,y; begin loop select receive x from Pj => or when (x > y) receive i from Pk => end
Introdução
7
Elementos Básicos
b) Rede de Comunicação Topologias: • anel
Processo, nó
•
estrela
•
árvore
•
totalmente conexa
A topologia normalmente se refere à estrutura ideal para execução do software, não reflete necessariamente a topologia física.
Introdução
8
Algoritmos