Arquiteturas e Algoritmos em Sistemas Distribuídos
Classificado em Computação
Escrito em em português com um tamanho de 3,06 KB
Arquiteturas de Sistemas Distribuídos
Arquitetura Baseada em Dados
Processos comunicam por meio de um repositório comum (espaço de dados compartilhados). Sistemas distribuídos baseados na web, em grande parte, são centrados em dados.
Arquitetura Baseada em Eventos
Sistema de publicar/subscrever. Processos publicam eventos e o middleware assegura que somente os processos que se subscreverem para esses eventos os receberão. Processos são fracamente acoplados (não precisam de se referir uns aos outros). Podem ser combinados com a arquitetura centrada em dados (resultando num espaço compartilhado de dados). Processos também são desacoplados no tempo (não precisam de estar ativos quando ocorrer a comunicação). Usa interface parecida ao SQL.
Arquitetura Centralizada
Processos são distribuídos em dois grupos: servidor (processo que implementa um serviço específico) e cliente (processo que requisita um serviço). Essa interação é conhecida como comportamento de requisição-resposta. Para simular exclusão mútua, um processo é escolhido como coordenador, e outros processos enviam mensagens ao coordenador declarando quais recursos querem usar.
Arquitetura Descentralizada
Processamento distribuído: organizar aplicações cliente-servidor como multidivididas.
- Distribuição Vertical: Componentes logicamente diferentes em máquinas diferentes.
- Distribuição Horizontal: Cliente ou servidor pode ser fisicamente dividido em partes logicamente equivalentes; cada parte opera em sua própria porção do conjunto completo de dados; equilíbrio de carga (ex: redes peer-to-peer).
Algoritmos Distribuídos
Algoritmo Distribuído (Exclusão Mútua)
Exclusão mútua no acesso de recursos compartilhados em sistemas distribuídos (SD). Para qualquer evento no sistema, não deve haver ambiguidade sobre qual processo solicitou o recurso primeiro. Quando um processo quer acessar um recurso compartilhado, ele monta uma mensagem (nome do recurso, número do processo, hora corrente); depois envia a mensagem para todos os processos, incluindo ele mesmo.
Algoritmo do Anel
Cada processo é atribuído a uma posição do anel; não importa a ordem, apenas que cada processo saiba qual processo vem depois dele.
Comparativo de Algoritmos
A seguir, uma comparação de algoritmos distribuídos em termos de nome, mensagens, tempo de atraso e problemas:
- Centralizado: 3 mensagens, 2 unidades de tempo de atraso, problema de queda do coordenador.
- Descentralizado: 3mk mensagens, 2m unidades de tempo de atraso, problemas de inanição e baixa eficiência.
- Distribuído: 2(n-1) mensagens, 2(n-1) unidades de tempo de atraso, problema de queda de qualquer processo.
- Token Ring: 1 a infinito mensagens, 0 a n-1 unidades de tempo de atraso, problema de ficha perdida.