Je kunt nooit genoeg rekenkracht hebben, vooral als je graag met 3D-graphics werkt of je eigen software compileert.

Het is prettig om, met een zeer kleine uitgave, gemakkelijk alle reserve-machines te gebruiken die je misschien hebt om een ​​enkele homogene computing-mega-matrix en rekenmachine te maken door ze allemaal samen te bedraden en de juiste software te gebruiken.

Zelfs bescheiden hardware kan een belangrijke bijdrage leveren aan uw nettovermogen, en als u de hardware al hebt, hoeft u niets te verliezen.

PC-hardware is nu zo goedkoop dat het kopen van een paar extra machines en het bedraden ervan in dezelfde computerpool een zeer kosteneffectieve uitbreiding kan zijn. Dit is wat we gaan bouwen, en we gaan Ubuntu Linux gebruiken om het te doen. Linux kan clustervergavetaken als deze op zijn schreden nemen en u hoeft niet voor elke machine een licentie te nemen.

Voordat we aan dit streven beginnen, moeten we één ding duidelijk maken. De gecombineerde verwerkingscapaciteit van een cluster van computers kan alleen voor bepaalde toepassingen worden gebruikt.

Je kunt je framesnelheid niet verhogen Crysis of Far Cry 2, U kunt bijvoorbeeld uw dagelijkse toepassingen niet overal in het cluster uitvoeren, tenzij ze hiervoor zijn ontworpen. We bouwen ook geen Beowulf cluster, waar u gespecialiseerde bibliotheken en programmeertalen zou moeten gebruiken om te profiteren van het parallelle verwerkingspotentieel in het cluster.

We gaan werken met distributed computing, wat betekent dat we een taak opsplitsen over verschillende machines in een lokaal cluster. Als gevolg hiervan kunnen onze applicaties veel meer nuchter en praktisch zijn. Je zult in staat zijn om renderingtijden drastisch te verminderen met Blender, of de compilatietijd van belangrijke apps zoals de GNU / Linux-kernel.

Je kunt ook een onbeperkt aantal taken parallelliseren en elke machine afzonderlijk van je master gebruiken als je dat wilt. Net als bij multi-coreprocessors, is er enige inefficiëntie bij het schalen van taken in een cluster van processors, maar het zal bijna altijd veel sneller zijn dan zonder dat de processor werkt.

In theorie kun je elke oude pc gebruiken. De minimale vereiste is dat het Linux moet kunnen uitvoeren; dus dat verkleint de keuze tot bijna elke pc van de laatste 10 jaar. Maar in werkelijkheid werkt het cluster het best als de machines die u aan elkaar koppelt relatief dicht bij elkaar in de specificatie zijn, vooral als u startkosten in aanmerking neemt.

Een 1GHz Athlon-machine kost bijvoorbeeld meer dan £ 50 per jaar aan elektriciteitskosten. Het is veel beter om dit geld uit te geven aan een processorupgrade voor een efficiëntere machine. Een vergelijkbaar platform voor elke computer maakt de configuratie aanzienlijk eenvoudiger. Voor ons cluster hebben we vier identieke krachtige machines gebruikt.

U hebt alleen krachtige machines nodig als u geld verdient met iets op de computer gebaseerd - bijvoorbeeld 3D-animatie - waar u de extra kosten kunt afwegen tegen betere prestaties. We gaan er ook vanuit dat je een hoofdmachine hebt die je als meester kunt gebruiken. Dit zullen de ogen en oren van het cluster zijn, en het is vanaf hier dat je banen kunt instellen en de andere machines kunt besturen..

Hardware compatibiliteit

Linux heeft een lange weg afgelegd qua hardwarecompatibiliteit, maar je wilt geen drie verschillende netwerkadapters troubleshooten als je het kan helpen. En het zijn de netwerkadapters die waarschijnlijk de zwakste schakel zijn.

Clustercomputing is afhankelijk van het feit dat elke machine toegang heeft tot dezelfde gegevens, en dat betekent dat gegevens voortdurend moeten worden geschud tussen elk van de machines in het netwerkcluster..