Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Mosix - Instalação e configuração de um cluster de balanceamento de carga
Linux user
rodrigo8819
30/07/2009
Artigo que demonstra alguns conceitos sobre clusters, os procedimentos e resultados obtidos na instalação, configuração e testes de um cluster do tipo balanceamento de carga utilizando o Mosix. Também relaciona com este cluster os conceitos de sistemas distribuídos (feito para meu TCC em 2008).
Por: Rodrigo Mendes Pasini
[ Hits: 51661 ]
Conceito: 10.0   5 voto(s)5 voto(s)5 voto(s)5 voto(s)5 voto(s) + quero dar nota ao artigo

Introdução

Um cluster é 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 grande computador.

Existem vários tipos de clusters, onde podemos citar alguns mais conhecidos:
  • Cluster de alto desempenho: seu funcionamento permite que ocorra uma grande carga de processamento com um volume alto de gigaflops em computadores comuns;
  • Cluster de alta disponibilidade: seus sistemas conseguem permanecer disponíveis por um longo período de tempo e em plena condição de uso, conseguem detectar erros se protegendo de possíveis falhas;
  • Cluster para balanceamento de carga: controla a distribuição equilibrada do processamento. Requer um monitoramento constante na sua comunicação e em seus mecanismos de redundância, caso ocorra alguma falha haverá uma interrupção no seu funcionamento.

Este artigo trata sobre a instalação e configuração do Mosix (Multicomputer Operating System for Unix), que é um cluster de balanceamento de carga com finalidade de testes de funcionamento de um cluster deste tipo.

Um pouco sobre Mosix

Mosix é uma extensão para os sistemas operacionais baseados em Unix para implementação de um cluster de computadores, que faz balanceamento de carga através da utilização de Migração Preemptiva de Processos e Balanceamento dinâmico de carga.

A migração Preemptiva de processos consiste em transportar um processo de um nodo escasso de recursos para um que tenha maior disponibilidade.

A migração de processos, que o MOSIX suporta para balançar carga, cria novas potencialidades de escalabilidade de processos paralelos de I/O (entrada e saída) que sejam apropriadas para as aplicações que necessitam processar grandes volumes de dados. O processamento paralelo de MOSIX utiliza biblioteca de I/O "MOPI", que fornece meios para dividir os processos (transparentemente) para diferentes nodos e permite acesso paralelo aos diferentes segmentos de um arquivo. (BARAK, 2002)

Quando um processo é iniciado, o Mosix escolhe qual o melhor nodo que poderá executá-lo, o envia para tal e monitora sua execução. Assim, o usuário não vê nada, o cluster faz tudo transparentemente.

O Mosix pode ser implementado em maquinas ao qual serão usadas em outras tarefas (desktops, por exemplo), pois ele é totalmente imperceptível ao usuário, e em redes heterogêneas, com todo tipo de computadores inclusive com os que possuem processadores de 64bits, ou mesmo os novos processadores multi-core (Vários núcleos de processamento).

Entre as características do Mosix destacam-se as principais:
  • Usuários podem fazer login em qualquer nodo do cluster sem a necessidade de saberem da existência do Mosix;
  • Não existe nodo controlador;
  • Não é necessário modificar ou apontar os aplicativos a bibliotecas especiais;
  • Pode-se incluir ou remover algum nodo a qualquer momento sem afetar o funcionamento do sistema;
  • Não é necessário copiar arquivos para nodos remotos do cluster;
  • Balanceamento de carga usando migração de processos;
  • Migração de processos dos nodos escassos de recursos para os mais rápidos;
  • Possui algoritmo de monitoramento que identificam, entre outras coisas, a velocidade de cada nó, a carga da CPU, e a memória livre disponível;
  • Tem suporte para trabalhos em batch;
  • Possui ferramentas de instalação e configuração automáticas.

Aplicações que se beneficiam do Mosix

  • Processos CPU-bound: processos com longos tempos de execução e baixo volume de comunicação entre processos, ex: aplicações científicas, engenharia e outras aplicações que demandam alto desempenho de computação;
  • Grandes compilações;
  • Para processos que misturam longos e rápidos tempos de execução ou com moderadas quantias de comunicação interprocessos, somado ao uso das bibliotecas MPI/PVM;
  • Processos I/O bound misturados com processos da CPU quando executados através do servidor de arquivos, usando o sistema de arquivos distribuídos;
  • Banco de dados que não usem memória compartilhada;
  • Processos que podem ser migrados manualmente.

