Criando um cluster de servidor doméstico para análise de dados

1

Eu vi algumas perguntas aqui que são semelhantes ao que eu estou pensando, mas não completamente. Então, pensei em perguntar e ver o que acontece.

Basicamente, eu tenho 2 ou 3 laptops antigos, mais lentos, por aí. O que eu gostaria de fazer é agrupar esses computadores para realizar alguns procedimentos de análise de dados "embaraçosamente paralelos" (por exemplo, treinando um algoritmo de aprendizado de máquina em vários núcleos diferentes). Para ser mais específico, estou querendo executar o código Python (scikit-learn, que tem a capacidade de executar em vários núcleos diferentes) neste cluster.

Idealmente, o que eu gostaria de fazer é ter um cluster com os 3 laptops conectados juntos e um dispositivo de armazenamento (1-2 TB) ligado à rede. Eu gostaria de escrever os scripts para fazer minha análise de dados no meu laptop atual, acessar o cluster de alguma forma (ssh?), E executar os scripts nos dados armazenados no dispositivo conectado enquanto divide a análise entre os diferentes laptops. Pensamentos?

Eu li alguns sobre clusters do Beowulf, clusterizando com o Ubuntu e outras coisas. Eu tenho 0 experiência com redes, clustering, comandos Unix, etc, e realmente não entendo nada disso. Estou disposto a aprender, mas realmente não tenho idéia de por onde começar, então dicas, recursos, sugestões, seriam muito apreciados.

    
por user1074057 29.06.2012 / 00:03

4 respostas

2

Talvez você possa encontrar cluster do Beowulf uma solução interessante para o seu caso.

    
por 29.06.2012 / 00:32
0

Se você não quer entrar nos detalhes de baixo nível de cluster, eu sugiro que você dê uma olhada no BOINC link . (Relativamente) fácil de configurar, muito divertido:)

    
por 29.06.2012 / 00:28
0

Se os laptops forem extremamente antigos, talvez seja mais rápido comprar uma única máquina nova que faria o trabalho muito mais rápido. Ou compre um monte de novas e pequenas máquinas Linux com processador ARM (RaspberryPi et. Al.), Que são relativamente baratas, e conecte todas elas para um monte de CPU em um tamanho bem compacto.

Ou, se você quiser apenas brincar e aprender, veja as outras respostas sobre clustering.

    
por 29.06.2012 / 00:54
0

Na sua situação, eu aprenderia sobre o compartilhamento de diretórios com o NFS para que cada máquina tenha acesso aos mesmos dados. Para este exemplo, chamaremos o diretório / dados. Então você iria querer configurar o ssh para funcionar sem precisar de uma senha usando chaves ssh (ssh-keygen). De lá, você gostaria de fazer alguns scripts, provavelmente em Python, já que o usaria de qualquer maneira, para automatizar a execução de seus trabalhos. Seu script acabará executando algo nos moldes de "ssh otherlaptop doexecutable / data / datafile". Você também pode usar algo como o gerenciador de recursos Torque ou o Slurm (Utilitário Linux Simples para Gerenciamento de Recursos) para fazer a execução nos laptops, mas ainda precisa de um script para criar os trabalhos que seriam transferidos para o torque / slurm. / p>     

por 16.10.2012 / 15:17

Tags