Nociones basicas de MPI Datos Mensajes Comunicadores
Comprender un programa simple
Paradigma de Transferencia de Mensajes Cada procesador corre un programa Todas las variables son privadas La comunicación se realiza a través de subrutinas especiales
Idea SPMD: Single Program/Multiple Data Todos los procesadores trabajan con el mismo programa, pero los datos pueden ser diferentes. Como asignar tareas diversas con datos diversos? MAIN IF (el proceso sera el controlador) THEN CALL CONTROLADOR ( /* Argumentos /* ) ELSE CALL WORKER ( /* Argumentos /* ) ENDIF END
Idea SPMD: Single Program/Multiple Data Todos los procesadores trabajan con el mismo programa, pero los datos pueden ser diferentes. Como asignar tareas diversas con datos diversos? MAIN IF (el proceso sera el controlador) THEN CALL MASTER ( /* Argumentos /* ) ELSE CALL SLAVE ( /* Argumentos /* ) ENDIF END
Nota:
procesos vs. procesadores
Conceptos basicos Mensajes Acceso Direcciones Comunicaciones punto a punto Comunicaciones colectivas
Conceptos basicos Acceso Definicion de maquinas que participan en el calculo (ej: de los 40 nodos, cuales uso) Defino procesos Varios procesos pueden correr en la misma maquina
Conceptos basicos Mensajes Quien lo manda Donde esta el dato Que tipo de dato es Cuantos son Quien lo recive Donde debe quedar en el receptor Cuantos datos el receptor esta preparado para recibir (tamaño del buffer)
Conceptos basicos Direcciones – Los mensajes necesitan una direccion, asignar a cada maquina (proceso) una direccion (numero)
Conceptos basicos Comunicaciones punto a punto Asincronica (carta) se cuando sale, ignoro cuando llega Sincronica (fax) se cuando sale, se cuando llega Bloqueante (fax comun) No bloqueante (fax con memoria)
Conceptos basicos Comunicaciones colectivas Barreras Los procesos llegan a un punto y paran, esperando hasta la llegada de todos. Luego continuan. Broadcast (emision de radio) Una maquina le pasa un dato a todas las otras Reduccion Como en una votacion, todas las maquina le aportan un dato a una dada y esta reduce todos los datos a uno solo
MPI (Message Passing Interface) ? Una colección de rutinas adecuadas para facilitar la comunicación (intercambio de datos y sincronización de tareas) entre distintos procesadores. MPI : 1994 / MPI 2 : 1997 Existen bibliotecas para C y Fortran (C++ y F90). Características: Es estándar (por consenso, no por normativa) Portable Flexible (~ 125 rutinas) y expandible Simple (con las 6 rutinas básicas se puede hacer mucho!)
Página siguiente |