Intel desarrolla un conjunto de herramientas para programación paralela - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Intel desarrolla un conjunto de herramientas para programación paralela

Hola otra vez. Te escribe Simón Sánchez y en el día de hoy hablaremos sobre Intel desarrolla un conjunto de herramientas para programación paralela

El miércoles, Intel presentó Parallel Studio, un conjunto de cuatro herramientas para ayudar a los desarrolladores de aplicaciones a escribir programas paralelos en plataformas multinúcleo y manycore. La suite atiende a los millones de programadores de C y C ++ que luchan por incorporar el paralelismo en sus aplicaciones, y lo hace no solo al proporcionar herramientas, sino también al proporcionar las habilidades necesarias para usarlas de manera efectiva directamente en el conjunto de herramientas.

Intel está muy motivado para ayudar a los programadores a aprovechar al máximo sus procesadores. El cambio multinúcleo a través del cual Intel está educando a los programadores es, como hemos sabido en HPC durante al menos dos décadas, un cambio fundamental en la forma en que los desarrolladores piensan sobre la programación. El diseño (y la reingeniería) de software para un buen rendimiento en más de un procesador es un trabajo difícil. Las estimaciones del número de desarrolladores de software en el mundo varían ampliamente, pero la mayoría de ellos se encuentran entre 1 millón y 12 millones. A pesar de que el número real está en el extremo inferior de ese rango, todavía es bastante educación en programación paralela.

En respuesta a este desafío, Intel ha invertido en una amplia gama de iniciativas durante el año pasado. Ha financiado dos Centros de Investigación de Computación Paralela Universal (UPCRC) en Berkeley y UIUC para, como dijo Marc Snir, «hacer de la» programación paralela «sinónimo de» programación «. universidades de todo el mundo para ayudarles a integrar conceptos de paralelismo en los planes de estudio básicos de informática, e Intel estima que 40.000 estudiantes universitarios verán ese material este año. Recientemente, Intel anunció que se ha asociado con HP y Yahoo! para crear un archivo banco de pruebas para la investigación de la computación en la nube «Diseñado para fomentar la investigación de software, la gestión del centro de datos y los problemas de hardware asociados con la computación en la nube a mayor escala que nunca».

La compañía también ha invertido durante mucho tiempo en compiladores y herramientas de programación para sus chips, con productos como Cluster OpenMP, VTune Performance Analyzer, Trace Collector, MPI Library, Math Kernel Library y compiladores Fortran. Recientemente, han agregado soporte paralelo a esta cartera, con herramientas como Bloques de construcción roscados está en Nuevo idioma desarrollado específicamente para soportar la computación multinúcleo.

Esta semana, la compañía dio lo que promete ser un gran paso adelante. Intel Parallel Studio va más allá de simplemente integrar los compiladores y depuradores de Intel en el entorno de desarrollo integrado (IDE) Visual Studio de Microsoft. Los cuatro componentes de Parallel Studio están destinados a ayudar a los desarrolladores durante todo el ciclo de vida de una aplicación: desde planificar dónde colocar el paralelismo hasta garantizar que una aplicación se comporte como se espera. Las pruebas de beta abierta comenzarán a finales de este año, y es probable que el producto se envíe en la segunda mitad de 2009.

Una vez completado, Parallel Studio constará de cuatro herramientas: Parallel Advisor, Parallel Composer, Parallel Inspector y Parallel Amplifier. Los componentes están pensados ​​para las etapas principales del ciclo de vida del desarrollo de una aplicación: planificación, codificación, depuración y ajuste. Advisor es una tecnología interesante y con ella Intel ha decidido abordar directamente la brecha de habilidades que enfrentan la mayoría de los programadores que ya están en el mundo empresarial con poca o ninguna experiencia en programación paralela.

James Reinders de Intel, Director de Productos de Desarrollo de Software de Intel, tuvo cuidado de señalar que Advisor no es una herramienta de paralelización automática o una varita mágica. Me explicó el papel del Asesor en términos de flujo de trabajo que los programadores suelen emplear cuando agregan paralelismo al código existente. Los usuarios a menudo perfilan su aplicación primero para buscar puntos de acceso, luego ejecutan experimentos en el más prometedor de esos puntos de acceso para determinar si el paralelismo podría dar resultados en esa sección del código. Desafortunadamente, estos experimentos a menudo no funcionan o resultan ser proyectos de desarrollo por derecho propio, ya que los desarrolladores enfrentan problemas inesperados, como estructuras compartidas globalmente que deben modificarse para permitir un acceso paralelo seguro.

