Cinco años desde la aparición de los ordenadores «multicore»

En 2010 se hacen cinco años desde que se lanzaron al mercado los primeros sistemas de varios núcleos de procesamiento. Básicamente todo programa sobre una plataforma de consumo anterior se ejecutaba a una cierta velocidad debido a la frecuencia de reloj a la que se sometía el procesador. Todos hemos sido testigos de los aumentos en las prestaciones de los equipos, desde 1 MHz, 16 MHz, 20 MHz (¿os acordáis del botón turbo?), 33 MHz, 233MHz, 900MHZ, 1.2GHz, 2.0GHz, 2.4GHz, 3.0GHz, 3.2 GHz, 3.6GHz y muchos otros valores intermedios. Un mismo programa mejoraba sus prestaciones y su ejecución era más rápida, el videojuego era más interactivo o la gráfica se calculaba más rápidamente. En 2005 se empezaron a lanzar procesadores de consumo que incluían 2 núcleos de cómputo. Compartían ciertos recursos hardware pero de manera eficiente se podían ejecutar 2 programas simultánemente sin compartir tiempo de procesador, o que un mismo programa se ejecutara desde 2 núcleos de procesamiento. La pregunta ahora sería, ¿ha cambiado mucho desde entonces?

compaq386sx25

Quizá la respuesta sea que no demasiado, no hemos sido testigos de grandes mejoras en el rendimiento de una misma aplicación porque ha habido dos barreras importantes. Una es que a mayor número de núcleos, resultaba más eficiente mantener la frecuencia de reloj por debajo de sus máximos históricos, y la segunda es que los programas no estaban preparados para ejecutarse desde dos núcleos de procesamiento relativamente independientes. Lo que sí que hemos podido percibir es que pudiéramos ejecutar más aplicaciones sobre un mismo equipo. Inicialmente, los primeros multinúcleos o multicores estaban basados en dos unidades de procesamiento y poco a poco se reemplazará toda la base instalada para alojar dual cores , quad cores, hexa cores, etc. Será entonces cuando la mentalidad de todo desarrollador se vea modificada, y necesariamente los programas se desarrollen para trabajar con los varios núcleos de cómputo de la plataforma estándar.

Las herramientas de consumo para el desarrollo de software están incluyendo progresivamente soporte para la programación paralela, el cambio está a la vuelta de la esquina. Dejamos al lector un enlace interesante que habla de esto mismo: http://www.drdobbs.com/go-parallel/blog/archives/2010/03/think_parallel_1.html

Compartir:

2 comentarios

Deja un comentario