TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Sistemas Distribuidos

Ensaios: Sistemas Distribuidos. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  14/4/2014  •  6.596 Palavras (27 Páginas)  •  574 Visualizações

Página 1 de 27

Introdução

Existem três formas de se ganhar desempenho em sistemas computacionais:

• Trabalhando mais: aumentando a capacidade computacional dos sistemas, como, por exemplo, reduzindo o número de ciclos de clock dos processadores e/ou aumentando a velocidade dos barramentos internos de comunicação;

• Trabalhando de forma mais inteligente: otimizando algoritmos e utilizando técnicas mais eficientes para a resolução dos problemas;

• Pedindo ajuda: dividindo as tarefas entre os diversos recursos que estão ociosos ou com pouca carga de trabalho.

Enquanto processadores mais rápidos permitem trabalhar mais, e otimização de algoritmos permite trabalhar de forma mais inteligente, o uso de diversos nós para resolver um problema é o equivalente a pedir ajuda. A maioria dos sistemas distribuídos são criados para a resolução de problemas que exigem alto poder computacional, porque estes podem ser divididos em pequenos processos que são espalhados pelos diversos nós e são executados de maneira paralela. Então, os diversos nós trabalham juntos como um recurso de computação simples e integrado para a resolução dos problemas. Os sistemas distribuídos podem ser vistos como uma alternativa para melhorar o desempenho de aplicações que podem ser paralelizáveis. Além de ganhar desempenho, os sistemas distribuídos também fornecem outras funcionalidades de destaque, como a tolerância a falhas e visão única do sistema, independente da arquitetura de hardware e software utilizada.

Os Sistemas Distribuídos foram criados para distribuir as tarefas e aumentar o poder computacional através do uso de vários processadores como também promover o compartilhamento de recursos. Cada processador possui sua própria memória e a comunicação entre os processadores é feita através de linhas de comunicação.

Os sistemas distribuídos, também conhecidos como sistemas fracamente acoplados, são compostos por um conjunto de nós independentes interconectados por uma rede, neles os processadores não compartilham memória ou relógio. Além disso, cada nó pode estar executando um sistema operacional diferente e ter uma arquitetura de hardware diferente. Então, a comunicação entre os processos residentes em diferentes nós é feita via uma rede qualquer, como, por exemplo, ethernet. Apesar de ser composto por diversos nós, os usuário não tem esta percepção, ou seja, vêem o sistema como único. Assim, parte dos dados de uma determinada aplicação pode estar em um nó e o executável em outro nó, sem que o usuário perceba. Essa imagem única deve-se aos avanços tecnológicos ocorridos na área de redes de computadores, dos processadores e das técnicas de desenvolvimento de software.

Por outro lado, um sistema fortemente acoplado (sistemas multiprocessados), com apenas um sistema operacional e com uma única arquitetura de hardware, é formado por um conjunto de processadores que compartilham o mesmo relógio e memória, ou seja, um único nó com vários processadores. Nestes a comunicação entre os processos é realizada por intermédio do barramento interno.

1.1 Vantagens e Desvantagens

Além do desempenho, existem outras vantagens em se utilizar os sistemas distribuídos, como:

• Alta disponibilidade: um sistema distribuído de alta disponibilidade visa manter os serviços sempre ativos. Isto é conseguido através da replicação de serviços e servidores. Estes sistemas continuam funcionando mesmo com falhas parciais de um ou mais componentes do sistema, como a de queda do link de comunicação, falha de um nó ou parada de um dispositivo de armazenamento. Após a falha, o sistema pode mostrar perda de desempenho e/ou de funcionalidade. Contudo, os outros componentes independentes devem continuar funcionando.

• Escalabilidade: novos recursos (memória, placas, dispositivos de saída, novos nós) podem ser adicionados quando houver necessidade. Assim, não é preciso realizar um grande investimento financeiro inicial, como ocorre geralmente nos sistemas multiprocessados, o nós podem ser adicionados conforme a evolução do projeto. Em um multiprocessado todo os equipamentos do projeto devem ser previstos no início do projeto, pois o limite de escalabilidade deles é bastante inferior quando comparado como o de um sistema distribuído;

• Compartilhamento de recursos: como os nós estão interconectados, então é possível que os usuários usem recursos que estão disponíveis em qualquer um dos nós, independentemente da localização física;

• Flexibilidade: como os sistemas distribuídos podem ser compostos por nós heterogêneos, ou seja, com diferentes capacidades de processamento e equipamentos recursos, então é possível realizar a alocação de recursos conforme o grau de desempenho e funcionalidade exigida por cada aplicação. Pode-se, então, ter alguns nós com a responsabilidade de apenas tratar e distribuir os eventos das interfaces das aplicações e outros para processamento das requisições geradas a partir dos eventos;

• Velocidade de computação: os processos podem ser divididos em subprocessos e escalonados entre os vários nós para a sua execução, obtendo maior velocidade no processamento dos mesmos. Para que isto ocorra o sistema operacional instalado deve ter esta capacidade e/ou a aplicação deve ser projetada de tal maneira;

• Aplicações distribuídas: existem aplicações que são distribuídas por natureza, como exemplo, os terminais de auto-atendimento dos bancos e as aplicações de trabalho cooperativo, onde as informações dos usuários podem estar armazenadas em lugares geograficamente distantes e são atualizadas constantemente.

• Integração de aplicações legadas: a interligação dos sistemas computacionais preexistentes com soluções modernas e flexíveis é uma necessidade de diversas aplicações. As tecnologias dos sistemas distribuídos podem ser utilizadas a fim de integrar tanto softwares diferentes quanto hardwares diferentes.

Por outro lado, os sistemas distribuídos possuem características que são vistas como desvantagens, como:

• Poucos softwares: apesar de ter aumentado a quantidade de aplicativos para sistemas distribuídos, estes ainda são poucos quando comparados com a diversidade de software para os sistemas multiprocessados. As dificuldades abrangem desde a construção de um sistema operacional distribuído eficiente que consiga realmente usufruir todos os recursos

...

Baixar como (para membros premium)  txt (45.2 Kb)  
Continuar por mais 26 páginas »
Disponível apenas no TrabalhosGratuitos.com