Newsgroup: it.comp.retrocomputing
Titolo: Tentare maxi recupero vecchi catorci pc facendo un bel cluster

Avete presente i cluster Beowulf basati su linux ?
A quanto mi risulta in passato diverse universitï¿œ squattrinate hanno 
messo insieme dei sistemini interessanti mettendo a lavorare intere reti 
di 486 e pentium I, spesso mescolando tra di loro sistemi di generazioni 
differenti (non come quei fighetti della top 500 che mettono 4096 cpu 
identiche ed oltre), tutte collegate via ethernet.
Secondo voi, che prestazioni si potrebbero raggiungere con questa 
soluzione ? Avete mai provato a fare qualcosa del genere ?
Cosa ci potremmo fare nel caso ne realizzassimo uno da tenere in casa ?
Quanti Pentium I o 486 ci potrebbero volere per fare il lavoro di un 
atom :D ?
Soldi permettendo avrei tanta voglia di farmi una cosa del genere 
montando perï¿œ roba di ultima generazione (magari ricostruendo un case 
tipo Cray 1 con la piccola modifica che il tutto starebbe nella torre 
centrale sostituendo la parte basse con dei seggiolini per sedersi)

 centrale sostituendo la parte basse con dei seggiolini per sedersi)
Per cominciare penserei al consumo elettrico....
Parlo per esperienza personale, nell amia abitazione quanto accendo
3/4 pc devo stare attento a non fare saltareil contatore, quindi se
hai intenzione di far funzionare 10/20 o piu macchine assieme ci vuole
una linea elettrica adeguata.

 una linea elettrica adeguata.
Uh già ! Beh il nodo principale sarà l'unico attrezzato seriamente 
mentre gli altri avranno solamente cpu, ram e rete con boot da lan. 
Tutti gli ampere di hd e schede video aggiuntive verranno risparmiati

Ormai più di un anno fa, ci siamo divertiti con un bel po' di P4:
http://compvter.blogspot.com/2009/04/cluster-report.html
...c'è anche una paginetta con alcuni comandi utili sul nostro wiki:
http://compvter.it/Cluster-Beowulf
Dino
comPVter

 atom :D ?
Mai provato personalmente ma un amico che lavora su hpc mi diceva che i 
problemi maggiori sono relativi al collegamento ethernet.
Infatti i sistemi "fighetti" usano altri sistemi.
Ciao ... Dino

 Ciao ... Dino
Non ricordo il blog ma ne avevo trovato uno secondo il quale il problema 
ethernet è dato dalle schede di rete, in altre parole se sono identiche 
è meglio. Sul resto si può giocare ma lì è meglio di no


Spero di leggere qualche appunto sull'utilizzo che potremmo farne noi 
comuni mortali perchè sinceramente i programmini in fortran per 
calcolare le serie non sono il massimo della vita

secondo me puo' convenire solo per sfizio, perche' se usi intensivamente
quei 
sistemi, il rapporto tra energia elettrica consumata e la potenza
effettiva 
del sistema e' pessima in confronto a sistemi "piu' fighetti" costituiti
da 
processori piu' recenti, che assorbono si' piu' corrente, ma sono molto
piu' 
veloci. 
mi piacerebbe vedere un sistemone di arm o roba del genere.
-- 
Spolvera la mia email per rispondermi
"Storia del Mondo. I vulcani eruttarono. Gli oceani ribollirono.
L'universo era in tumulto. Poi venne il cane."
Snoopy
maxy04.splinder.com
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Si ma lo sfizio vuol dire provare una volta e smontare tutto, invece 
sarei curioso se esistono programmi in genere multimediali che 
potrebbero trarre vantaggio da un simile dispositivo.
Prendiamo ad esempio un bluray, non ho mai provato, non so quanto ci 
possa volere ma se fosse possibile, ripparlo, decriptarlo e convertirlo 
in mkv a 1080p in un'ora o poco più credo che sarebbe già una gran cosa. 
Del resto non è che tutti gli esseri umani provano interesse per roba 
come scilab. Sarebbe interessante capire se tutti i programmi traggono 
beneficio da un simile sistema o se vanno riscritti su misura

