PDA

View Full Version : C++, software che funzionerà su un cluster: come programmarlo?


Abadir_82
04-11-2006, 10:40
Ciao.

Per la tesi della laurea specialistica dovrò scrivere un software di analisi immagini radar che, a causa dell'elevato onere computazionale, dovrà funzionare su un cluster di 24 pc.

C'è una qualche metodologia di programmazione da seguire per ottimizzare al meglio il tutto?

GRazie.

mad_hhatter
04-11-2006, 14:11
librerie MPI?

Abadir_82
04-11-2006, 18:46
cioè ?

devo fare qualche altro "include" all'inizio ?

jappilas
04-11-2006, 20:00
cioè ?

devo fare qualche altro "include" all'inizio ?
quello è il meno
per cominciare devi pensare al tuo programma come un qualcosa che dovrà "scalare" con il numero dei nodi del cluster per ripartire tra di questi i dati (che provenendo da radar, probabilmente saranno in quantità massiva, e in flusso continuo) e la loro elaborazione

poi devi valutare le varie strade possibili per il clustering in ambito Linux, la maggior parte delle quali AFAIK basate su estensioni al kernel o varianti del kernel e sempre AFAIK relativamente trasparenti dal lato applicativo (è il kernel a gestire l' allocazione dei processi ai nodi, come se il sistema fosse un unico grande sistema multiprocessore)
altre che richedono, come mi pare di vedere per la Message Passing Interface ( http://www-unix.mcs.anl.gov/mpi/ ) che il processo gestisca esplicitamente lo scambio di messaggi tra i nodi del cluster attraverso l' utilizzo di una API implementata in una libreria, quindi a livello user space
lo scopo di tale API è la trasparenza a livello di comunicazione tra processi che possono essere locali come remoti
ma ti consiglierei di vedere prima cosa ti occorrerebbe per sfruttare Beowulf o openmosix...