# Clúster d'ordinadors

El concepte clúster en informàtica és utilitzat per definir diversos tipus d'associacions de computadors força diferenciades entre elles. Dues definicions força apropiades serien, per una banda la del TermCat: "un conjunt d'unitats funcionals interconnectades per mitjà d'una xarxa que actuen com una sola unitat", i per l'altra la del Doctor Thomas Sterling: "una classe d'arquitectura de computador paral·lel que es basa a unir màquines independents integrades per mitjà de xarxes d'interconexió, per obtenir un sistema coordinat, capaç de processar una càrrega".

## Història

Avui en dia, amb els ordinadors de què disposem, ens resulta a vegades impossible calcular certes necessitats científiques a causa de la relativament poca capacitat de càlcul de la que disposen. La prevenció de canvis climàtics, el tractament massiu en la informació de finances, la fusió nuclear, l'enginyeria genètica... tot depèn en gran manera de la potència de càlcul dels ordinadors.
La computació d'alt nivell a estat des de sempre, i de manera exclusiva a les mans d'uns pocs privilegiats. Això va portar als científics amb no gaire poder econòmic a cercar una alternativa per obtenir un ordinador potent i econòmicament assequible, així que, seguint aquesta línia, arribaren a la conclusió de què la millor solució possible era el reciclatge. Consisteix a connectar una sèrie d'ordinadors de baix cost econòmic, com ho són els PC ("Personal Computer"), formant una xarxa i elaborant programes per fer-los treballar en paral·lel, compartint processos. El resultat fou una solució que acapara la potència dels grans superordinadors a un preu molt més assequible.
Aquesta idea no és del tot recent. A la dècada dels 50, l'exèrcit Nord-Americà va crear una xarxa d'ordinadors de vàlvules de buit nomenada "SAGE". Més endavant, als 80 es van arribar a comercialitzar agrupacions de mini-computadors VAX. Però no va ser fins als anys 90 que la idea fou estesa a nivell mundial, a causa del factors econòmics i tècnics, com el baix preu dels PC i l'elaboració de xarxes, i l'aparició del sistema lliure GNU/Linux.
Així doncs el 1994 va néixer la primera "granja d'ordinadors" o clúster, al Centre de Vols Espacials Goddard de la NASA, amb l'objectiu de resoldre problemes computacionals que apareixen en les ciències de la Terra i l'Espai. Els pioners d'aquest projecte foren els doctors Thomas Sterling i Donald Becker, que connectaren entre si 16 PC amb microprocessador Intel 486 a través d'una xarxa ethernet mitjançant GNU/Linux. El clúster desenvolupat va tenir una eficiència de 70 Mflops, una velocitat avui en dia ridícula però molt pròxima a l'acaparada per alguns dels superordinadors de l'època i gastant només 45.000 Euros. Els investigadors li donaren el nom de Beowulf en honor de l'heroi de les llegendes medievals.
Des de llavors es crearen multitud de projectes basats en el processament paral·lel.

## Característiques

Cadascun dels ordinadors que formen part d'un clúster s'anomena "node".
Actualment existeixen dos tipus de clústers: els d'alta disponibilitat i els d'alt rendiment.
Els d'alta disponibilitat són aquells destinats a la necessitat de suportar un error de maquinari o programari. Si un dels nodes cau, la resta es reparteixen les seves tasques i intenten reactivar-lo. Aquest seria el cas de servidors web, ordinadors que han de prestar servei les 24h del dia els 365 dies de l'any.
Els d'alt rendiment es basen en un conjunt de màquines configurades per aconseguir una capacitat de càlcul màxima al repartir-se la càrrega dels processos entre els nodes existents. Són utilitzats en la resolució d'algoritmes científics, reproducció d'imatges 3D, compilació de grans codis de programació, xifrat de contrasenyes…
Els clústers d'alt rendiment funcionen amb una característica fonamental: el processament paral·lel. Aquest consisteix en la capacitat d'utilitzar una sèrie de processadors per executar diferents parts d'un mateix programa de manera simultània. L'objectiu principal del paral·lelisme és reduir el nombre de cicles de l'execució d'un programa en relació al nombre de processadors (nodes) vigents en el sistema, "divideix i venceràs".
A més d'aquestes dues classificacions, trobem un altre aspecte més que caracteritza els diferents clústers, la transparència. Parlem de transparència quan el programador no necessita elaborar un tipus d'aplicació especial pel processament paral·lel ni canviar res depenent de la tipologia de la xarxa. O sigui, podríem executar-hi la majoria d'aplicacions que podem utilitzar en els ordinadors normals sense ni tan sols adonar-nos de què estem processant en paral·lel. Un exemple de clúster no transparent seria el projecte Beawoulf, en el que es va necessitar l'elaboració de programes especials per aquest, i l'anterior coneixement del tipus de xarxa per poder-los programar correctament.

