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.