Avanti Indietro Indice

2. Introduzione

Via via che le prestazioni dei computer comuni e dell'hardware di rete crescono, e il loro prezzo cala, diventa via via sempre più facile costruire sistemi di calcolo parallelo dai componenti di facile reperibilità invece che comprare tempi CPU sui Supercomputer molto costosi. In effetti il rapporto costo e prestazioni di una macchina di tipo Beowulf è dalle tre alle dieci volte migliore che nei tradizionali Supercomputer. L'architettura Beowulf è scalabile, è facile da realizzare e si deve pagare solo l'hardware in quanto gran parte del software è gratuito.

2.1 A chi è indirizzato questo HOWTO?

Questo HOWTO è adatto per persone che abbiano un po' di esperienza con il sistema operativo Linux. La conoscenza della tecnologia Beowulf o la comprensione di sistemi operativi più complessi e concetti di networking non è essenziale, ma qualche esperienza con il calcolo parallelo potrebbe essere utile (d'altronde dovresti avere qualche ragione per leggere questo documento). Questo HOWTO non risponde a tutte le domande che potrebbero sorgere su Beowulf, ma noi speriamo che possa darti buone idee e guidarti nella giusta direzione. Lo scopo di questo HOWTO è di dare informazioni iniziali, link e riferimenti a documenti più avanzati.

2.2 Cos'è un Beowulf?

Famed was this Beowulf: far flew the boast of him, son of Scyld, in the Scandian lands. So becomes it a youth to quit him well with his father's friends, by fee and gift, that to aid him, aged, in after days, come warriors willing, should war draw nigh, liegemen loyal: by lauded deeds shall an earl have honor in every clan.

Beowulf è il più antico poema epico scritto in inglese arrivato fino a noi. È la storia di un eroe di grande forza e coraggio che sconfisse un mostro chiamato Grendel. Vai a Storia per saperne di più dell'eroe Beowulf.

Probabilmente ci sono tante definizioni di Beowulf quante sono le persone che realizzano o usano le caratteristiche dei Supercomputer Beowulf. Alcuni dicono che possono essere chiamati Beowulf solo i computer realizzati allo stesso modo della macchina originale della NASA. Altri invece vanno all'estremo e chiamano Beowulf tutti i sistemi di workstation che fanno girare codice parallelo. La mia definizione di Beowulf sta da qualche parte nel mezzo fra questi due modi di vedere ed è basata su molti messaggi della lista Beowulf:

Beowulf è un'architettura a multicomputer che può essere usata per calcoli paralleli. È un sistema che normalmente consiste di un nodo server e uno o più nodi client connessi via Ethernet o altri tipi di rete. È un sistema costruito usando componenti hardware comuni, come qualunque PC che può far girare Linux, normali adattatori Ethernet e switch. Non contiene alcun componente hardware speciale ed è facilmente realizzabile. Beowulf utilizza inoltre software comune come il sistema operativo Linux, Parallel Virtual Machine (PVM) e Message Passing Interface (MPI). Il nodo server controlla tutto il cluster e fornisce i file ai nodi client. È anche la console del cluster e il gateway con il mondo circostante. Grandi macchine Beowulf possono avere più di un nodo server e possibilmente altri nodi dedicati a compiti particolari, come per esempio console o stazioni di monitoraggio. In molti casi i nodi client in un sistema Beowulf sono dedicati al lavoro per il Beowulf, più sono dedicati meglio è. I nodi sono configurati e controllati dal nodo server, e fanno solo ciò che gli viene detto. In una configurazione disk-less (senza dischi), i nodi client non conoscono nemmeno il loro indirizzo IP né il nome finché il server glielo comunica. Una delle differenze principali fra il Beowulf e il Cluster di Workstation (COW) è il fatto che Beowulf si comporta più come una macchina singola che le molte workstation. In molti casi i client non hanno tastiere o monitor, e vi si accede solo via login remoto o possibilmente terminali seriali. Un nodo Beowulf può essere pensato come un pacchetto composto da CPU e memoria che può essere inserito nel cluster, proprio come una CPU o un modulo di memoria possono essere infilati in una scheda madre.

Beowulf non è un nuovo pacchetto software, un nuovo tipo di rete o l'ultima versione di sviluppo del kernel. Beowulf è un tecnica di clustering di computer con Linux per formare un supercomputer parallelo virtuale. Inoltre ci sono molti pacchetti software come modifiche al kernel, le librerie PVM e MPI e programmi di configurazione che rendono l'architettura Beowulf più veloce, più facile da configurare e molto più usabile; si può creare una macchina di classe Beowulf usando distribuzioni Linux standard senza alcun software addizionale. Se avete due computer Linux in rete che condividono al limite il file system /home via NFS e permettono di eseguire shell remote (rsh), allora si può pensare di avere una semplice macchina Beowulf composta da due nodi.

2.3 Classificazione

I sistemi Beowulf sono stati realizzati da una gran varietà di parti. Per favorire le prestazioni sono stati usati alcuni componenti non comuni (cioè prodotti da una singola ditta). Per contare i differenti sistemi e per rendere la spiegazione delle macchine un po' più semplice, noi proponiamo questo semplice schema di classificazione:

BEOWULF DI CLASSE I:

Questa classe di macchine costruita interamente da componenti comuni di facile reperibilità. Noi useremo il test di certificazione di "Computer Shopper" per definire i componenti comuni di facile reperibilità (Computer Shopper è una rivista/catalogo mensile spessa un pollice di sistemi e componenti per PC). Il test è questo:

Un Beowulf di CLASSE I è una macchina che può essere realizzata da componenti trovabili in almeno 3 cataloghi pubblicitari a carattere nazionale o globale.

I vantaggi di un sistema di CLASSE I sono:

Gli svantaggi di un sistema di CLASSE I sono:

Beowulf di CLASSE II

Un Beowulf di CLASSE II è semplicemente qualsiasi macchina che non soddisfa il test di certificazione di Computer Shopper. Questa non è una cosa brutta. È semplicemente una classificazione della macchina.

I vantaggi di un sistema di CLASSE II sono:

Gli svantaggi di un sistema di CLASSE II sono:

Una CLASSE non è necessariamente migliore dell'altra, Tutto dipende dalle tue necessità e dal tuo budget. Questa classificazione serve solo a rendere la spiegazione dei sistemi Beowulf un po' più breve. La sezione Progetto del sistema ti può aiutare a determinare che tipo di sistema si adatta alle tue necessità.


Avanti Indietro Indice