MPI, Interfaz de Paso de Mensajes

6 / enero / 2008 at 3:39 am (1)

Bueno en un pasado post, hice referencia a la programación en paralelo, en el punto en que escribí ese articulo desconocía muchas cosas, así que me puse a investigar un poco, y sin darme cuenta, la respuesta llego por correo.

Este es un Copy & Paste de un correo que me llego, que explica esos puntos que se mantuvieron incongruentes en el anterior post, sin mucho que decir mas que una disculpa, les dejo el mail que envió Victor H De la Luz a la lista de debian:

“Creo que se esta moviendo rapidamente y lo gracioso es que esta

volviendo a pasar lo mismo de siempre:

de la ciencia basica a la industria, el paralelismo se viene

trabajando en Ciencia desde hace mas de 30 años.

Por eso, afortunadamente ya existe toda la infraestructura de

software para trabajar con multiples procesadores: el llamado estandar

MPI o pases de mensaje.

Que no es mas que una forma de comunicar procesos a travez de

diferentes estructuras logicas.

Pero eso ya no importa, porque el MPI encapsula todo el andamiaje y tu

solo lo usas.

Bajo este esquema existen dos vertientes, el paralelismo explicito y

la distribucion automatica.

En el paralelismo explicito el MPI te brinda funciones muy faciles de

usar para coordinar procesos y utilizar

el procesador que tu quieras cuando tu lo desees. Creeme, es facinante

poder diseñar codigos que

ya no residen en un solo proceso y que realmente estan usando cada uno

su propio hardware.

Estas herramientas estan muy avanzadas desde hace muchos años en C,

C++ y Fortran tanto 77 como

90. Recientemente Java a estado creando su estandar MPI y hace unos

pocos dias en un congreso

mostraron el estandar MPI para IDL, un lenguaje que increiblemente no

tenia estandar para programacion

en paralelo.

En la distribucion automatica tu creas tu codigo y un compilador puede

tratar de paralelizar tu codigo, aunque

muchos dicen que es muy ineficiente, yo nunca lo uso.

Por ultimo, creo que el futuro de las PCs estara en el numero de

procesadores que vendran en la maquina. Al

ritmo que se desarrolla creo que en menos de 50 años venderan equipos

con 1024 procesadores a precios

muy accesibles. Asi que creo que cualquier programador con vision,

deberia de estar interesado en aprender

el MPI.

Algunas implementaciones del estandar MPI:

http://www-unix.mcs.anl.gov/mpi/mpich1/

http://www.open-mpi.org/

Estas distribuciones estan pensadas en los clusters, pero se pueden

usar con una maquina con varios procesadores.

El MPICH al momento de compilar tu le puedes pasar una bandera que

configura el tipo de “coordinador” de mensajes,

en la documentacion viene la bandera explicita para usar el MPI en UNA

sola maquina con MULTIPLES procesadores.

Para que no tengamos que estar cargando el servidor del cluster en la memoria.

Asi venimos trabajando con maquinas quadro de intel y Athlons X2 de

AMD desde el año pasado. Pues pensamos:

¿Para que tenemos una maquina con 4 procesadores si solo usamos uno? jejeje.

Por ultimo, paralelizar un codigo no es tan dificil, solo es cuestion

de darle un rato al paradigma de programacion

en paralelo (cliente-servidor, autoasignacion de tareas, etc) y es muy

rapido, cuando llegue el momento, creo que

sera relativamente sencillo cambiarnos al nuevo paradigma. Eso si,

esto no garantiza la eficiencia, eso creo que tardara

algunos años.”

Atte

Victor De la Luz

IGEOFCU/UNAM

2 comentarios

  1. Edgar Israel said,

    No mames cabron deja de copypastear y ponte a escribir tus propios articulos! xD

  2. Jario said,

    Felicidades, buen aporte. Soi estudiante de ASI i me tocan los webos que flipas!! Caca de pràcticas de becario, hayy con los malacatones…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: