Pagina 1 di 1

Eseguire processi in parallelo

Inviato: domenica 12 marzo 2017, 16:08
da ant1988
Salve a tutti ho 3 Raspberry ho seguito le varie guide che ho trovato su Internet per mettere in parallelo i raspberry ho fatto tutto ed é ok.
Ora mi sorge una domanda spontanea:
Se io ho l'eseguibile SOLO sul primo raspberry e voglio farlo eseguire alle altre due macchine anche se le altre due non hanno lo stesso eseguibile come faccio?
Siccome ho un miniDLNA su cui é attaccato l'HD solo sul primo raspberry sarebbe molto utile saperlo:
Anche perché con questo comando:

Codice: Seleziona tutto

mpiexec -f /home/pi/machinefile -n 3 sh /home/pi/minidlna.sh
ovviamente mi da questa risposta:

Codice: Seleziona tutto

sh: 0: Can't open /home/pi/minidlna.sh
:cry: :cry:
Devo avere per forza l'eseguibile anche negli altri due? se sì come faccio a configurare il minidlna.conf dicendogli che l'HD si trova nel primo raspberry?
cioé cosa dovrei scrivere in

Codice: Seleziona tutto

media_dir=
in modo tale che risulti che l'HD stia sul primo raspberry?
Poi visto che ho seguito questa guida (ovviamente l'ho adattata a quest'altra guida) vorrei sapere un'altra cosa:
tutte le volte devo dare

Codice: Seleziona tutto

mpiexec -f machinefile <comando>
oppure ci "pensano automaticamente i raspberry a "suddividersi" i processi?

Re: Eseguire processi in parallelo

Inviato: lunedì 13 marzo 2017, 9:12
da DoctorStrange
Anche se non l'ho mai usata direttamente, la libreria MPI significa testualmente: "Message Passing Interface", ovvero è una libreria di tipo distribuito.

Quindi, su ogni nodo appartenete al cluster dove è stata installata questa libreria, ci sarà in esecuzione un processo condiviso, quindi tu non devi affatto condividere lo stesso job su tutti i nodi, ma solo sul master, e sarà questo poi che distribuirà il carico di lavoro.

Utilizzare questa libreria è però molto complesso, non sò di preciso come si fà ma credo che in fase di inizializzazione e setup devi impostare l'indirizzo per raggiungere tutti i nodi.

In pratica su ogni nodo, preso separatamente devi assicurarti che ci sia un indirizzamento assoluto, tipicamente un IP statico, e poi impostare questo IP sul master in modo che sappia dove si trovi quel particolare nodo.

A questo punto, avviando l'elaborazione sul nodo master, sarà questo a distribuire il carico sui rimanenti nodi.

Re: Eseguire processi in parallelo

Inviato: lunedì 13 marzo 2017, 15:23
da ant1988
Innanzi tutto grazie della risposta e si nelle impostazioni ho fatto come nelle guide che diceva di mettere gli ip etc etc quindi una volta che il processo è sul master poi il carico lo divide lui... bene anzi meglio a sapersi grazie mille mi sono tolto un po' di confusione che avevo :)