Non vi nascondo che il nostro esperimento
"monta-smonta", pur usando hardware rigorosamente identico, recuperati
da HP d530 a 2,4 ghz,
non ha fornito al primo avvio prestazioni brillanti.
Reperire programmi che siano in grado di sfruttare un'architettura
simile non è certo banale,
inoltre il collo di bottiglia di una rete "solo" a 100 megabit credo
che inizi a farsi sentire in un'applicazione vicino allo standard.
Ciò non toglie che la voglia di assemblare un case, magari in
plexiglas, con una dozzina di piastre madri impilate per benino,
gestite da un unico alimentatore opportunamente dimensionato, con
tanto di switch integrato nella base....ci intriga parecchio;
sarebbe un bell'oggetto da portare ad un Linux day :-D
...ma un po' meno da usare tutti i giorni !
Dino
comPVter


Il problema e' la latenza.
Ciao ... Dino

 Ciao ... Dino
Magari ignorerò il modo di funzionare di un sistema parallelo ma 
supponiamo che lo voglia utilizzare per fare delle conversioni di 
filmati, sarebbe da chiedere a qualche esperto matematico, non sarebbe 
possibile dividere il filmato originale in tanti spezzoni da scaricare 
sulle singole cpu e poi ricostruire al fondo ?


E' il principio utilizzato nelle renderfarm. Ma non serve un cluster, ci 
vuole un software che si occupi di suddividere e ricomporre i dati.
Ciao ... Dino

 tanto di switch integrato nella base....ci intriga parecchio;
L'ho detto, io vorrei creare un case tipo cray 1 ma dato lo sforzo 
necessario non lo riempirei di pentium 2 ma di roba seria. Il punto per� 
� che se una volta fatto non so che farmene perch� non esistono 
programmi per me utili la cosa assume un po' il sapore della beffa.

>> I have a family and a full time job, but still have a time to get much
hours of Amiga hacking a day  :-) <<< 

 servivano a fare Babylon5.
Pardon, le FARM house


 servivano a fare Babylon5.
Però un conto è renderizzare tanti piccoli filmati in 3d e montare in 
seguito i video, un altro è prendere un video e spezzarlo in tante 
parti. Qualcosa mi dice che potrebbero formarsi dei problemi di 
congiunzione tra gli spezzoni convertiti


No, le renderfarm lavorano sui frame, renderizzano un tot di frame su 
ogni nodo. Poi si mettono insieme i vari frame e si forma il filmato.
Ciao ... Dino

 Ciao ... Dino
Infatti, mentre quello che mi chiedevo io è se la conversione di video 
già fatti invece chiamava in causa cose diverse. A livello di matematica 
non la so abbastanza lunga da permettermi di trattare le matrici di 
quantizzazione come noccioline ma qualcosa mi porta a sospettare che non 
sarebbe altrettanto facile prendere un divx e trasformarlo in 
qualcos'altro scaricando i dati su tante cpu separate fisicamente


Basterebbe suddividere il filmato in pezzi compresi tra un keyframe e 
l'altro. Ma ci vuole un software client/server che gestisca la cosa. E 
c'entra poco con i cluster.
Ciao ... Dino

 Ciao ... Dino
Ok, fin lì potrebbe anche starci però siamo sicuri che un video 
elaborato in un "pezzo solo" sia qualitativamente identico allo stesso 
composto da tanti spezzoni elaborati separatamente ?

 composto da tanti spezzoni elaborati separatamente ?
Se la matematica per elaborare i frame è la stessa su ogni nodo, dovrebbe.
-- 
   ___                                                          __
  / __|___  Daniele Gratteri, Italian Commodore-Amiga user...  ///
| /  |__/  Nickname: fiat1100d                 Ritmo S75 __  ///
| \__|__\  Home page: 
http://www.gratteri.tk
    forever! \\\///
  \___|     E-MAIL: gratteri(at)
email.it
    ...since 1990  \///

 Se la matematica per elaborare i frame ï¿œ la stessa su ogni nodo, dovrebbe.
