PDA

View Full Version : PRESTAZIONI IPOTETICHE DI UN MINI CLUSTER..


scoppiatoxx
11-02-2003, 23:09
che ne pensate di un mini cluster composto da 2o o 3 pc tipo il mio????
come sarebbe a prestazioni???
quale SO???
possibili svantaggi e vantaggi???
discutiamone :D

innanzi tutto direi che in caso di 3 pc direi che un schema di collegamento buono sia quello che prevede l'uso di 6 schede gigabit ethernet, 2 per ciascun pc in modo da fornirgli un canale di collegamento diretto con i suo gemellini :)
sarebbe fattibile come cosa????
è un progetto lontano ma l'idea di fare un mini cluster da dedicare ad encoding massicci e cose simili mi interesserebbe....
anche perchè penso proprio che le prestazioni sarebbero semplicemente :sofico:

Athlon
11-02-2003, 23:40
Come sistema operativo solo ed esclusivamente LINUX (anche per una questione di prezzo , i sistemi operativi clustered sono piuttosto costosi)

Per il collegamento c'e' da considerare l'elevato costo degli switch Gigabit.

Un alternativa e' una connessione FIREWIRE che permette latenze piu' basse della Etherent (sia 100 che 1000), l' ideale sarebbe pero' una connessione MIRINET specifica per cluster.

Le performace nel caso di un singolo thread sarebbero lievemente inferiori alla potenza di un singolo nodo, per sfruttare le potenzialita' di un cluster occorrono applicazioni altamente parallelizzabili e che non necessitino della stessa risorsa in contemporanea, in particolare bisogna evitare il piu' possibile accessi al file system.

Athlon
11-02-2003, 23:44
esistono anche soluzioni miste , con Ethernet per la connessione del cluster ed il Firewire per il Filesystem

http://www.dbasupport.com/oracle/ora9i/RacLinuxFirewire1.shtml

scoppiatoxx
11-02-2003, 23:57
non credo che servano switch nel caso che ogni pc sia dotato di 2 skede ethernet, o sbaglio???

come applicazioni avevo in mente rendering o encoding di vario tipo :)
insomma applicazioni che di solito sono ottimizzate per essere eseguite con elevato parallelismo..

è difficile settare un cluster sotto linux???

cmq con 3 pc si dovrebbero ottenere prestazioni superiori ad un biprocessore... teoricamente.. :)

Athlon
12-02-2003, 00:03
oppure se vuoi usare i G4

http://daugerresearch.com/pooch/whatis.html

scoppiatoxx
12-02-2003, 00:09
misà che la soluzione più logica sia un quad xeon... perlomeno se uno vuole limitarsi a 3 nodi solamente...

però in ambito universitario con tutti quei pc collegati in rete con le stesse configurazioni ecc ecc sarebbe molto interessante vedere cosa combinano 20 pc messi assieme nel rippare ad es un dvd in divx;-)
secondo me 150 fps non sarebbero irrangiungibili :)

Athlon
12-02-2003, 00:15
Originally posted by "scoppiatoxx"

non credo che servano switch nel caso che ogni pc sia dotato di 2 skede ethernet, o sbaglio???

come applicazioni avevo in mente rendering o encoding di vario tipo :)
insomma applicazioni che di solito sono ottimizzate per essere eseguite con elevato parallelismo..

è difficile settare un cluster sotto linux???

cmq con 3 pc si dovrebbero ottenere prestazioni superiori ad un biprocessore... teoricamente.. :)

Lo switch serve poiche' i nodi sono piu' di due (quindi non puoi usare un cavo CROSS)
Comunque visto il limitato numero di nodi anche un Hub puo' andare bene.
Questa diciamo che e' l'architettura standard che ti permette in futuro di aggiungere nodi senza problemi

Volendo si potrebbe pensare ad uno schema a triangolo simile agli alberi generati dall' algoritmo FNN usati ad esempio sul cluster KLAT2
http://www.aggregate.org/FNN/
ma sono un pelino piu' difficili da gestire nel tuo caso con 3 PC ed una sola connessione tra singolo nodo le cose si semplificano molto
in pratica hai il PC A che con una scheda parla con il PC B , con l'altra con il PC C e infine un cavo che unisce il PC B al PC C.
Quindi 3 cavi Cross, nessun Hub e Nessuno switch, questa configurazione e' Ottima finche il numero di nodi non cambia.

Se rimani con solo 3 nodi sicuramente ti conviene usare questa struttura.

Per quanto riguarda le performace sul singolo task non hai incrementi rispetto al PC singolo , se invece devi fare 50-60 grosse operazioni il tempo impiegato da un cluster e' piu' basso rispetto ad un biprocessore (senza contare che un cluster da 3 mono costa meno di un biprocessore.

Per quanto riguarda la configurazione quello che ti consiglio e' di chidere ai piu' esperti poiche' i cluster non sono proprio una passaggiata da configurare , esistono degli chemi prefabbricati (ad esempio Beowulf o Mosix) ma comunque non sono alla portata di un neofita.

Athlon
12-02-2003, 00:18
Originally posted by "scoppiatoxx"

misà che la soluzione più logica sia un quad xeon... perlomeno se uno vuole limitarsi a 3 nodi solamente...

però in ambito universitario con tutti quei pc collegati in rete con le stesse configurazioni ecc ecc sarebbe molto interessante vedere cosa combinano 20 pc messi assieme nel rippare ad es un dvd in divx;-)
secondo me 150 fps non sarebbero irrangiungibili :)

anche i multiprocessori hanno gli stessi limiti di un cluster , se devi accedere al disco fisso o alla ram lo puo' fare solo una CPU alla volta , tutte le altre nel frattempo stanno ferme poiche' non hanno dati su cui lavorare.

Nei cluster almeno ogni CPU ha al sua ram non in condivisione con le altre.


PEr quanto riguarda i 20 PC in parallelo.....

a codificare un singolo Divx non penso che siano molto piu' veloci di una macchina singola pero' possono codificare 20 Divx nel tempo che una macchina ne codifica 1.

P.S. se vuoi codificare velocemente un singolo Divx basta tagliarlo in 20 pezzi e darlo in pasto al cluster ;)