Alguém conhece alguns links / livros / qualquer coisa que você possa imaginar, que descreva o processo de construção de um pequeno cluster doméstico (quando digo casa , não significa necessariamente ficar em casa - apenas significa que é relativamente pequeno e barato) para fins experimentais, com ênfase especial em que hardware seria adequado hoje e algum tipo de análise de custos?
Embora, se alguém fez isso, eu apreciaria toda a experiência que você pode compartilhar.
Respostas:
Helmer vem à mente. :)
fonte
Houve alguns clusters da Ikea em destaque no Hack A Day:
fonte
Confira os livros Beowulf Cluster Computing de Thomas Sterling (um para Linux e outro para Windows). Eles informam tudo o que você precisa saber sobre o uso do MPI para que seus nós conversem.
Um amigo e eu construímos um cluster de 8 caixas usando um hardware realmente ruim e executamos o Windows XP nelas. Pareciam caixas Pentium I - 90 MHz. Bem abaixo das especificações necessárias para o Windows, mas funcionou bem. Também executamos o SQL Server 2000 nelas (também bem abaixo das especificações recomendadas) e fizemos algumas modelagens negras dos preços das opções de ações.
É difícil recomendar que tipo de hardware seria adequado sem saber o que você deseja fazer com seu cluster. Mas o ponto principal é que você pode criar um cluster de quase tudo.
fonte
Uma alternativa para ter muitos nós de cluster físicos é criar máquinas virtuais. Você teria apenas uma ou duas máquinas físicas reais, mas poderia simular ter muito mais nós. Isso funcionaria bem para criar, aprender e usar menos recursos (espaço, energia, $$$).
Isso não forneceria muita análise de custo, mas o ajudaria a começar. O tipo de configuração do cluster dependerá do tipo de trabalho que você deseja criar para ele. Você pode muitos nós pequenos ou ter apenas alguns nós poderosos. Existem ambientes de memória compartilhada e não compartilhada a serem considerados também. Que tipo de programas paralelos você deseja criar? Quanto mais nós físicos você tiver, mais espaço, energia, refrigeração e interconectividade de rede você precisará considerar. Às vezes, apenas um grande computador é o caminho a percorrer (e ambientes de memória compartilhada são mais fáceis de programar para IMHO).
Recentemente, comecei a jogar com um cluster, construindo algumas caixas P4 aleatórias, ubuntu e LAM-MPI. Definitivamente, foi uma experiência de aprendizado.
Na verdade, eram alguns laptops e torres p4 empilhados juntos em uma garagem. Era gueto, mas eu só queria aprender. Acabei de usar uma rede Ethernet de 100 Mbps. Eu escolhi o ubuntu, porque não queria lidar com muita configuração de hardware das caixas. O Ubuntu tinha muitos drivers que eu precisava. Eu precisava de um ambiente Linux, pois os aplicativos que escrevi para ele eram aplicativos baseados em C com interfaces MPI. Eu tentei replicar o que eu tinha usado antes. Foi tudo misc. hardware, nada padrão. A maioria dos clusters possui hardware exato para que você possa adicionar e remover nós em um piscar de olhos.
fonte
Dependendo do que você está tentando fazer, considere desenvolver seu sistema em um cluster de máquinas virtuais. O uso de uma solução de virtualização de SO, como o OpenVZ ou Virtuozzo da Parallel ou Solaris Containers, permitirá escalar enormes densidades em comparação com a virtualização completa do sistema (por exemplo, VirtualBox / VirtualPC / Xen / VMWare). Então, quando você realmente precisar implantar o sistema para obter algum desempenho, execute-o "na nuvem" no EC2 da Amazon ou similar.
fonte
Eu começaria examinando pessoalmente os projetos LittleFE ( http://littlefe.net/ ) ou CD de inicialização ( http://bccd.net/ ). Veja também o projeto Ubuntu Cloud ( http://www.ubuntu.com/cloud ).
Mais ou menos, qualquer hardware deve funcionar. Eu estaria inclinado a olhar para algum tipo de acordo ou máquinas saindo do contrato de locação para adquirir algum hardware barato.
fonte
Dê uma olhada no Rocks, que é uma distribuição de cluster que facilita a criação de cluster. Ele também aumenta para pelo menos alguns nós com hound.
fonte