Nuevo diseño de software para que programas de uso común funcionen más rápido
(NC&T) Los investigadores han encontrado un modo de ejecutar al mismo tiempo diferentes partes de algunos programas, incluyendo, por primera vez, programas de uso común tales como procesadores de texto y navegadores web. Esa ejecución paralela de diversas partes de un programa hace que éste funcione con mayor eficiencia y velocidad.
El cerebro de un ordenador es su unidad de procesamiento central, o "núcleo". La tecnología de la computación ha avanzado hasta el punto en que no es raro en la actualidad contar con varios núcleos en cada ordenador. Pero para que un programa utilice estos núcleos, tiene que ser divido en "hilos" distintos, de modo que cada núcleo pueda ejecutar simultáneamente una parte diferente del programa. El proceso de dividir un programa en hilos se llama paralelización.
Sin embargo, algunos programas son difíciles de paralelizar, incluyendo a los procesadores de texto y los navegadores web. Estos programas operan de forma muy semejante a un organigrama o diagrama de flujo, en el sentido de que algunos elementos del programa dependen del resultado proporcionado por otros. Estos programas sólo pueden utilizar un núcleo a la vez, lo cual limita mucho el provecho que se les puede sacar a los ordenadores multinúcleo.
Ahora, los investigadores de la Universidad Estatal de Carolina del Norte han desarrollado una técnica que permite que se ejecuten en paralelo aplicaciones que resultan difíciles de paralelizar. Lo han conseguido mediante el uso de metodologías no tradicionales para descomponer los programas en hilos.
Yan Solihin y Devesh Tiwari han intervenido en este proyecto.