Programación paralela: Intel Parallel Studio.

Durante muchos años, el programador se benefició de la carrera de los fabricantes de microprocesadores por ofrecer los procesadores más rápidos, lo que redundaba en que el rendimiento de una aplicación se veía favorecido por lo que los anglosajones denominan coloquialmente “the free lunch”, es decir, cuanto más tiempo transcurría, los procesadores que iban saliendo al mercado aceleraban la performance de tu software. Sin embargo, esa carrera de gigaherzios ha sido reemplazada por la aparición de procesadores con varios núcleos, llegándose a hablar de que por ejemplo, la versión 64 bits de Windows 7 puede manejar hasta 256 núcleos. Este dato nos lleva a otra denominación anglosajona, en donde del multi-core se pasará en un futuro a corto plazo a un many-core.

Esto aconseja o obliga (depende como se quiera ver) a tomar la programación paralela no como una cuestión complementaría a la excelencia de un sistema sino como algo fundamental, partiendo de la premisa de que un muy pequeño porcentaje de programadores utiliza la programación en paralelo en la práctica. Las explicaciones son variadas, desde una vinculación a la cultura secuencial de la primera programación y la complicación de emplear estas técnicas dentro del desarrollo, hasta la falta de adaptación de algunos lenguajes a estas tareas así como de la falta de herramientas adecuadas.

Intel Parallel Studio viene a facilitar la vida del programador dentro de todas estas cuestiones: se trata de un conjunto de programas que facilitan la introducción del multihilo en el software ya existente. Se presenta como una adición al Microsoft Visual Studio con el que está fuertemente integrado. Propone dos conjuntos de librerias (OpenMP y Threading Building Block -TBB-) que facilitan de una manera muy notoria la introducción del paradigma multihilo en el software.

Una de las grandes dificultades de la programación paralela es la localización de bugs. Para ello, Intel propone el Parallel Inspector como herramienta avanzada para la búsqueda de errores derivados del procesamiento paralelo.

En cuanto a la medición del rendimiento real, Parallel Amplifier permite comprobar como cada instrucción interactúa con el procesador durante su ejecución, ofreciendo al final un resumen global.

Pero la herramienta clave es el compilador de Intel que, además de su perfecta integración con Visual Studio, saca partido de los últimos juegos de instrucciones del procesador. Adicionalmente, se incluye la librería Intel Performance Primitives, con multitud de funciones (desde codecs de audio y video hasta funciones matemáticas y de criptografía).

Enlaces:

http://en.wikipedia.org/wiki/Intel_Parallel_Studio

http://software.intel.com/en-us/intel-parallel-studio-home/

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: