211service.com
Los procesadores multinúcleo crean problemas de software
Durante décadas, mejorar el rendimiento del procesador significó aumentar la velocidad del reloj de un chip. La recompensa fue inmediatamente obvia para los usuarios: las aplicaciones se ejecutaron más rápido. Pero un chip más rápido consume más electricidad, agotando las baterías de los dispositivos móviles. En consecuencia, los fabricantes de chips pasaron a diseños multinúcleo que ahorran energía, donde varios procesadores de bajo consumo en un solo chip se combinan para replicar el rendimiento de un solo procesador más rápido. (ver Diseño para la movilidad) .
Desafortunadamente, las aplicaciones en sistemas multinúcleo no se vuelven más rápidas automáticamente a medida que se agregan núcleos. El software debe estar escrito para aprovechar la potencia de procesamiento en paralelo. Y escribir programas que se ejecuten de manera eficiente y estable en varios núcleos es difícil. A menos que resolvamos este problema de programación, dice Prith Banerjee, vicepresidente senior de investigación de Hewlett-Packard, los usuarios no verán ninguna ventaja de velocidad en los nuevos microprocesadores. Banerjee agrega: Este es un problema muy fundamental.
TOMA DE DATOS
8.2 gigahercios El récord de velocidad actual para un microprocesador de escritorio, logrado por entusiastas que overclockearon un chip diseñado para funcionar a tres gigahercios. Para evitar que el chip se derrita, se enfrió con nitrógeno líquido.Una solución potencial prometedora es sacar a los programadores humanos del circuito tanto como sea posible: en lugar de que los programadores individuales averigüen cómo hacer que sus aplicaciones se ejecuten en dos, cuatro o más núcleos, los detalles confusos podrían dejarse en manos de los compiladores, el software utilizado para convertir lenguajes de programación de alto nivel en el código de máquina que una computadora puede entender. Todas las principales empresas de software y chips, junto con muchos investigadores académicos, están trabajando para desarrollar compiladores que puedan manejar tales tareas. El mayor obstáculo es que es difícil identificar las partes de un programa que no dependen de otras partes, de modo que un núcleo no se quede inactivo mientras espera algún dato. Simplemente persuadir a los desarrolladores para que escriban programas más limpios, con interfaces bien definidas entre bloques de código, facilitaría mucho el trabajo, dice Wen-mei Hwu, profesor de ingeniería eléctrica e informática en la Universidad de Illinois. Pero estima que pasarán cinco años antes de que los compiladores multinúcleo y las prácticas de programación coincidente se difundan en la industria informática.