martes, 4 de febrero de 2014

Paralelismo para todos

Después de haber leído el artículo "Parallel Computing on any Desktop" escrito por Ami Marowka y publicado en el Communications of the ACM en septiembre del 2007, me doy cuenta que ya tiene algo de rato este tema del paralelismo y el interés por descubrir más formas de aprovecharlo, tanto en hardware como software.
Como es muy conocido de todos, antes todas estas cosas, disponibles ahora al alcance de nuestro bolsillo, eran excesivamente costosas y se encontraban para uso exclusivo de investigación, o en grandes compañías o universidades.
Si se requería procesamiento en paralelo se utilizaba una técnica de clústers (llamada Beowulf), fácil de construir y de aumentar de tamaño, pero compleja en cuanto a su programación y manejo. Se requería personal especializado en el área. Aun con esta técnica, la adopción del paradigma por resolver los problemas en manera paralela no aumento.


Luego de esto se comenzó con el desarrollo de los procesadores multinúcleo, claramente en sus principios estos eran muy costosos y sólo disponibles para ciertas arquitecturas. Pero ahora tener un procesador con doble núcleo está a nuestro alcance, y si no es de dos núcleos puede ser de n, no olvidemos que ya hay arquitecturas de hasta 4 núcleos.
El desarrollo del hardware ha sido muy importante en este tema, así como también lo ha sido el software, es así como la librería OpenMP hace su aparición permitiendo al usuario un fácil uso de los hilos de ejecución así como la implementación de estos en el código, haciendo así que el usuario se olvide de crear, destruir y manipular threads y solo se preocupe por el área de código que desea paralelizar. Pero hay que aclarar que algunos problemas demandan cierta modelación y OpenMP no llega a soportar.

En conclusión me parece interesante que desde antes se tuviera interés en el tema, pero que la complejidad del mismo haya detenido un poco su desarrollo.

No hay comentarios:

Publicar un comentario