############### #PRESENTAZIONE# ############### La seguente dispensa è necessaria per installare, all'interno di un computer con architettura x86, una distribuzione linux Slackware 10.2. Le indicazioni, specialmente quelle riferite ai pacchetti, sono quelle minime per ottenere una macchina ben funzionante per la preparazione di un cluster finalizzato all'elaborazione parallela attraverso l'utilizzo delle librerie MPICH sviluppate nei laboratori ARGONNE (http://www.mcs.anl.gov/); pertanto tutte le altre opzioni offerte dal programma d'installazione, ed indicate nel presente documento, sono considerabili facoltative. NOTA: La parte relativa alla preparazione e alla configurazione delle librerie MPICH è stata liberamente tratta e tradotta dalla documentazione originale del sito dei laboratori ARGONNE, scaricabile e consultabile al seguente URL: http://www-unix.mcs.anl.gov/mpi/mpich2/downloads/mpich2-doc-install.pdf ================================================================================================================================================== ###################### #PERCHÉ LA SLACKWARE?# ###################### Vi chiederete come mai sia stata scelta questa distro tra le molte disponibili, e le ragioni sono svariate. Slackware è considerata un ottimo modo per imparare il funzionamento di Linux, tanto che i suoi estimatori usano dire: "When you know Slackware, you know Linux... when you know Red Hat, all you know is Red Hat." Grazie a questa distribuzione è possibile installare solo i pacchetti necessari al funzionamento del cluster, rendendo il sistema operativo leggerissimo e adatto anche a delle macchine non troppo recenti, e per impegnare maggiormente la cpu nello svolgimento del programma parallelo invece che in processi non necessari. Slackware è una distribuzione GNU/Linux tra le più longeve e tende a essere essenziale ed elegante. Fu creata da Patrick Volkerding allora studente, che utilizzò come base la distribuzione SLS, e venne pubblicata per la prima volta il 16 luglio 1993 sul newsgroup comp.os.linux. ================================================================================================================================================== ###################### #DI COSA C'È BISOGNO?# ###################### Innanzi tutto è bene specificare che Linux, per sua natura, non richiede hardware sofisticato. Dunque si dovrà disporre di un computer con almeno le seguenti specifiche hardware: - lettore CDROM - scheda di rete 10/100 (se si desidera disporre di più macchine per l'elaborazione) Un'altra cosa di fondamentale importanza è il CD1 di installazione della Linux Slackware, che contiene i programmi veramente indispensabili per far funzionare il sistema. Considerando poi che si lavorerà solamente a riga di comando la scheda audio e il mouse sono superflui. Tuttavia, come specificato in precedenza, le indicazioni di questa dispensa sono finalizzate ad ottenere un sistema funzionante e leggero per l'elaborazione parallela, quindi nessuno vieta di avere schede video da 512 MB, schede di rete da 1 Gb ecc...ecc... Se si dispone di tutto l'hardware sopraelencato, si può procedere all'installazione. ================================================================================================================================================== ##################### #CONFIGURARE IL BIOS# ##################### Il primo passo per installare Linux in qualunque computer è modificare il boot sequence all'interno del BIOS. Nonostante si possa far partire il programma di installazione sia da floppy, sia da hard disk, sia da un server di rete, la strada più semplice è eseguire l'installazione da CDROM, per evitare eventuali problemi di configurazione risolvibili solo dai guru informatici. Pertanto, una volta accesa la macchina è necessario entrare nel BIOS a configurarlo per costringerlo a verificare la presenza di un sistema operativo all'interno del CDROM prima di passare al boot sull'hard disk. Una volta modificato il Boot Sequence si può procedere all'installazione vera e propria del sistema operativo; pertanto, mentre il computer si sta ricaricando, inserire il CDROM di Linux Slackware nella periferica e attendere che il BIOS inizi a caricare nella RAM il programma di installazione ================================================================================================================================================== ####################################### #INSTALLAZIONE DI LINUX SLACKWARE 10.2# ####################################### \\\\\\\\\\\\\\\\\\\\\\\\\\\\ -->Caricamento del Kernel<-- //////////////////////////// Il programma di installazione viene eseguito subito dopo il rilevamento del sistema operativo nel CD ROM. Terminato il caricamento del programma apparirà nel monitor la seguente indicazione del sistema boot:_ Il programma di installazione sta chiedendo all'utente quale kernel Linux caricare nella RAM per procedere all'installazione. Il CD 1 di Linux Slackware offre diversi tipi di kernel Linux e quello consigliato è il kernel "bareacpi" che può essere richiamato inserendo dopo l'indicazione "boot:" del sistema "bareacpi.i". Quindi ciò che bisogna inserire è: boot:bareacpi.i_ e premere invio per confermare la scelta. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ -->Configurazione della tastiera<-- /////////////////////////////////// Una volta che il kernel è stato caricato, il programma chiederà di configurare la tastiera prima di procedere con l'installazione. Apparirà quindi un messaggio in seguito al quale, come si potrà anche leggere nell'indicazione fornita, si dovrà digitare 1 e, dopo aver confermato con invio, apparirà una schermata in cui si dovrà selezionare il file che contiene la configurazione della tastiera della lingua dell'utente; nel caso della tastiera italiana si dovrà cercare e selezionare il file qwerty.it.map confermandolo con invio. Una volta confermato il file sarà possibile verificare l'effettiva correttezza della configurazione facendo una prova in una linea di comando grafica. Pertanto si consiglia di premere qualche tasto (compresa la punteggiatura) per verificare che il file caricato sia corretto e che non ci siano errori di interpretazione. Per proseguire l'installazione premere invio per azzerare la linea di comando, digitare 1 e confermare con invio per ritornare alla console. \\\\\\\\\\\\\\\\\\\\\ -->Login come root<-- ///////////////////// Configurata la tastiera si è finalmente pronti per iniziare l'installazione fisica del sistema ma, prima di proseguire è necessario effettuare un login, azione confermata dalla comparsa, sul fondo della console, della stringa login:_ Il programma sta chiedendo di effettuare un login, ovvero di accedere al computer come utente, e l'unico utente utilizzabile, a questo punto, è l'amministratore di sistema ovvero l'utente root. Tutto ciò che bisogna fare per effettuare il login è inserire il nome root nella schermata login:root_ confermando con invio. \\\\\\\\\\\\\\\\\\\\\ -->Partizionamento<-- ///////////////////// Linux lavora a partizioni divise ed è necessario configurare tali partizioni. Per farlo, dopo aver effettuato il login come root, è necessario inserire nella linea di comando root#slackware:_ il seguente comando root#slackware:cfdisk_ cfdisk è un utilità che consente di modificare la tabella delle partizioni con un interfaccia semigrafica e abbastanza intuitiva da utilizzare. Le partizioni di cui si ha necessariamente bisogno sono 2 - la partizione di SWAP - la partizione radice "/" (Nota: la presente guida è stata costruita facendo riferimento ad un'installazione a partire da hard disk formattato perciò si utilizzerà tutto lo spazio che offre la periferica. Se si vuole mantenere una parte dell'unità oppure si vuole far convivere nella stessa macchina sia Linux sia Windows si consiglia di far riferimento ad un'altra guida...) Per scrivere nella tabella queste partizioni, innanzitutto è necessario cancellare tutte le partizioni preesistenti nell'unità ed ottenere un unico spazio non formattato; per farlo è necessario selezionare una ad una le partizioni è cancellarle con l'apposito pulsante presente nell'interfaccia semigrafica. Una volta ottenuto lo spazio contiguo non formattato si può iniziare a configurare le due partizioni necessarie, utilizzando il comando "NEW" nell'interfaccia. - PARTIZIONE DI SWAP Per la partizione di SWAP si consiglia di utilizzare uno spazio pari o superiore al doppio della dimensione della RAM. Visto che l'area di SWAP è l'area della memoria virtuale del computer, tale dimensione è fortemente indicata per aumentare al massimo le prestazioni del computer, ed è fondamentale per il corretto funzionamento del sistema. Linux carica una partizione come area di SWAP solo se tale partizione è formattata con un particolare File System denominato "Linux SWAP". Per modificare il tipo di File System di una partizione è necessario evidenziare la partizione nella schermata del cfdisk e entrare nel menù del comando TYPE del programma si partizionamento. Apparirà una schermata che visualizza tutti i File System utilizzabili al termine della quale viene chiesto di specificare il codice corrispondente al File System desiderato. Quindi, dopo aver selezionato il pulsante "NEW" ed aver premuto invio, comparirà una finestra in cui si chiede di specificare la dimensione della partizione espressa in MB che andrà confermata con invio. Successivamente il cfdisk chiederà se montarla all'inizio o alla fine dell'hard disk (assolutamente indifferente anche se per ordine si suggerisce di montarla all'inizio). Il codice di file system da specificare nel menù del comando TYPE è il numero 82 che corrisponde esattamente al tipo di partizione "Linux SWAP" - PARTIZIONE DI RADICE (/) La partizione di radice potrà occupare tutto lo spazio restante dell'unità disco e per formattarla sarà sufficiente seguire lo stesso procedimento usato per l'area di SWAP. Piccole differenze: - Se si desidera utilizzare tutto lo spazio disponibile non è necessario indicare la dimensione, essa apparirà di default come la dimensione totale dell'area non partizionata selezionata - Non è necessario specificare il file system; esso sarà selezionato successivamente nell'installazione - E' necessario rendere "caricabile" la partizione. Per farlo, una volta evidenziata la partizione, selezionare il pulsante dell'interfaccia "BOOTABLE" e confermare con invio NOTA: Fino a che non si confermano le decisioni con il pulsante "WRITE" di cfdisk tutte le modifiche apportate sono solo a livello virtuale, quindi è possibile fare tutti i cambiamenti che si desiderano. Tuttavia, una volta scritta la tabella delle partizioni con "WRITE", i dati che erano memorizzati nelle partizioni sono irrecuperabili con i sistemi disponibili all'utente medio, quindi si consiglia di essere certi al 100% di poter cancellare le partizioni prima di riscrivere la tabella delle partizioni. Una volta terminato di modificare le partizioni selezionare quindi il pulsante "WRITE", confermando con invio, per scrivere la tabella delle partizioni e chiudere cfdisk con il pulsante "QUIT" Installazione fisica del sistema Ora che anche le partizioni sono configurate correttamente si può procedere nella console a inserire nella linea di comando la stringa root#slackware:setup_ che farà partire l'interfaccia semigrafica per l'installazione del sistema, anche questa sufficientemente intuitiva. La prima cosa da fare è attivare l'area di SWAP configurata precedentemente con cfdisk; per farlo è sufficiente selezionare il pulsante "ADDSWAP" e confermare tutte le richieste fatte dalla macchina. Dopo aver formattato l'area di SWAP e dopo averla attivata il programma chiederà come formattare le altre partizioni create. Per tutte le partizioni selezionare le seguenti caratteristiche: - FILE SYSTEM: EXT2 - INODE: 1 INODE 4096 Confermare e attendere che il sistema termini di formattare le partizioni. Dopo aver confermato tutte le richieste fatte dalla macchina verrà chiesto da dove effettuare l'installazione. Ovviamente si dovrà selezionare e confermare l'opzione CDROM con successiva individuazione automatica dell'unità. A questo punto segue la parte relativa alla selezione dei macro pacchetti. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ -->Pacchetti Completi o Macro Pacchetti<-- ////////////////////////////////////////// Dato che l'installazione che si sta effettuando, come già ripetuto più volte, è un'installazione minima, sarà necessario selezionare, nella nuova schermata apparsa dopo la selezione della sorgente software, solo 4 macro pacchetti: - BASE LINUX SYSTEM (che contiene i pacchetti di base per utilizzare Linux) - PROGRAM DEVELOPMENT (che contiene i compilatori per le librerie MPICH) - LINUX KERNEL SOURCE (i sorgenti del kernel Linux) - NETWORK (che contiene i pacchetti per i protocolli di comunicazione TCP/IP ecc...ecc...) -Base linux system -Program Development -Networking In Base linux tutti questi: Tutti fino Cpio compreso Poi tutti fino Findutils copreso Gettext Glibc tutti e due Poi tutti tranne: Gpm Hotplug Jfsutils Loadlin Minicom Pcmcia-cs Reiserf Smart Syslinux Tcsh Umsdos Usbutils Xfsprogs In Program Development da inserire: Autoconf Automake Binutils Distcc Gcc Gcc-g++ Gcc-G77 Gdb Gettext Indent Kernel Libtool M4 Make Pkgconfig Perl Python In Networking: Autofs Indent Iprouter Iptables Nfs Openssh Openssl Pidentd Portmap Stunnel Tcpip NOTA: Per selezionare e deselezionare i pacchetti e i macro pacchetti è sufficiente premere la barra spaziatrice. Una volta selezionati i macro pacchetti corretti confermare con invio. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ -->Completamento dell'installazione<-- ////////////////////////////////////// Una volta terminata l'installazione dei pacchetti nell'hard disk è necessario effettuare alcune operazioni finali prima di poter utilizzare il sistema: - CREAZIONE DI UN FLOPPY DI RIPRISTINO Il floppy di ripristino è necessario per recuperare i dati necessari a far partire il sistema nel caso questi siano andati danneggiati. E' un'operazione facoltativa e si può tranquillamente saltare ("SKIP") - CONFIGURAZIONE E INSTALLAZIONE DEL BOOT LOADER Il boot loader è un programma che riceve dal BIOS il compito di caricare fisicamente il sistema all'interno della RAM, operazione troppo complessa per essere eseguita dal BIOS, e che deve essere installato all'interno del MBR (Master Boot Record), una zona dell'hard disk finalizzata proprio a questo scopo. Il boot loader offerto dalla Slackware 10.2 è il LILO (LInux LOader) e per essere installato richiede poche e semplici istruzioni - Installazione semplice, selezionando "SIMPLE" e confermando - Risoluzione dello schermo (quella di default è perfetta per le esigenze del sistema) - CONFIGURAZIONE DEL NETWORK Dopo la configurazione del boot loader è necessario configurare anche la scheda di rete se la si possiede e se si desidera collegare più elaboratori in parallelo. Il primo passo è il rilevamento della scheda che viene fatto selezionando l'opzione PROBE nella prima schermata che appare per la configurazione del Network. Successivamente sarà sufficiente specificare: - Indirizzo IP della macchina che si sta configurando (solitamente 172.x.x.x o 192.x.x.x) - Indirizzo della maschera di sotto-rete (SUBNET MASK), solitamente anche di default 255.255.255.0 - Indirizzo del Gateway - SELEZIONE DEL FUSO ORARIO Linux prende normalmente l'ora del BIOS quindi l'unica cosa da specificare è il fuso orario in cui ci si trova. E' quindi sufficiente selezionare il Fuso Orario corretto per configurare correttamente l'ora. - PASSWORD DI ROOT Ora che il sistema è configurato e (si spera) funzionante è necessario impostare la password per l'utente root per evitare eventuali problemi di sicurezza e di intrusione. Per farlo confermare la scelta di impostazione della password con invio; comparirà una schermata da console in cui si chiede per due volte l'inserimento della nuova password di Root. Una volta impostata la nuova password (e dopo averla confermata con invio) si tornerà alla schermata iniziale dell'installazione - RIAVVIO Selezionare "QUIT" per terminare il programma di installazione. Una volta terminato il programma si avrà davanti una console con la seguente linea di comando root#slackware:_ Tale linea sta ad indicare il corretto termine dell'installazione. Per riavviare e verificare il funzionamento del sistema digitare root#slackware:reboot_ oppure premere il pulsante di riavvio della macchina. Segue ora la parte relativa all'installazione delle librerie MPICH2. ================================================================================================================================================== ############################### #INSTALLAZIONE LIBRERIA MPICH2# ############################### Queste sono le istruzioni per poter effettuare una installazione standard delle librerie MPICH2. Come prima cosa dobbiamo scaricare i sorgenti(.tar.gz) dell' ultima versione delle librerie mpich dal sito: http://www.mcs.anl.gov/mpi/mpich2. Prerequisiti per l' installazione: il file tar.gz appena scaricato Un compilatore C (gcc va bene) Phyton 2.2 o superiore Un compilatore Fortran(solo se usate il Fortran) (g77) Un compilatore C++(g++)(solo se usate il C++) Istruzioni (è sottointeso che le seguenti istruzioni sono per la linea di comando (la konsole)): 1.Porsi nella cartella dove è stato messo il file appena scaricato 2.Scompattare i sorgenti delle librerie tramite il comando tar xfsz [nome_file_scaricato] dove nome_file_scaricato corrisponde al nome del file scaricato( .tar.gz) 3.A questo punto entrare nella cartella appena creata(cd mpich2...) dalla decompressione e digitare: ./configure Questo comando provvederà a controllare se nel sistema operativo sono presenti i requisiti per poter procedere alla compilazione dei sorgenti. Se si verificano errori è possibile che non abbiate i requisiti installati nel sistema. 4.Una volta finito il ./configure digitare, si procede alla compilazione dei sorgenti, digitando: make Se non ci sono errori, bisogna ora procedere all'installazione degli eseguibili appena creati. Per far questo bisogna accedere come root. Digitare su Inserire la password di root; poi digitare: make install E, una volta finita questa procedura, digitare: exit 5. Ora è necessario inserire, nella cartella home, un file chiamato .mpd.conf con una parola segreta uguale a tutti i pc del cluster: Posizionarsi nella cartella home cd /home e scrivere touch .mpd.conf in questo modo è stato creato il file; aprirlo con un editor qualsiasi e scrivere al suo interno: secretworld= dove parola_segreta è una parola a vostra scelta che deve essere uguale in tutti i pc del cluster. A questo punto salvare. Infine digitare il comando chmod 600 .mpd.conf In questo modo il file viene reso leggibile e modificabile solo dal proprietario. Se questa guida è stata seguita alla lettera, e non si sono verificati errori l'installazione è conclusa. ================================================================================================================================================== ############################################ #CONFIGURAZIONE DEL CLUSTER CON LE LIBRERIE# ############################################ 1) Dopo aver eseguito l'installazione delle librerie, è necessario verificare che tutto sia a posto accertandosi della presenza dei comandi fondamentali all'interno della cartella /bin attraverso la seguente sequenza di comandi which mpd which mpicc which mpiexec which mpirun Il risultato dei comandi dovrebbe essere un riferimento alle sottocartelle della directory di installazione /bin. A questo punto è necessario copiare questa cartella in tutte le altre macchine del cluster, a meno che non si stia lavorando con un file system condiviso come NFS. 2) MPICH2 utilizza un processo manager esterno per inizializzare job MPI molto grandi. Il processo manager di default è chiamato MPD, che altro non è che un anello di demoni fatto partire nelle macchine dove vengono eseguiti i programmi MPI. Nei passi successivi verranno indicate le istruzioni per “tirare su” l'anello e testarlo. Nel caso si sia incorsi in problemi nella configurazione, maggiori dettagli per interagire con MPD possono essere trovati eseguendo i comandi mpdhelp, utilizzando dopo un specifico comando MPD l'opzione --help oppure consultando il file README in mpich2/src/pm/mpd. Le informazioni fornite includono le istruzioni per eseguire, killare o sospendere i job oppure come utilizzare il debugger gdb dando particolari argomenti al comando mpiexec. Per ragioni di sicurezza, MPD richiede che nella cartella home sia salvato un file chiamato .mpd.conf contenente la linea secretword= dove è una stringa conosciuta solo dall'utilizzatore. Teoricamente non dovrebbe essere la password di root. Dopo averlo creato è necessario renderlo leggibile e scrivibile solo dal proprietario. Quindi la sequenza di comandi per tali operazioni è la seguente: cd $HOME touch .mpd.conf chmod 600 .mpd.conf Dopodiché è necessario utilizzare un editor di testo e inserire una linea del tipo: secretword=mr45-j9z all'interno del file (ovviamente si potrà utilizzare una parola segreta diversa da mr45-j9z). 3) Il primo controllo per verificare il funzionamento del sistema consiste nel “tirare su” un anello di un MPD nella macchina locale, testare l'anello con un comando MPD e “buttare giù” l'anello. La sequenza di istruzioni è a seguente: mpd & mpdtrace mpallexit L'output di mpdtrace dovrebbe restituire l'hostname della macchina dove viene fatto partire MPD. mpdallexit provoca la chiusura del demone mpd. 4) Il controllo successivo consiste nell'eseguire un programma non-MPI usando il demone. mpd& mpiexec -n 1 /bin/hostname mpdallexit Tale sequenza dovrebbe produrre dome output il nome della macchina dove viene eseguito il programma 5) Ora tenteremo di “tirare su” un anello di mpd in un gruppo di macchine. Il primo passo consiste nel creare un file che contenga la lista dei nomi delle macchine, uno per ogni linea, chiamato mpd.hosts sempre nella home directory. Questi hostname dovranno essere usati come bersaglio di ssh o rsh, quindi è necessario includere il nome del dominio se necessario. Innanzitutto è bene essere sicuri di poter raggiungere queste macchine con ssh o rsh senza inserire la password. Il test può essere fatto digitando ssh altramacchina data oppure rsh altramacchina data Se non si è in grado di raggiungere le macchine senza inserire la password sarà necessario configurare ssh o rsh perché lo possano fare oppure sarà necessario utilizzare una specifica sequenza di istruzioni prima del comando mpdboot, di cui si discorrerà nel prossimo passo. 6) Per far partire il demone in alcuni o tutti gli host specificati nel file .mpd.hosts digitare mpdboot -n -f mpd-hosts Il numero dei processi potrà essere minore di 1 + il numero degli host inseriti nel file, ma non può essere più grande di tale quantità. Un mpd è sempre iniziato nella macchina dove viene richiamato il comando mpdboot ed è contato assieme al totale dei possibili host da utilizzare, indipendentemente dal fatto che sia stato inserito nel file mpd.hosts. Per default mpdboot fa partire un solo demone mpd per ogni macchina anche se è indicata in copia multipla nel file. L'opzione -1 può essere usata per sorpassare questo ostacolo, ma solitamente non ci sono ragioni perché un utente faccia partire più mpd in una sola macchina. L'opzione -1 (onde evitare equivoci è il carattere 'uno' e non la lettera 'elle') esiste principalmente per eseguire dei test interni. L'opzione --help di mpdboot esplicita tutto ciò che si è finora detto e anche altre utili istruzioni. Per verificare che tutti gli hosts listati in mpd.hosts sono stati utilizzati è possibile utilizzare il comando mpdtrace e, se tutti gli hosts sono visualizzati come output, è possibile procedere al passo successivo. La sequenza di istruzioni per far funzionare mpdboot con ssh e rsh consiste nel far partire “a mano” il demone come segue: mpd& # fa partire il demone locale mpdtrace -1 # fa stampare dal demone della macchina locale il suo host e la sua porta nella forma _ da eseguire in ognuna della altre macchine. Successivamente è necessario posizionarsi nella cartella install/bin e digitare mpd -h -p & Dove nome_host e porta corrispondono al nome_host e porta del primo mpd (quello originale) che è stato fatto partire. Da ogni macchina, dopo aver eseguito il demone mpd, si può digitare mpdtrace per vedere quali macchine sono nell'anello. Dopo aver creato l'anello: mpdtrace per visualizzare gli host dove il demone mpd è ora in esecuzione. Si può verificare quanto impiega un messaggio ad attraversare tutto l'anello attraverso il comando mpdringtest che dovrebbe essere minimo. Per visualizzare il tempo necessario a n circoli di un messaggio nell'anello è possibile specificare dopo mpdringtest un argomento n che specifica il numero di giri mpdringtest 100 mpdringtest 1000 7) Il test per verificare se l'anello è in grado di eseguire un job multiprocesso è mpiexec -n nome_host il numero di processi non deve essere necessariamente il numero di host nell'anello: se ce ne sono in più verranno spostati. Si può vedere l'effetto di ciò ottenendo delle etichette di rank nello stdout: mpiexec -1 -n 30 hostname Probabilmente non è necessario fornire il nome completo dell'host perché si trova già nella directory. Se così non fosse, meglio utilizzare il pathname completo: mpiexec -1 -n 30 /bin/hostname 8) Ora sarà possibile testare i job multiprocesso come specificato nello standard MPI-2. Quando le librerie MPICH2 sono compilate, viene infatti collocato nella cartella mpich2-1.0.5/example un programma per calcolare il valore di pigreco. Se la cartella corrente è l'apice della cartella dove è stat compilata MPICH2, il programma è eseguibile con il seguente comando mpiexec -n 5 examples/cpi Il numero di processi non deve essere necessariamente il numero degli host. Il programma di esempio cpi comunica all'utente in quale host il programma viene eseguito. Per defalut, i processi sono lanciati uno dopo l'altro negli host dell'anello, perciò non è necessario specificare degli host quando un job viene eseguito con mpiexec. Come approfondimento può essere interessante specificare che ci sono molte opzioni per mpiexec, che consentono: di eseguire programmi multipli, di specificare gli host in cui i job vanno eseguiti (finchè questi rimangono nell'anello), di separare gli argomenti della linea di comando e le variabili d'ambiente e destinarli a diversi processi e che consentono inoltre di specificare directory di lavoro e di ricerca. Per maggiori dettagli digitare mpiexec --help Un esempio tipico di utilizzo delle opzioni di mpiexec è: mpiexec -n 1 master : -n 19 slave oppure mpiexec -n 1 -host mymachine master : -n 19 slave esempio che serve per assicurarsi che il processo con rank 0 sia quello della workstation in cui il job viene eseguito. Gli argomenti tra i ':' sono chiamati “set di argomenti”, semplicemente perché si applicano ad un set di processi. Il comando mpirun, delle librerie MPICH originali, continua ad essere disponibile ma non supporta tante opzioni quanto mpiexec. mpirun potrebbe quindi essere utilizzato nel caso che non siano comprese le librerie XML richieste per utilizzare mpiexec.