E', la matematica non e' una opinione, mica il risultato dipende dalla 
cpu utilizzata. Il problema e' trovare un software che lo permetta.
Con 3dsmax e' un giochetto da ragazzi gestire le code di una renderfarm. 
Teoricamente dovrebbe esserlo anche nel caso di compressione video. Ma a 
che pro? Per diletto? Per comprimere il filmato delle vacanze full hd 
50p in pochi secondi? :D
Il problema nel video e' la preview con effetti in realtime.
Invece sarebbe interessante utilizzare la potenza di calcolo di un 
cluster a prescindere dal software utilizzato semplicemente demandando 
al cluster stesso dei compiti specifici, come fosse una specie di cpu 
aggiuntiva. Utopia?
Ciao ... Dino


E' che quello che temo è che per ottimizzare la compressione dei dati, 
in un blocco di frame di possa stare della roba che serve anche al 
secondo blocco e così via. Se invece elabori gli spezzoni separatamente 
ricrei tutta quella roba extra ed ottieni un file più pesante.
Inutile sottolineare che se dopo una passata di cluster devi rielaborare 
tutto con un singolo nodo onde ripulirlo della roba aggiunta, allora 
tanto vale.

 Ciao ... Dino
Beh esistono già i programmi in grado di lavorare su più core di una 
sola cpu, quindi potrebbero benissimo lavorare su più cpu da un solo 
core, il problema sarebbe la comunicazione tra le macchine estremamente 
  lenta.

 lenta.
No, intendo l'utilizzo di un cluster come potenza bruta da utilizzare 
alla bisogna. Che so, ho bisogno di potenza di calcolo per fare un 
qualcosa? Passo il compito al cluster. Con supporto a livello di sistema 
operativo, una specie di priorita' nel taskmanager :D
Ciao ... Dino

 tanto vale.
Hai mai provato a dividere un avi con virtualdub in corrispondenza dei 
keyframe oppure ad capzum? Guarda la differenza all'inizio e alla fine 
degli spezzoni.
Ciao ... Dino

 operativo, una specie di priorita' nel taskmanager :D
Non è detto che tu lo possa fare perchè il calcolo parallelo si basa sul 
fatto che puoi prendere un algoritmo e dividerlo in tanti pezzi da far 
andare contemporaneamente solo se le varie parti possono ricevere i dati 
in ingresso separatamente.
Se uno dei due blocchi deve attendere dei dati dall'altro, il 
parallelismo va a farsi benedire.

 dall'elaborazione sequenziale.
Fotogramma completo di cosa ? Solo del frame o anche dei dati di 
compressione ? E se il secondo keyframe possedesse della roba in comune 
col primo onde risparmiare spazio ?
Il discorso è simile al rendering di una scena 3D se ci metti le luci.
La luce cade per metà sulla prima parte di render che va al primo nodo e 
per metà sulla seconda parte che va a secondo nodo.
Disgraziatamente l'oggetto da renderizzare possiede anche una mappa che 
riflette il mondo circostante quindi la prima metà specchia la seconda e 
viceversa. A quel punto ne risulta che il primo nodo non è libero di 
elaborare completamente la sua metà senza i dati della seconda e 
viceversa o in alternativa entrambi devono fare del lavoro extra o 
ancora vanno in parallelo fin dove possono e le aggiunte se le fa uno 
solo quando ha tutti i dati.

 parallelismo va a farsi benedire.
Certo, ma anche in caso di software di questo genere si porrebbe il 
problema della bassa velocita' di comunicazione tra i nodi che farebbe 
crollare le prestazioni. Sgi risolse il problema utilizzando una 
connessione ad alta velocita' chiamata craylink.
http://en.wikipedia.org/wiki/NUMAlink
In ambito consumer non esiste nulla del genere.
Mentre in ambito hpc c'e' altra roba di cui puoi trovare i link nella 
pagina sopra.
Ciao ... Dino

 solo quando ha tutti i dati.
Certo, a livello di calcolo mutithread. Ma un fotogramma e' indipendente 
dall'altro e viene generalmente calcolato senza fare riferimento al 
precedente. Tranne il casi particolari per cio' che riguarda 
l'illuminazione con particolari algoritmi, che va effettuata prima.
Ciao ... Dino