Algumas desvantagens do Mosix

  • Processos com baixa performance, quando aplicativos com alta comunicação interprocessos são executados;
  • Aplicações dependentes do hardware que necessitam de acesso a um periférico de um nó em especial não podem ser distribuídas;
  • Aplicações com muitas threads não ganham desempenho;
  • Não se ganha desempenho quando se roda um único processo, tal como o browser.

Sistema Operacional

O sistema operacional usado foi o GNU/Linux Debian Etch, onde ele foi instalado com todas as opções padrões do assistente de instalação em modo gráfico.

A escolha do uso desta distribuição foi por sua robustez e estabilidade, e também pela facilidade de trabalhar com pacotes pré-compilados nativos ".deb".

O Mosix pode ser usado em quase todos os sistemas operacionais baseados em UNIX, inclusive heterogeneamente com hardwares diferentes.

Obtendo o Mosix

O Mosix pode ser obtido no site oficial do desenvolvedor (http://www.mosix.org), onde existe disponível uma versão para estudos com suporte para até seis nodos. Foi escolhida a versão MOSIX-2.24.2.3 para kernel 2.6.27, ao qual foi trabalhado.

Os nodos e rede (modelo de ensaio)

Para a montagem deste cluster foram utilizados três nodos, cada um com memória RAM de 512MB, Hard Disk de 80GB, processador Pentium IV de 3.40GHz e placa ethernet 10/100Mbps.

A rede entre os três nodos foi interligada através de cabeamento UTP (cabo de par trançado) a um 10/100 ethernet switch, da Hard Cam e o protocolo Ipv4 onde foi definida a rede 10.0.0.0/8 em seqüência partindo do primeiro endereço.

Toda a rede foi configurada através do script rc.local (/etc/rc.local - script que é executado em toda inicialização do sistema, muito utilizado para configurações e inicialização de serviços) conforme mostra a Figura 1, alterando apenas o endereço IP de cada nodo:
Linux: Instalação e configuração de um Cluster de Balanceamento de Carga utilizando Mosix
Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por Andre_A_Ferreira em 31/07/2009 - 10:18h:

Sr. Rodrigo!

Que dizer do seu artigo?
Expetacular é a definição mais próxima.

Grande abraço!

André A. Ferreira


[2] Comentário enviado por cesarmoura em 31/07/2009 - 13:07h:

Amigo, excelente o seu artigo.
Parabéns!


[3] Comentário enviado por manoserpa em 31/07/2009 - 16:42h:

Muito bom artigo.

Parabéns!


[4] Comentário enviado por ranzes em 31/07/2009 - 19:54h:

Muito Bom.

Pena que o projeto foi extinto.


Att,


Ranzes Tamar


[5] Comentário enviado por rodrigo8819 em 01/08/2009 - 12:32h:

Não, esse projeto não foi extinto. O projeto que foi extinto é o open Mosix, esse ainda está em desenvolvimento. acesse www.mosix.org e veja :D

E muito Obrigado pelos elogios!


[6] Comentário enviado por sermart em 02/08/2009 - 09:57h:

Já experimentei no fedora e funcionou de primeira muito bom.


[7] Comentário enviado por marcioyshimoda em 05/08/2009 - 09:20h:

Ah sim, o openMosix foi o projeto da qual estive estudando há um tempo atrás.
Para fins de comparação quanto ao tempo de compilação do kernel, qual foi a configuração do cluster citado no artigo?

De resto o artigo está de parabéns!


[8] Comentário enviado por rodrigo8819 em 05/08/2009 - 10:40h:

Você acha essas informações no artigo na parte Nodos e Rede

Mas vai ai!

Para a montagem deste cluster foram utilizados três nodos, cada um com memória RAM de 512MB, Hard Disk de 80GB, processador Pentium IV de 3.40GHz e placa ethernet 10/100Mbps.

Obrigado e Abraço!


[9] Comentário enviado por thiago_dias em 18/08/2009 - 14:43h:

Existe algum nodo central onde só ele migra os processos ou todos os nodos da rede podem migrar? pois no meu teste a maquina 1 migra para a 2 , mais a 2 não migra pra 1. é normal isso? tem como eu definir para a maquina 2 migrar para a 1 também?

Abraços


[10] Comentário enviado por rodrigo8819 em 20/08/2009 - 18:56h:

Todos os nodos são iguais, qualquer um migra pra qualquer um. Deve ter algum erro na conf da máquina 2. Neste tipo de cluster não existe nodo controlador, o gerenciamento não é centralizado.


[11] Comentário enviado por magnolinux em 18/09/2009 - 08:15h:

meus parabens...

muito bom o artigo!


[12] Comentário enviado por cmagnum em 01/10/2009 - 13:21h:

muito bom seu comentario!!!!

o que eu acho ruim no mosix é que está desatualizado .


[13] Comentário enviado por thiago_dias em 01/10/2009 - 14:18h:

cmagnum, o mosix não está desatualizado.
o projeto que esta desatualizado, pois foi descontinuado é o openmosix.
o mosix tem patch para as versões mais recentes do kernel.
dê uma conferida no site do projeto:
www.mosix.com


[14] Comentário enviado por removido em 17/10/2009 - 22:41h:

Fiquei Conhecendo Agora o Misix.


[15] Comentário enviado por reinaldoef em 23/01/2010 - 02:40h:

Rodrigo, gostaria de saber como fica o processamento de uma renderização do Blender com este cluster, pois preciso montar um cluster para renderizar animações em blender.


[16] Comentário enviado por baranzelli em 24/03/2010 - 08:27h:

Valeu mesmo...
Muito bom o artigo...


[17] Comentário enviado por hudyfx em 17/06/2010 - 22:00h:

opress, nota 10 no artigo parabéms


[18] Comentário enviado por rodrigo.root.rj em 27/06/2010 - 19:08h:

Quanto da um Cluster de 100 K-62 500 500Mhz
50Ghz -> Isso é processamento a dar com pau...
Acredito que o unico problema de usar tal tecnologia é a quantidade de energia,espaço e mão de obra gasta...mas devemos pensar nisso como uma alternativa de reciclagem.

Cluster para o Google de Pcs reciclaveis, tem que ter muito alcool isopropilico.


[19] Comentário enviado por joelpolese em 05/07/2010 - 14:38h:

OOpa!!

sou iniciante em Linux e meu TC vai ser em cima do gerenciamento e monitoramento de cluster linux Debian...

Não encontrei algum "tutorialzinho" sobre implementação de cluster de alto desempenho (vou rodar uma aplicação paralela e testar)
Se alguem puder ajudar, agradeço!

Obrigado

Abraço!!


[20] Comentário enviado por vinicius.almeida em 31/08/2010 - 20:05h:

Interessante.. gostei.

:)


