Breve introdução sobre Clusters:
Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado. Em outras palavras, os computadores dividem as tarefas de processamento e trabalham como se fossem um único computador. Este artigo tem por objetivo mostrar os principais conceitos envolvidos, assim como os tipos e aplicações para cluster.
O que é um Cluster? Como funciona?
Muiitas perguntas e dúvidas giram em torno das funcionalidade de um cluster, hoje estarei explicando algumas aplicabilidades desse sistema que tem me impressionado cada dia mais. Como explicado na introdução, o cluster tem um objetivo base de realizar processamentos que requerem um alto nível de desempenho de forma que para isso, um conjunto de computadores trabalhem de forma conjunta visando a concretização do processo.
Cada computador de um cluster é denominado nó ou nodo. Todos devem ser interconectados, de maneira a formarem uma rede, de qualquer topologia. Essa rede precisa ser criada de uma forma que permita o acréscimo ou a retirada de um nó (em casos de danos, por exemplo), mas sem interromper o funcionamento do cluster. O sistema operacional usado nos computadores deve ser de um mesmo tipo, ou seja, ou somente Windows, ou somente Linux, ou somente BSD, etc. Isso porque existe particularidades em cada sistema operacional que poderiam impedir o funcionamento do cluster.
Independente do sistema operacional usado, é preciso usar um software que permita a montagem do cluster em si. Esse software vai ser responsável, entre outras coisas, pela distribuição do processamento. Esse é um ponto crucial na montagem de um cluster. É preciso que o software trabalhe de forma que erros e defeitos sejam detectados, oferecendo meios de providenciar reparos, mas sem interromper as atividades do cluster. Obviamente, esse tipo de necessidade pode ser controlada através de um equipamento específico, ou seja, não depende apenas do software.
Aplicações para Clusters
Os clusters podem ser usados para uma infinidade de aplicações. Basicamente, para qualquer uma que exija processamento pesado. Como exemplos de aplicações, temos previsão meteorológica (previsão do tempo e condições climáticas), simulações geotérmicas (ou seja, simulação de eventos no solo), renderização de efeitos especiais (muito usado em filmes), simulações financeiras, distribuição de carga, etc.
Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações que não podem parar de funcionar ou não podem perder dados (como os sistemas de bancos, por exemplo), podem utilizar as tecnologias de cluster, desde que devidamente configurados para não serem sujeitas a falhas graves. Assim, o cluster deve contar com nobreaks ou geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas eficientes, como já citado.
Cluster Beowulf
O nome Beowulf vem de um herói muito valente que tinha a missão de derrotar um monstro, num texto inglês antigo. Esse tipo de cluster, voltado à computação paralela, foi fundamentado em 1994, pela NASA, com a finalidade de processar as informações espaciais que a entidade recolhia. Desde então, grandes empresas (como HP e IBM) e universidades (como a brasileira Unesp) vêm construindo clusters deste tipo e como cada vez mais nós!
O que distingue o Cluster Beowulf dos outros tipos são as seguintes características (que são aplicadas de acordo com a finalidade do cluster):
- A conexão dos nós pode ser feita por redes do tipo Ethernet (mais comum);
- Existe um servidor responsável por controlar todo o cluster, principalmente quanto a distribuição de tarefas e processamento (pode haver mais de um servidor, dedicado a tarefas específicas, como monitoração de falhas). Este servidor é chamado de Front-end;
- O sistema operacional é baseado Linux, sendo necessário que ele contenha todos os programas para cluster;
- Pode-se usar computadores comuns, inclusive modelos considerados obsoletos; infowester
- Não é necessário usar equipamentos próprios para clusters. Basta equipamentos comuns à redes e os tradicionais PCs.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Uploaded with
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
De maneira generalizada, o Cluster Beowulf permite a construção de sistemas de processamento que podem alcançar altos valores de gigaflops (um gigaflop equivale a 1 bilhão de instruções de ponto flutuante executadas por segundo). Isso tudo com o uso de computadores comuns e de um sistema operacional com código-fonte livre, ou seja, além de gratuito, pode ser melhorado para a sua finalidade. Tais características fizeram do Cluster Beowulf um tema muito explorado em universidades e claro, aplicado para vários fins.
Entre os requisitos para o sistema operacional de um Cluster Beowulf, estão a necessidade de se ter as bibliotecas para Parallel Virtual Machine (PVM) ou para Message Passing Interface (MPI). Ambos os tipos são usados para a troca de mensagens entre os nós do cluster. O MPI é mais avançado que o PVM, pois pode trabalhar com mensagens para todos os computadores ou para apenas um determinado grupo (por exemplo, quando somente este grupo vai realizar determinada tarefa).
Para mais informações sobre o cluster Beowulf: www.beowulf.org
Outros tipos de cluster
Além do Beowulf, existem vários outros tipos de cluster, para os mais diversos fins. Os mais conhecidos são vistos a seguir:
Cluster para Alta Disponibilidade: quando se fala de Disponibilidade, fala-se do tempo em que determinado sistema permanece ativo e em condições de uso. A Alta Disponibilidade se refere a sistemas que praticamente não param de funcionar. Existem clusters deste tipo. Usados em aplicações de missão crítica, eles costumam ter meios eficientes de proteção e de detecção de falhas;
Cluster para Balanceamento de Carga: Balanceamento de Carga se refere à distribuição equilibrada de processamento aos nós do cluster. É muito usado na Internet, em servidores de e-mail, comércio eletrônico e em sistemas de lojas. Neste tipo de cluster, é necessário que haja monitoração constante da comunicação e mecanismos de redundância. Caso contrário, qualquer falha pode interromper o funcionamento do cluster;
Cluster Combo: este tipo combina as características dos clusters De Alta Disponibilidade e de Balanceamento de Carga.
Cluster MOSIX
MOSIX é a sigla para Multicomputer Operating System for UnIX. Trata-se de um conjunto de ferramentas de cluster para Linux, voltado ao tipo Balanceamento de Carga. Uma de suas principais características é a não necessidade de aplicações e recursos de software voltados ao cluster, como acontece com o Beowulf. O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do cluster. Esse tipo, assim como o Beowulf, é muito utilizado por universidades em pesquisas e projetos. Por ser baseado em Linux, sua implementação é transparente, além de ser relativamente fácil de instalar.
De maneira generalizada, O MOSIX é uma extensão para Linux (ou sistemas baseados em Unix) de um sistema de cluster que trabalha como se fosse um único supercomputador, por meio de conceitos de Distribuição de Processos e Balanceamento de Carga.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Uploaded with
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Saiba mais sobre o cluster MOSIX em: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
Finalizando
As tecnologias de Clustering possibilitam a solução de diversos problemas que envolvem grande volume de processamento. As aplicações que um cluster pode ter são diversas, indo desde a simples melhora no desempenho de um determinado sistema ou a hospedagem de um site, até o processo de pesquisas científicas complexas. O que realmente chama a atenção, é que todo o processamento pode ser feito de maneira que pareça ser um único computador dotado de alta capacidade como um HPC(High Performace Computer). Assim, é possível que determinadas aplicações sejam implementadas em custer, mas sem interferir no funcionamento de outras aplicações que estejam relacionadas.
É isso pessoal, espero que gostem deste artigo e que por ventura possa servir de ajuda para quem tenha algum computador velho em casa e queria aproveitá-lo de alguma forma.
Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado. Em outras palavras, os computadores dividem as tarefas de processamento e trabalham como se fossem um único computador. Este artigo tem por objetivo mostrar os principais conceitos envolvidos, assim como os tipos e aplicações para cluster.
O que é um Cluster? Como funciona?
Muiitas perguntas e dúvidas giram em torno das funcionalidade de um cluster, hoje estarei explicando algumas aplicabilidades desse sistema que tem me impressionado cada dia mais. Como explicado na introdução, o cluster tem um objetivo base de realizar processamentos que requerem um alto nível de desempenho de forma que para isso, um conjunto de computadores trabalhem de forma conjunta visando a concretização do processo.
Cada computador de um cluster é denominado nó ou nodo. Todos devem ser interconectados, de maneira a formarem uma rede, de qualquer topologia. Essa rede precisa ser criada de uma forma que permita o acréscimo ou a retirada de um nó (em casos de danos, por exemplo), mas sem interromper o funcionamento do cluster. O sistema operacional usado nos computadores deve ser de um mesmo tipo, ou seja, ou somente Windows, ou somente Linux, ou somente BSD, etc. Isso porque existe particularidades em cada sistema operacional que poderiam impedir o funcionamento do cluster.
Independente do sistema operacional usado, é preciso usar um software que permita a montagem do cluster em si. Esse software vai ser responsável, entre outras coisas, pela distribuição do processamento. Esse é um ponto crucial na montagem de um cluster. É preciso que o software trabalhe de forma que erros e defeitos sejam detectados, oferecendo meios de providenciar reparos, mas sem interromper as atividades do cluster. Obviamente, esse tipo de necessidade pode ser controlada através de um equipamento específico, ou seja, não depende apenas do software.
Aplicações para Clusters
Os clusters podem ser usados para uma infinidade de aplicações. Basicamente, para qualquer uma que exija processamento pesado. Como exemplos de aplicações, temos previsão meteorológica (previsão do tempo e condições climáticas), simulações geotérmicas (ou seja, simulação de eventos no solo), renderização de efeitos especiais (muito usado em filmes), simulações financeiras, distribuição de carga, etc.
Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações que não podem parar de funcionar ou não podem perder dados (como os sistemas de bancos, por exemplo), podem utilizar as tecnologias de cluster, desde que devidamente configurados para não serem sujeitas a falhas graves. Assim, o cluster deve contar com nobreaks ou geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas eficientes, como já citado.
Cluster Beowulf
O nome Beowulf vem de um herói muito valente que tinha a missão de derrotar um monstro, num texto inglês antigo. Esse tipo de cluster, voltado à computação paralela, foi fundamentado em 1994, pela NASA, com a finalidade de processar as informações espaciais que a entidade recolhia. Desde então, grandes empresas (como HP e IBM) e universidades (como a brasileira Unesp) vêm construindo clusters deste tipo e como cada vez mais nós!
O que distingue o Cluster Beowulf dos outros tipos são as seguintes características (que são aplicadas de acordo com a finalidade do cluster):
- A conexão dos nós pode ser feita por redes do tipo Ethernet (mais comum);
- Existe um servidor responsável por controlar todo o cluster, principalmente quanto a distribuição de tarefas e processamento (pode haver mais de um servidor, dedicado a tarefas específicas, como monitoração de falhas). Este servidor é chamado de Front-end;
- O sistema operacional é baseado Linux, sendo necessário que ele contenha todos os programas para cluster;
- Pode-se usar computadores comuns, inclusive modelos considerados obsoletos; infowester
- Não é necessário usar equipamentos próprios para clusters. Basta equipamentos comuns à redes e os tradicionais PCs.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Uploaded with
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
De maneira generalizada, o Cluster Beowulf permite a construção de sistemas de processamento que podem alcançar altos valores de gigaflops (um gigaflop equivale a 1 bilhão de instruções de ponto flutuante executadas por segundo). Isso tudo com o uso de computadores comuns e de um sistema operacional com código-fonte livre, ou seja, além de gratuito, pode ser melhorado para a sua finalidade. Tais características fizeram do Cluster Beowulf um tema muito explorado em universidades e claro, aplicado para vários fins.
Entre os requisitos para o sistema operacional de um Cluster Beowulf, estão a necessidade de se ter as bibliotecas para Parallel Virtual Machine (PVM) ou para Message Passing Interface (MPI). Ambos os tipos são usados para a troca de mensagens entre os nós do cluster. O MPI é mais avançado que o PVM, pois pode trabalhar com mensagens para todos os computadores ou para apenas um determinado grupo (por exemplo, quando somente este grupo vai realizar determinada tarefa).
Para mais informações sobre o cluster Beowulf: www.beowulf.org
Outros tipos de cluster
Além do Beowulf, existem vários outros tipos de cluster, para os mais diversos fins. Os mais conhecidos são vistos a seguir:
Cluster para Alta Disponibilidade: quando se fala de Disponibilidade, fala-se do tempo em que determinado sistema permanece ativo e em condições de uso. A Alta Disponibilidade se refere a sistemas que praticamente não param de funcionar. Existem clusters deste tipo. Usados em aplicações de missão crítica, eles costumam ter meios eficientes de proteção e de detecção de falhas;
Cluster para Balanceamento de Carga: Balanceamento de Carga se refere à distribuição equilibrada de processamento aos nós do cluster. É muito usado na Internet, em servidores de e-mail, comércio eletrônico e em sistemas de lojas. Neste tipo de cluster, é necessário que haja monitoração constante da comunicação e mecanismos de redundância. Caso contrário, qualquer falha pode interromper o funcionamento do cluster;
Cluster Combo: este tipo combina as características dos clusters De Alta Disponibilidade e de Balanceamento de Carga.
Cluster MOSIX
MOSIX é a sigla para Multicomputer Operating System for UnIX. Trata-se de um conjunto de ferramentas de cluster para Linux, voltado ao tipo Balanceamento de Carga. Uma de suas principais características é a não necessidade de aplicações e recursos de software voltados ao cluster, como acontece com o Beowulf. O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do cluster. Esse tipo, assim como o Beowulf, é muito utilizado por universidades em pesquisas e projetos. Por ser baseado em Linux, sua implementação é transparente, além de ser relativamente fácil de instalar.
De maneira generalizada, O MOSIX é uma extensão para Linux (ou sistemas baseados em Unix) de um sistema de cluster que trabalha como se fosse um único supercomputador, por meio de conceitos de Distribuição de Processos e Balanceamento de Carga.
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Uploaded with
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Saiba mais sobre o cluster MOSIX em: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
Finalizando
As tecnologias de Clustering possibilitam a solução de diversos problemas que envolvem grande volume de processamento. As aplicações que um cluster pode ter são diversas, indo desde a simples melhora no desempenho de um determinado sistema ou a hospedagem de um site, até o processo de pesquisas científicas complexas. O que realmente chama a atenção, é que todo o processamento pode ser feito de maneira que pareça ser um único computador dotado de alta capacidade como um HPC(High Performace Computer). Assim, é possível que determinadas aplicações sejam implementadas em custer, mas sem interferir no funcionamento de outras aplicações que estejam relacionadas.
É isso pessoal, espero que gostem deste artigo e que por ventura possa servir de ajuda para quem tenha algum computador velho em casa e queria aproveitá-lo de alguma forma.
Comment