+ Responder ao Tópico



  1. #1
    error_trowt
    Visitante

    Padrão Funcionamento das Aplicações

    Ae galera
    Eu tenho uma duvida...
    O funcionamento das aplicações em clustering tem que ser escritas especificas para esta arquitetura ( modo de processamento ) ou o linux tem suporte a estas aplicações sem ser necessario rodar um programa especifico ???

    Valew

  2. #2

    Padrão Funcionamento das Aplicações

    Sim. Normalmente são utilizadas bibliotecas de passagem de mensagens como MPI e PVM, claro que, para clusters voltados a processamento paralelo.

    Alguns compiladores como High Performance Fortan, Fortran 90, já incorporam funções de paralelização automática em seus compiladores. É uma área de muito estudo no mundo.

    []´s

    Marcos Pitanga
    Linux Clusters Specialist

  3. #3
    hal
    Visitante

    Padrão Funcionamento das Aplicações

    tem o moisx/openmosix tb ...
    q acredito nao serem tao poderosos, mas q tornao o processamento paralelo
    de proceos fork transparente ...

    mosix/openmosix se dao bem com processos estaticos e com fork...
    acho q vale a pena dar uma olhada ...
    www.mosix.org
    http://openmosix.sourceforge.net/

    de uma olhada no clusternfs tb ... pra usar com um destes mosix ... eh muito bom

  4. #4

    Padrão Funcionamento das Aplicações

    Citação Postado originalmente por hal
    tem o moisx/openmosix tb ...
    q acredito nao serem tao poderosos, mas q tornao o processamento paralelo
    de proceos fork transparente ...

    mosix/openmosix se dao bem com processos estaticos e com fork...
    acho q vale a pena dar uma olhada ...
    www.mosix.org
    http://openmosix.sourceforge.net/

    de uma olhada no clusternfs tb ... pra usar com um destes mosix ... eh muito bom
    Vamos lá...

    O projeto traz uma nova visão para a computação baseada em cluster com GNU/Linux. Esse permite a construção de um sistema de alta performance, escalável com componentes genéricos, em que o crescimento do sistema não introduz nenhum problema relacionado a sobrecarga da performance. A principal vantagem do projeto sobre outros sistemas em cluster é a capacidade de resposta em conformidade das exigências de execução dos recursos imprevisíveis e irregulares dos diversos usuários conectados ao sistema.

    A principal característica desse modelo de cluster é a utilização do método de migração de processos, em que se equilibra a carga entre as máquinas de modo que se consiga rodar mais processos do que normalmente conseguiria com uma só cpu, beneficiando assim os aplicativos que usam muitos processos independentes, caso comum a diversos aplicativos encontrados em ambientes Unix.


    O openMosix é uma extensão do núcleo do sistema operacional Linux, que faz com que um cluster de computadores se comporte como um grande e único supercomputador através da utilização de migração preemptiva de processos e balanceamento dinâmico de carga.

    As inserções (patches) representam 3% do código fonte do kernel. Quando estava escrevendo este livro a versão 2.4.20 apresentava 57.000 linhas de código, representando 129 modificações no kernel (19.000 linhas substituídas/modificadas) e 50 modificações nos arquivos do espaço de usuário (36.000 linhas).


    A Migração Preemptiva de Processos é capaz de migrar qualquer processo do usuário, em qualquer instante e para qualquer nó disponível de maneira transparente. Para atingir um melhor desempenho esse é controlado por algoritmos de balanceamento dinâmico de carga e de prevenção contra falta de memória. Esses algoritmos são projetados para responder dinamicamente as variações da utilização dos recursos nos diversos nós. Isto garante que o cluster se comporte muito bem, seja numa configuração com poucas ou com muitas máquinas, propiciando uma maior escalabilidade.

    Esses algoritmos são descentralizados, ou seja, não existe a figura de controlador mestre e nós escravos como no cluster Beowulf da NASA. Cada nó é um mestre para os processos que são criados localmente, e um escravo para processos remotos migrados de outros nós do cluster. Isto significa que podemos acrescentar ou remover as máquinas do cluster a qualquer momento, com um mínimo de distúrbio no sistema. Este cluster possui também algoritmos de monitoramento que identificam a velocidade de cada nó, a carga da CPU e a memória livre disponível, como também a comunicação interprocessos IPC e a velocidade de acesso de cada processo.

    No openMosix operações são totalmente transparentes para as aplicações, ou seja, pode-se executar aplicações seqüenciais e paralelas como se fosse um único computador SMP (Symmetric Multi-Processor - multiprocessamento simétrico). Você não precisa conhecer onde seus processos estão sendo executados, nem se preocupar com que os outros usuários estão fazendo na rede, por isso usa-se o acrônimo "fork and forget". Em pouco tempo depois de iniciar os processos, eles são enviados para um melhor computador da rede. Então o OpenMosix continua a monitorar os novos processos e os demais, e poderá movimentá-los pelos computadores com pouca carga de trabalho melhorando assim a performance.

    Existem processos que podem migrar, mas que em tese não se beneficiariam com isso.

    Portanto, devemos fazer um estudo de caso para a execução de aplicações paralelas no openMosix, visto que a migração de processos é uma comunicação peer-to-peer, (par-a-par).....

    Quanto ao clusterNFS, é uma solução para distribuição de arquivos para estações diskless com maior performance.

    []´s

    Marcos Pitanga
    Linux CLusters Specialist