## Exemples

- Google
Un bon exemple d'un clúster d'alta disponibilitat important seria el famós cercador web "Google".
Google até més de 5000 milions de cerques cada mes (unes 2000 per segon), i cerca entre més de 3000 milions de documents. Per atendre totes aquestes peticions Google va optar per la construcció d'un clúster amb vora de 20000 servidors repartits en 7 centres ("data centers"), Washington DC (EUA), Herndon (Virgínia, USA), Zúric (Suïssa)... Els servidors són senzills PC que funcionen sota "Red-Hat Linux".
Google va optar per aquest tipus de tecnologia a causa de la seva relació cost/rendiment, utilitzant ordinadors personals estàndards i reduint considerablement el cost s'aconsegueix un enorme rendiment.
- Earth Simulator Center
És un projecte japonès de l'any 2002 amb l'objectiu de simular una "Terra virtual" i estudiar com seria el món en el futur utilitzant tecnologia avançada de simulació numèrica.
El clúster simulador de la terra (ES) és un sistema de computació paral·lela que consisteix en 640 nodes interconnectats per un commutador. Cada node és un sistema amb memòria compartida, que consisteix en 8 processadors aritmètics, un sistema de memòria principal de 16 Gb una unitat d'accés remot i un processador d'entrada/sortida. El rendiment màxim de cada un dels processadors que formen els node és de 8 Gflops, i el del clúster en conjunt és de 40 Tflops.
Els Objectius principals del Earth Simulator són: l'estudi i predicció del canvi climàtic global, la predicció de desastres meteorològics, la prevenció d'efectes d'escalfament global, l'estudi de les plaques tectòniques... Aquest projecte és un clar exemple d'un clúster d'alt rendiment
- MareNostrum
És avui en dia l'ordinador més potent d'Europa, aproximadament el quart de tot el món, i el més potent entre els públics. S'ubica a Barcelona, a la Universitat Politècnica de Catalunya (Campus Nord). És un clúster construït per IBM, actualment consta de 10.240 processadors. El sistema funciona sota Suse Linux, i compta amb una capacitat de càlcul de 90,21 Tflops. EL MareNostrum és utilitzat en la investigació del genoma humà, l'estructura de les proteïnes i en el disseny de nous medicaments.
- SETI
El SETI és un projecte pel descobriment d'intel·ligència extraterrestre a partir de l'anàlisi de senyals radiofònics procedents de l'espai.
Els senyals són captats pel radiotelescopi d'Arecibo (Puerto Rico) amb els seus 305 metres de diàmetre, el més gran del món, qual cosa li permet rebre senyals molt més dèbils que qualsevol altre telescopi. Aquests senyals són enviats a la universitat de Berkeley (Califòrnia), on els divideixen en fragments molt petits que seran repartits entre els més de 4 milions d'usuaris inscrits en el projecte SETI@home.
Per analitzar tota aquesta informació, faria falta un ordinador immensament potent i immensament car, per això els seus fundadors optaren per la creació d'un gran clúster format per milers d'usuaris voluntaris procedents de qualsevol part del món. Així doncs van distribuir un salvapantalles que, entra en funcionament quan l'ordinador està en desús, llavors via internet, passava a formar part del clúster, i iniciava el procés d'anàlisi dels petits fragments captats pel telescopi.
Aquest no seria un perfecte exemple del concepte de clúster que s'acostuma a utilitzar, ja que no existeix una relació directa entre els diferents processadors dels nodes, no podríem parlar d'un processament paral·lel directe. Tanmateix, això si, podem parlar de clúster, ja que s'adapta a la definició d'aquest.

## Fonts

Informació extreta de: http://www.clarr.741.com Arxivat 2019-06-07 a Wayback Machine. Projecte distribuït sota Llicència GPL.

## Enllaços externs

* HispaCluster, web española dedicada als clústers Arxivat 2012-03-13 a Wayback Machine.
* Projecte CLARR, clúster d'alt rendiment amb OpenMosix Arxivat 2007-09-29 a Wayback Machine.
* Barcelona Supercomputing Center Arxivat 2006-12-31 a Wayback Machine.
* Projecte OpenMosix, programari per clústers
* Projecte BeoWulf, programari per clústers
Viccionari