Postales desde el límite de la computación paralela - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Postales desde el límite de la computación paralela

Hola, un placer verte por aquí. Yo soy Simón Sánchez y en esta ocasión hablaremos sobre Postales desde el límite de la computación paralela

Como habrás notado, los seminarios, conferencias y cumbres sobre multinúcleo y paralelismo parecen estar de moda en estos días. Un ejemplo reciente es el segundo taller anual Hot Topics in Parallelism de USENIX (HotPar ’10), que tuvo lugar del 14 al 15 de junio en Berkeley, California. Presentó una mezcla de oradores de la academia y la industria, quizás con un poco de inclinación hacia el primero. Han aparecido las organizaciones sospechosas habituales del universo de la computación paralela, incluidas UC Berkeley, Intel, MIT, la Universidad de Stanford, la Universidad de Illinois, Microsoft, NVIDIA y un puñado de otras.

Las presentaciones, que cubrieron todo, desde la paralelización de Firefox y los programadores multinúcleo, hasta los límites de la aceleración GPGPU, se publicaron convenientemente en sitio web. Pero si desea la versión de Cliff Notes, Real World Technologies tiene el evento cubierto y Tarek Chammah escribió un artículo destacando algunas de las charlas HotPar más interesantes.

También puso en contexto la naturaleza de la programación paralela en torno al informe HotPar. En particular, Chammah nos recuerda que existen diferentes dimensiones de paralelismo, a saber, modelos de granularidad, regularidad y de intercambio de datos; y se manifiestan en diferentes formas. Aunque Chammah cubre algunas presentaciones algo esotéricas, como la de los estados compartidos en los videojuegos, vale la pena leer el artículo completo. Dicho esto, me gustaría señalar dos presentaciones de HotPar que creo que todos deberían ver y que también se tratan en el artículo de Real World Technologies.

El primero se basa en un archivo papel (PDF) de Richard Vuduc de Georgia Tech que explora los límites de la aceleración de la GPU. De hecho, cubrí este tema hace unas semanas en un blog anterior, así que no lo repetiré aquí. Baste decir que las afirmaciones de rendimiento de la GPU y la CPU deben abordarse con un nivel saludable de escepticismo. La conclusión no controvertida es que algunas aplicaciones se adaptarán mejor a una arquitectura u otra. El aspecto desafortunado de esto es que es posible que tenga que hacer muchos ajustes y probar el código para descubrir cuál es el óptimo.

La segunda presentación que vale la pena examinar analiza el «problema» del paralelismo desde el nivel de 50,000 pies, particularmente desde una perspectiva de computación en la nube. Karu Sankaralingam, de la Universidad de Wisconsin-Madison, dice que no es necesario que todos se enojen por esta cosa de la computación paralela, ya que no es el problema que la gente piensa que es. En su artículo, Obtenga paralelismo de My Cloud (PDF), Sankaralingam sostiene que la naturaleza de la computación en la nube, que parece destinada a convertirse en el paradigma de computación dominante, no requiere el paralelismo tradicional de la ciencia espacial. Más bien necesita competencia (actividades que se ejecutan al mismo tiempo, pero no relacionadas entre sí), que es una propuesta mucho más simple, desde el punto de vista del software, y puede ser manejada por un pequeño número de gurús del software. software que realmente necesita programar a nivel de procesador multinúcleo.

Por supuesto, este no es el caso de los tipos de HPC. En las supercomputadoras, el verdadero paralelismo es la norma y es omnipresente. Desafortunadamente para Sankaralingam, pronunció su soliloquio sobre el paralelismo de las nubes en presencia de estas personas, quienes hicieron una excepción a este enfoque de «Paralelismo: lo que me preocupa». De Chammah’s cobertura:

… El discurso iconoclasta ha causado, comprensiblemente, un pequeño alboroto en la sala. No había menos de siete interrogadores alineados para desafiar o burlarse del orador, quien se lo tomó todo con calma. Otros han mencionado que, aunque el rendimiento del chip sigue la ley de Moore, la latencia no. Dr. [David] Patterson señaló que los dispositivos actuales ya tienen múltiples núcleos, y Karu apostó a que un futuro iPhone tendrá de 8 a 10 núcleos programables por aplicaciones en unos pocos años con los desarrolladores aprovechando su paralelismo de datos en Objective C.

Sin embargo, el punto de vista de Sankaralingam no carece de mérito. Incluso en el aire de la informática de alto rendimiento, los lenguajes de alto nivel como C y Fortran se utilizan para la mayoría de los códigos, con el paralelismo superpuesto mediante llamadas a MPI y bibliotecas numéricas. Ya nadie programa en ensamblador. Y aunque el desarrollador de HPC promedio necesita saber un poco más sobre programación paralela que el experto en código promedio, es probable que la mayoría de los detalles de bajo nivel terminen encapsulados en marcos de software, como Ct, Chapel, MATLAB. es temprano.

Hasta entonces, el desafío de la programación paralela seguirá siendo uno de los temas más candentes en la informática, así como en la industria. Supongo que probablemente veremos muchos más talleres de HotPar antes de que esto se convierta en un problema resuelto.

Recuerda compartir en tu Facebook para que tus colegas lo flipen

??? ? ? ???

Comparte