Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Informazioni parallelizzazione cluster
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 21 Dic 2010 17:17    Oggetto: Informazioni parallelizzazione cluster Rispondi citando

Salve a tutti,

ho bisogno di creare un framework che mi permetta di suddividere il carico di lavoro di un qualunque programma(scritto in un qualunque linguaggio)su un cluster. è necessario suddividere il lavoro su piu processori senza che l'utente abbia necessità di imparare un nuovo linguaggio di comunicazione tra i nodi e in maniera trasparente, cioè come se lavorassimo su un unica macchina.

per adesso la configurazione attuale è:
Il sistema è composto da 4 macchine Dell Power Edge R410 con 2 Intel Xeon E5530 (8 core a 2.4Ghz, 8M Chache) e 24 GB di Ram e da una SAN Dell Equal Logic PS4000XV (16 HD 600GB) con 9.6TB di capacità di memorizzazione .
Tre macchine monta sistemi operativo Microsoft Windows Server 2008 R2 Enterprise e una Linux Fedora 12 (Constantine).
La caratteristica essenziale è la trasparenza, ovvero programmare come se si trattasse di una sola macchina.

Quale linguaggio è il migliore per un discorso del genere?(io pensavo Java con i thread)

Secondo voi in giro ci sono software che fanno già cose simili?

Come mi consigliate di procedere?

Considerate che sono un novizio del clustering e di tutto ciò che vi ruota attorno.

Ringrazio chiunque abbia informazioni in merito per la disponibilità
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 21 Dic 2010 18:30    Oggetto: Re: Informazioni parallelizzazione cluster Rispondi citando

premetto che non ho molte idee, ma mi incuriosisce:

robynho85 ha scritto:
[...] mi permetta di suddividere il carico di lavoro di un qualunque programma(scritto in un qualunque linguaggio)su un cluster


intendi dire che vorresti fare girare qualunque programma che già esiste sul tuo cluster oppure intendi che svilupperesti il programma in qualunque linguaggio, a patto che sia possibile farlo girare nel framework che andrai ad appoggiare sul cluster?
Top
Profilo Invia messaggio privato HomePage
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 26 Dic 2010 21:20    Oggetto: Rispondi citando

Intendo dire che avendo un qualunque programma(Ad esempio un codice java) sia possibile introdurlo nel framework che poi suddivida il carico di lavoro sui 16 processori totali.
Esiste qualcosa che mi possa aiutare in tal senso?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 27 Dic 2010 09:57    Oggetto: Rispondi citando

robynho85 ha scritto:
Intendo dire che avendo un qualunque programma(Ad esempio un codice java) sia possibile introdurlo nel framework che poi suddivida il carico di lavoro sui 16 processori totali.
Esiste qualcosa che mi possa aiutare in tal senso?

In teoria quando tu hai un cluster è il sistema operativo che si preoccupa della cosa o meglio, i vari tools di gestione tra le varie, ti faranno gestire pure quell'aspetto.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 27 Dic 2010 14:28    Oggetto: Rispondi citando

però suddividere il carico di lavoro su più processori non è la stessa cosa se i processori sono sulla stessa macchina o no... per il primo caso è banale, tutti i sistemi operativi moderni supportano macchine a più processori (o a più core, o con più processori multicore) ma per la seconda cosa... parliamo di cloud computing...

Confused

prova a leggere qualcosa riguardo Vertebra, potrebbe fare al caso tuo...
Top
Profilo Invia messaggio privato HomePage
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 27 Dic 2010 16:22    Oggetto: Rispondi citando

Si infatti facevo riferimento al secondo caso...Io mi trovo sulla prima delle 4 macchine ognuna delle quali con 4 processori

Effettivamente sulla macchina su cui mi trovo la suddivisione del carico di lavoro avviene ma naturalmente non sulle altre tre.

Mi scuso se sono stato poco chiaro...Grazie per aver menzionato Vertebra, non lo conoscevo e sto vedendo ora di cosa si occupa
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 27 Dic 2010 20:56    Oggetto: Rispondi citando

