La potencia de computación pone la directa
La tecnología de procesador multinúcleo, que combina dos o más núcleos de procesadores en un único chip de silicio, permite que los ordenadores realicen tareas distintas al mismo tiempo, lo que aumenta el rendimiento. Para sacar el mayor provecho posible a este aumento de la potencia de computación, deben crearse programas adaptados a la tecnología de procesador multinúcleo. El proyecto VELOX («Un enfoque integral a la memoria transaccional en ordenadores multinúcleo»), que dispone de una financiación comunitaria de cuatro millones de euros, pretende desarrollar dichos programas. Los socios del proyecto creen que su programa podría colaborar en la transformación de portátiles normales en superordenadores. Los ordenadores han pasado a formar parte de nuestra vida diaria. Para mantenerse al ritmo de la demanda de velocidad, los fabricantes de ordenadores de todo el mundo están buscando la forma de hacer que sus máquinas rindan más. Uno de esos descubrimientos es el procesador multinúcleo, que se sirve de varios procesadores para ejecutar varias tareas de forma simultánea. Es como si añadiéramos más pistones a un motor, transformando un vehículo de dos cilindros en uno de cuatro. Pero instalar un motor más rápido en un ordenador no implica necesariamente un aumento equivalente de su velocidad. La potencia aumentará sólo si se ponen a funcionar los nuevos cilindros. Si se añaden núcleos a un ordenador, sería esperable que incrementara su potencia. Sin embargo, en realidad el sistema sigue pensando que sólo tiene por ejemplo dos, dejando los demás parados. Para aprovechar la potencia de procesado añadida, los programadores tienen que dar instrucciones a cada núcleo de procesado para que trabaje en paralelo con otro. En los sistemas de núcleo único, el código de los programas funciona básicamente de forma secuencial, suministrando al procesador una tarea detrás de otra. En cambio, en los sistemas de núcleo múltiple las tareas se reparten entre los núcleos. Cuando se acumulan distintas tareas que piden acceso a datos situados en el mismo espacio de memoria, pude ocurrir que no se sincronicen como es debido. Esta situación tiene como resultado la corrupción de los datos y provoca que el sistema se cuelgue. Por lo tanto, es necesario encontrar una manera coordinada y ordenada de acceder a los datos compartidos que asegure que la programación paralela funcione sin problemas. Hasta ahora, el método de «cerrojo de grano fino», que protege pequeñas cantidades de código o de datos, ha sido el método de coordinación preferido por los programadores dedicados al multinúcleo, por su capacidad para lidiar con tareas concurrentes. No obstante, se cree que estos cerrojos enmarañan el código y dificultan las tareas de mantenimiento y depuración del mismo. A modo de alternativa, el proyecto VELOX quiere desarrollar una sistema de programación de software de memoria transaccional (TM). Este sistema, que combina secuencias de operaciones concurrentes en transacciones atómicas, promete reducir en buena medida la complejidad tanto al programar como al verificar, al hacer que partes del código aparezcan como secuenciales sin necesidad de programar cerrojos de grano fino. Las transacciones ahorran al programador la tarea de averiguar la interacción entre las operaciones concurrentes que podrían entrar en conflicto al acceder a los mismos espacios de memoria. «Gracias a las capacidades complementarias de sus socios, [el proyecto] allanará el camino para que destacados investigadores europeos contribuyan significativamente a la revolución que está en marcha, a fin de que la programación en paralelo sea más asequible para las masas», declaró Osman Unsal del Centro de Supercomputación de Barcelona (BSC) y director del proyecto VELOX. «El proyecto VELOX es crucial para conseguir que las aplicaciones de supercomputación de hoy en día puedan ejecutarse en ordenadores portátiles en un futuro cercano», opina Mateo Valero, director del BSC. El proyecto lo coordina el BSC y agrupa a nueve socios distintos entre los que hay organizaciones punteras de investigación e integración de sistemas. Hay instituciones académicas como la Universidad de Neuchâtel, la Universidad Tecnológica de Dresde, El Instituto Federal Suizo de Tecnología de Lausana, la Universidad de Tel Aviv, la Universidad Tecnológica de Chalmers, así como integradores de primer nivel de la industria informática como AMD, Red Hat y VirtualLogix SAS.