next up previous contents
Next: 4.2.6.2 PVM Up: 4.2.6 Ejecución Previous: 4.2.6 Ejecución   Índice General

4.2.6.1 MPI

En sentido estricto, MPI no cuenta con una manera de ejecutar aplicaciones que utilicen sus funciones. Este detalle se deja a cada implementación particular. MPICH provee el comando mpirun, que se encarga de inicializar los mecanismos de comunicación necesarios, así como los programas a ejecutar, y realizar la corrida de los mismos.

mpirun toma un parámetro -np para indicar en cuántos procesadores se va a ejecutar el programa. Como se describió la sección (2.2.12), en un cluster se tiene una lista de máquinas, cada una de las cuales cuenta como un procesador, de modo que si se especifica -np 5 se indica que se ejecutará el programa de MPI utilizando 5 nodos. Los procesos se inician en el orden que se especifica en el archivo de lista de nodos.

Entonces, para ejecutar el programa de multiplicación de matrices en MPI, se debe indicar el siguiente comando:

$ mpirun -np 17 ./matrix1 -d 650
Este comando especifica ejecutar el programa utilizando 17 nodos, con una matriz de dimensión $650\times 650$. El comando mpirun realiza las tareas de inicialización y arranque del número de procesos necesarios.

La ejecución del programa en MPI fue relativamente limpia. No se proporciona un mecanismo de control para los procesos que se ejecutan en paralelo, lo cual supone una desventaja, aunque por otro lado, en caso de complicaciones, el detener el proceso inicial (la invocación de mpirun) automáticamente elimina los procesos generados en los nodos.

En caso de ocurrir algún error, MPI envía mensajes que en ocasiones no resultan obvios pero permiten suponer que ha ocurrido alguna complicación, en cuyo caso se puede detener el proceso restaurando el estado del sistema.


next up previous contents
Next: 4.2.6.2 PVM Up: 4.2.6 Ejecución Previous: 4.2.6 Ejecución   Índice General
2002-05-15