Beh, ma io parlavo comunque di sistemi cluster, quindi tante macchine che lavorano come una.
Adesso io tools non ne ho in mente, qui si finisce troppo in sistemistica che non è propriamente il mio mestiere ma credo che tutti i sistemi operativi server permettano di configurarsi come di cluster (almeno al momento dell'installazione)...

Io non ho idea di come scrivere quello che chiedi, ma sicuramente non potrai farlo da solo.
Top
Profilo Invia messaggio privato
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 28 Dic 2010 03:12    Oggetto: Rispondi citando

freemind ha scritto:
Io non ho idea di come scrivere quello che chiedi, ma sicuramente non potrai farlo da solo.


Scusami cosa intendi?Che non posso essere in grado di realizzare un framework, ad esempio in java, che possa fare ciò di cui ho bisogno?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 28 Dic 2010 12:29    Oggetto: Rispondi citando

robynho85 ha scritto:
freemind ha scritto:
Io non ho idea di come scrivere quello che chiedi, ma sicuramente non potrai farlo da solo.


Scusami cosa intendi?Che non posso essere in grado di realizzare un framework, ad esempio in java, che possa fare ciò di cui ho bisogno?

Sì ma non per demenza e incapacità tua ma per la complessità del lavoro; da solo o ci metti una vita (lunga) o viene fuori una cazzata.

Questo vale per te, per me e per tutti.

Se poi sei veramente un guru allora rimangio quel che ho scritto; era una pura analisi obiettiva del problema, tutto lì; non volevo dar del demente a nessuno, sia chiaro.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 28 Dic 2010 12:55    Oggetto: Rispondi citando

più che altro secondo me nessuno dei sistemi operativi attuali ti fornisce già una piattaforma che ti permetta di distribuire carico di lavoro tra i processori di un cluster... certo, a meno di non parlare di load balancing ma non è la stessa cosa che tu chiedi, mi sembra di avere inteso...
Top
Profilo Invia messaggio privato HomePage
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 28 Dic 2010 14:23    Oggetto: Rispondi citando

freemind ha scritto:
Sì ma non per demenza e incapacità tua ma per la complessità del lavoro; da solo o ci metti una vita (lunga) o viene fuori una cazzata.

Questo vale per te, per me e per tutti.

Se poi sei veramente un guru allora rimangio quel che ho scritto; era una pura analisi obiettiva del problema, tutto lì; non volevo dar del demente a nessuno, sia chiaro.


Tranquillo avevo capito bene e credo tu abbia ragione...No dell'argomento sono tutt'altro che un guru. Mi intendo di programmazione in java ma tutto li.

SverX ha scritto:

più che altro secondo me nessuno dei sistemi operativi attuali ti fornisce già una piattaforma che ti permetta di distribuire carico di lavoro tra i processori di un cluster... certo, a meno di non parlare di load balancing ma non è la stessa cosa che tu chiedi, mi sembra di avere inteso...


Il problema è che il mio professore mi ha richiesto un framework che praticamente prende il programma appena passato da un utente in java e ne suddivide il lavoro(o thread) sui processori. Scusatemi se mi ripeto ma era per chiarire ulteriormente

Grazie comunque per il supporto che mi state dando.Sto evitando mesi di lavoro inutile se è come dite voi
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 28 Dic 2010 15:43    Oggetto: Rispondi citando

dividere il lavoro su più processori dello stesso server è assolutamente lineare se scrivi codice multithreaded, a prescindere dal linguaggio di programmazione (a me capitò anni fa di fare un lavoro di programmazione concorrente in C++). Quello che purtroppo non ti so suggerire è se esiste un cloud framework per java. Una rapida ricerca in Google suggerisce GridGain, prova a vedere di che si tratta...
Top
Profilo Invia messaggio privato HomePage
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 29 Dic 2010 00:01    Oggetto: Rispondi citando

Vi informo che nella sezione software ho inserito un nuovo topic chiedendo informazioni su software specifici che facciano il load balancing. Secondo i vostri suggerimenti mi sembra la strada migliore da seguire.

Vi informo nel caso qualcuno di voi fosse interessato a seguire anche l'altra discussione per saperne di piu.

Continuerò a scrivere qui i possibili sviluppi in ambito di programmazione di un possibile software. Grazie mille a tutti cmq
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 29 Dic 2010 01:26    Oggetto: Rispondi citando

Ok ma ocio che il load balancing serve più che altro a distribuire le richieste remote su più server.
Oddio, se si riuscisse a riformulare il tuo problema in questi termini allora si potrebbe pensare a questa cosa.
Top
Profilo Invia messaggio privato
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 29 Dic 2010 14:34    Oggetto: Rispondi citando

Aspetta allora sto facendo un pò di confusione...Su un altro forum mi hanno detto che è la stessa cosa.

Esiste un termine per definire la distribuzione di calcolo in parallelo su processori come devo fare io?

Grazie mille del chiarimento...FONDAMENTALE Laughing
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 29 Dic 2010 16:50    Oggetto: Rispondi citando

sono concetti simili ma non è propriamente la stessa cosa
ad esempio un load balance può essere un sito web che per evitare di essere troppo carico per via dei tanti utenti che chiedono le pagine allora le redirige su server differenti, a volte in modo completamente trasparente per l'utente (che pensa di trovarsi davanti ad un server e basta) e a volte in modo esplicito, prova questo link ad esempio e noterai che ogni volta il nome del server si arricchisce di un numero.

Se sta cercando qualcosa di questo tipo potrebbe bastarti un proxy HTTP tipo Apache mod_proxy per dire. Invece se proprio vuoi che i tuoi server stiano lì ad aspettare lotti d'elaborazione (alla 'seti@home' per intenderci) non saprei che software consigliarti, e sarà anche difficile trovarne uno che funzioni su piattaforme diverse.
Top
Profilo Invia messaggio privato HomePage
robynho85
Mortale devoto
Mortale devoto


Registrato: 21/12/10 16:40
Messaggi: 11

MessaggioInviato: 29 Dic 2010 21:00    Oggetto: Rispondi citando

SverX ha scritto:
Invece se proprio vuoi che i tuoi server stiano lì ad aspettare lotti d'elaborazione (alla 'seti@home' per intenderci)


Mi serve piu una cosa come questa...Cerco di spiegarmi meglio:

Il mio concetto è semplice...Io ho 4 macchine ognuna con 4 processori che hanno ognuna un OS diverso.

Interfacciandomi su una delle 4 macchine devo eseguire un qualunque programma(java,ruby,etc) e parallelizzarlo sui 16 processori totali senza che l'utente debba imparare alcun linguaggio o inviare segnali tra le macchine(cioè vedere il sistema in maniera trasparente).

Esiste qualcosa che mi possa aiutare?

Spero di essere stato ancora piu chiaro e non ridondante...Grazie mille a tutti
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 30 Dic 2010 12:36    Oggetto: Rispondi citando

Prova a guardare il Sun Grid Engine. Potrebbe essere la cosa più simile a quello che cerchi, soprattutto dato che gira su vari sistemi operativi.
Top
Profilo Invia messaggio privato HomePage
cuccagna
Mortale devoto
Mortale devoto


Registrato: 16/04/10 13:28
Messaggi: 10

MessaggioInviato: 19 Feb 2011 02:11    Oggetto: Rispondi citando

SverX ha scritto:
più che altro secondo me nessuno dei sistemi operativi attuali ti fornisce già una piattaforma che ti permetta di distribuire carico di lavoro tra i processori di un cluster... certo, a meno di non parlare di load balancing ma non è la stessa cosa che tu chiedi, mi sembra di avere inteso...

Esiste il sistema operativo Z/OS di IBM che permette tramite il Parallel Symplex di realizzare un cluster di macchine(fino a 32) con lo stesso sistema operativo e tramite il workload manager(componente dello Z/OS) gestire il carico di lavoro.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 21 Feb 2011 11:22    Oggetto: Rispondi

cuccagna ha scritto:
Esiste il sistema operativo Z/OS di IBM che permette tramite il Parallel Symplex di realizzare un cluster di macchine(fino a 32) con lo stesso sistema operativo e tramite il workload manager(componente dello Z/OS) gestire il carico di lavoro.


Molto interessante. Credo sia però una soluzione solo mainframe, c'è qualcosa di simile per l'ambiente distribuito, che tu sappia?
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi