Un nuevo sistema de simulación por software promete una evaluación mucho más precisa de prometedores – pero potencialmente llenos de fallas – diseños de chips con múltiples núcleos.
Larry Hardesty, MIT News Office. Original (en inglés)
Durante la última década, los fabricantes de chips de computadoras han estado aumentando la velocidad de sus chips al darles unidades de procesamiento extras, o “núcleos”. La mayoría de los fabricantes ahora ofrecen chips con ocho, 10 o incluso 12 núcleos.
Pero si los chips continúan mejorando a la tasa que nos hemos acostumbrado – doblando su poder alrededor de cada 18 meses – pronto requerirán cientos e incluso miles de núcleos. Investigadores académicos y de la industria están llenos de ideas para mejorar el rendimiento de chips con múltiples núcleos, pero siempre existe la posibilidad de que un acercamiento que parezca trabajar bien con 24 o 48 núcleos pueda introducir problemas catastróficos cuando el conteo de núcleos se vuelva más alto. Ningún fabricante de chips tomará el riesgo de un diseño innovador de chip sin evidencia abrumadora de que funciona como se anuncia.
Como una herramienta de investigación, un grupo del MIT (Massachusetts Institute of Technology – Instituto Tecnológico de Massachusetts) que se especializa en arquitectura computacional ha desarrollado un simulador de software, llamado Hornet, que modela el rendimiento de chips de múltiples núcleos mucho más precisos que sus predecesores lo hacen. En el Quinto Simposio Internacional de Redes-en-Chip en el 2011, el grupo tomó el premio a la mejor revista académica por trabajo en el que usaron el simulador para analizar una prometedora y muy estudiada técnica de computación de múltiples núcleos, encontrando una falla fatal que otras simulaciones habían dejado pasar. Y en una edición próxima de Transacciones en Diseño Ayudado por Computadora de Circuitos y Sistemas Integrados del IEEE (Institute of Electrical and Electronics Engineers), los investigadores presentaron una nueva versión del simulador que analiza el consumo de energía así como patrones de comunicación entre núcleos, los tiempos de procesamiento de tareas individuales, y patrones de acceso a la memoria.
El flujo de datos a través de un chip con cientos de núcleos es monstruosamente complejo, y simuladores de software previos han sacrificado algo de precisión por algo de eficiencia. Para simulaciones más precisas, los investigadores han usado típicamente modelos de hardware – chips programables que pueden ser reconfigurados para imitar el comportamiento de chips de múltiples núcleos. De acuerdo a Myong Hyon Cho, un estudiante de doctorado en el Departamento de Ingeniería Eléctrica y Ciencia Computacional (EECS – Electrical Engineering and Computer Science) y uno de los desarrolladores de Hornet, éste está diseñado para complementar, no competir con, esos otros dos acercamientos. “Pensamos que Hornet se sienta en el punto exacto entre los dos”, dijo Cho.
Varias tareas desarrolladas por los muchos componentes de un chip están sincronizadas por un reloj maestro; durante cada “ciclo del reloj”, cada componente realiza una tarea. Hornet es significativamente más lento que sus predecesores, pero puede proveer una simulación “con precisión de ciclo” de un chip con 1,000 núcleos. “‘Precisión de ciclos’ significa que los resultados son precisos al nivel de un ciclo sencillo”, explica Cho. “Por ejemplo, [Hornet tiene] la habilidad de decir, ‘Esta tarea toma 1,223,392 ciclos para finalizar'”.
Simuladores existentes son buenos al evaluar el desempeño general de chips, pero pueden dejar pasar problemas que aparecen solo en casos raros y patológicos. Hornet es mucho más probable que los encuentre, como lo hizo en el caso de la investigación presentada en el Simposio Reden-en-Chip. Ahí, Cho, su consejero y el profesor de Ingeniería Eléctrica y Ciencia Computacional Srini Devadas, y sus colegas analizaron una prometedora técnica de computación de múltiples núcleos en la que el chip pasa tareas computacionales a los núcleos guardando los datos pertinentes en lugar de pasar los datos a los núcleos realizando las tareas pertinentes. Hornet identificó el riesgo de un problema llamado bloqueo mutuo, que otros simuladores habían perdido. (El bloqueo mutuo es una situación en la que varios de los núcleos están esperando recursos – canales de comunicación o localidades de memoria – en uso por otros núcleos. Ningún núcleo abandonará el recurso hasta que se le ha dado acceso al que necesita, así que los ciclos del reloj avanzan sin fin sin ninguno de los núcleos haciendo nada).
Adicionalmente al identificar el riesgo de bloqueos mutuos, los investigadores también propusieron una manera de evitarlo – y demostraron que su propuesta funcionaba con otra simulación Hornet. Eso ilustra la ventaja de Hornet sobre sistemas de hardware: la facilidad con la que puede ser reconfigurado para probar propuestas de diseño alternativas.
Construir simulaciones que funcionaran en hardware “es más complicado que solo escribir software”, dice Edward Suh, un profesor asistente de ingeniería eléctrica y computacional en la Universidad Cornell, cuyo grupo usó una versión temprana de Hornet que solo modelaba la comunicación entre núcleos. “Es difícil decir si es inherentemente más difícil de escribir, pero al menos por ahora, hay menos infraestructura, y los estudiantes no saben esos lenguajes tan bien como saben los lenguajes de programación regulares. Así que por ahora, es más trabajo”. Hornet, dice Suh, podría tener ventajas en situaciones donde “quieres probar varias ideas rápidamente, con buena precisión”.
Suh apunta, sin embargo, que como Hornet es más lento que las simulaciones de hardware o las simulaciones de software menos precisas, “tiende a simular un corto período de la aplicación en lugar de tratar de ejecutar la aplicación completa”. Pero, agrega, “Eso es definitivamente útil si quieres saber si hay comportamientos anormales”. Y además, “hay técnicas que la gente usa, como muestreo estadístico, o cosas como esa para, digamos, ‘estas son porciones representativas de la aplicación'”.
Reimpreso con permiso de MIT News.
Fuente
http://web.mit.edu/