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


On Dec 27, 2007 9:34 AM, Miguel Da Silva - Centro de Matemática
<[EMAIL PROTECTED]> wrote:
> Sigue una nota que me transmitió un compañero de trabajo.
>
> Desde el punto de vista académico es algo muy lindo, sin embargo se me
> apareció una poregunta... ¿como se está preparada la comunidad del
> Código Abierto?
>
> http://www.nytimes.com/2007/12/17/technology/17chip.html?_r=2&th=&adxnnl=1&oref=slogin&emc=th&adxnnlx=1197896596-6ahmrtd1OERgdl8MTmUI/w&oref=slogin
>
> Saludos.
> --
> Miguel Da Silva
> Administrador de Red
> Centro de Matemática - http://www.cmat.edu.uy
> Facultad de Ciencias - http://www.fcien.edu.uy
> Universidad de la República - http://www.rau.edu.uy
>
>
> --
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
>
>



-- 
Atte

ItZtLi

¤º°°º¤ø,¸¸,ø¤º°°º¤ø,¸¸,ø¤º°`°º¤ø,¸
      Nahui Tonalli Icniuhtli.
¤º°°º¤ø,¸¸,ø¤º°°º¤ø,¸¸,ø¤º°`°º¤ø,¸

Responder a