Helmer vem à mente. :)
Alguém conhece alguns links / livros / qualquer coisa em que você possa pensar, que descrevam o processo de construção de um pequeno cluster doméstico (quando digo casa , isso não significa necessariamente para ficar em casa - significa apenas que é relativamente barato e pequeno) para fins experimentais, com uma ênfase especial em qual hardware seria adequado hoje, e algum tipo de análise de custo?
Embora, se alguém fizer isso, agradeço toda a experiência que você pode compartilhar.
Helmer vem à mente. :)
Houve alguns clusters do Ikea em destaque no Hack A Day:
Confira os livros Beowulf Cluster Computing de Thomas Sterling (um para Linux e Windows). Eles dizem tudo o que você precisa saber sobre o uso do MPI para que seus nós falem uns com os outros.
Um amigo & Eu construí um cluster de 8 caixas usando um hardware muito ruim e rodava o Windows XP nelas. Estes eram como caixas Pentium I - 90 MHz. Bem abaixo das especificações necessárias para o Windows, mas correu bem. Também executamos o SQL Server 2000 neles (também bem abaixo das especificações recomendadas) e fizemos algumas modelagens black-scholes de preços de opções de ações neles.
É difícil recomendar que tipo de hardware seria adequado sem saber o que você deseja fazer com seu cluster. Mas o importante é que você pode construir um cluster com quase tudo.
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 lhe daria muita análise de custos, mas o ajudaria a começar. O tipo de configuração de 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, resfriamento e interconectividade de rede você terá que considerar. Às vezes, apenas um computador enorme é o caminho a percorrer (e os ambientes de memória compartilhada são mais fáceis de programar para a IMHO).
Recentemente, comecei a jogar com um cluster e construí algumas caixas P4 aleatórias, o Ubuntu e o 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 eu não queria lidar com muita configuração de hardware das caixas. O Ubuntu tinha muitos dos drivers que eu precisava. Eu precisava de um ambiente Linux como os aplicativos que eu escrevi para ele foram 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.
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 sistema operacional como o OpenVZ ou o Virtuozzo ou o Solaris Containers da Parallel permitirá aumentar a densidade em comparação com a virtualização total do sistema (por exemplo, VirtualBox / VirtualPC / Xen / VMWare). Então, quando você realmente precisa implantar o sistema para algum desempenho, execute-o "na nuvem" no EC2 da Amazon ou similar.
Eu começaria olhando o CD do LittleFE ( link ) ou o Cluster de Bootable ( link ) projetos, pessoalmente. Veja também o projeto Ubuntu Cloud ( link ).
Mais ou menos qualquer hardware deve funcionar. Eu ficaria inclinado a olhar para algum tipo de acordo de fechamento ou máquinas saindo de arrendamento para pegar algum hardware barato.
Dê uma olhada em Rocks , que é uma distribuição de cluster que torna o cluster de construção realmente fácil. Ele também pode ser dimensionado para pelo menos alguns nós desconhecidos.
Tags cluster