[21] Comentário enviado por hvazsampaio em 08/09/2010 - 12:14h:

No comando seguinte deu erro, alguem sabe o porque?

# fakeroot make-kpkg --initrd --append-to-version=-MOSIX kernel_image kernel_headers

Error: The extended version may only contain
lowercase alphanumerics and the characters - + .
The current value is: -MOSIX
Aborting.


[22] Comentário enviado por renato_pacheco em 05/01/2011 - 13:27h:

Rodrigo, eu não entendi: o mosix deve ser instalado em todas as 3 máquinas com a msm versão do Debian Etch (q foi usado no seu TCC)? Todos ficam com o msm IP? Esse assunto é muito novo pra mim...


[23] Comentário enviado por rodrigo8819 em 05/01/2011 - 13:39h:

Você não precisa ficar preso a versão do linux nem a distros, basta fazer os passos de acordo com cada distro que for utilizar. Para isso terá de ver os métodos disponíveis para a distro que escolher, por exemplo a criação do pacote .deb do kernel compilado com o mosix não se aplica a derivados de red hat que utilizarão pacotes rpm.
Quando a rede, os nodos do cluster utilizarão a mesma rede (ou classe de IP) mas não o mesmo IP.

Aconselho que utilize versões parecidas do artigo, levando em conta que você relatou que é novo no assunto, assim quando já estiver mais familiarizado com o assunto faça em alguma outra distro de sua preferência.


[24] Comentário enviado por andregyn em 02/07/2012 - 17:06h:

Otimp artigo, vou testar em casa, tenho um dualcore parado, vou reutiliza-lo. Valeu



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.