Advisor aprovecha las capacidades de análisis de código estático y dinámico que Intel ha desarrollado para sus compiladores y otros proyectos para advertir al desarrollador sobre estos problemas y ofrece consejos sobre las formas de solucionarlos. De esta manera, Advisor puede ayudar al desarrollador a determinar áreas de alta ganancia para inyectar paralelismo y asesorar sobre la implementación adecuada. Como señala Reinders, esta es una clase de herramientas totalmente nueva e Intel quiere asegurarse de que lo hagan bien. Aunque es temprano en el ciclo de vida de desarrollo de aplicaciones paralelas, su versión beta se lanzará por última vez, en el primer semestre de 2009, para permitir que Intel madure la oferta.

Parallel Composer es donde el código se escribe en Parallel Studio y se basa directamente en las herramientas de desarrollo de código existentes de Intel. «Composer es la parte más madura de Parallel Studio, lo cual es vital», dice Reinders. «En algún nivel, si jugamos con algunas de las otras herramientas, acabamos de dar un mal consejo. Pero Composer es donde los usuarios crean código real y no hay lugar para errores allí». Composer incluirá soporte para Concurrency Runtime de Microsoft cuando Microsoft lanzará la versión final, programada para el próximo año. El tiempo de ejecución de concurrencia (CR) está destinado a reducir la dificultad que enfrentan los programadores para agregar correctamente subprocesos y admitir eventos asíncronos a las aplicaciones. Además de agregar un modelo de objeto simple para permitir a los programadores expresar fácilmente esquemas de coordinación de subprocesos complejos, el CR mantiene su propio grupo de subprocesos, eliminando la sobrecarga de rendimiento normalmente asociada con la clasificación de subprocesos de forma dinámica.

Parallel Inspector es el punto focal para las actividades de depuración en Parallel Studio. Está basado en Intel Thread Checker y Reinders lo describe como un «buscador de errores proactivo». La ventaja única de Inspector es que intentará encontrar problemas que aún no se hayan manifestado como errores. Por ejemplo, el Inspector buscará en la aplicación ejecuciones de datos, interbloqueos y otros errores de uso que a menudo no aparecen durante períodos prolongados después del lanzamiento o que solo aparecen de manera impredecible.

El componente final, Parallel Amplifier, se basa en una prueba tecnológica de concepto que Intel publicó en WhatIf.Intel.com hace algún tiempo. VTune de Intel es potente pero difícil de usar, y Reinders dice que después de lanzar el prototipo de la utilidad de optimización del rendimiento, rápidamente se convirtió en la descarga más popular del sitio, incluso para los desarrolladores de Intel. El amplificador se basa en esta herramienta, por lo que los usuarios volverán a tener el beneficio de utilizar tecnología que ya ha sido probada en el campo en el mundo real. Está diseñado para no expertos e incorpora visualización para ayudar a los usuarios a comprender lo que está sucediendo.

Quizás la mejor parte es que los usuarios de Parallel Studio no tienen que registrarse para una propuesta de todo o nada. Las herramientas funcionan de forma independiente y cada una trabaja con otros compiladores y herramientas de Microsoft, Intel y otros, por lo que los desarrolladores pueden moverse a su propio ritmo, adoptando herramientas de Studio específicas según sea necesario.

Estas herramientas son muy prometedoras, y mi primer pensamiento fue llevar la tecnología más allá de la comunidad «simple» de Windows. Partes de la suite, especialmente de la herramienta Composer, migrarán a otras herramientas de Intel, que son compatibles con otras plataformas (Linux y OS X). Pero Reinders señaló que las otras tres herramientas están realmente centradas en IDE y que necesitan un entorno en el que estructurar el asesoramiento que brindan a los desarrolladores. Según él, Intel invirtió esfuerzos significativos en integrar estrechamente Parallel Studio en Visual Studio porque no querían que los desarrolladores sintieran que estaban haciendo otra cosa que no fuera la programación «normal» mientras trabajaban en código paralelo. Reinders es optimista de que la tecnología puede abrirse camino en los IDE en otras plataformas, como Eclipse y XCode, pero dice que Intel no tiene planes de hacerlo en este momento.

Puedes compartir en tus redes sociales para que tus amigos opinen

??? ? ? ???

Comparte