La revolución de la GPU

La familia x86 se ha caracterizado porque los nuevos lanzamientos de procesadores tenían compatibilidad retroactiva con sus hermanos menores. Esto quiere decir que todos los desarrollos de software podían utilizarse virtualmente en procesadores mas modernos sin tener que adaptar el código fuente del programa y en la mayoría de los casos sin ni siquiera compilar de nuevo.

Este sistema que ha dado tantos réditos a los desarrolladores de software, permitía que un software lento y perezoso actual pudiera ejecutarse muy rápidamente pasados solo unos meses debido al avance del hardware. Los programadores solo teníamos que “esperar”.

A partir del año 2003 pudimos comprobar como esta manera de crear y desarrollar tanto hardware como software estaba empezando a tocar su fin. El principal material utilizado en la industria del hardware para fabricar los componentes de un sistema, el silicio, estaba empezando a mostrar sus limitaciones físicas, impuestas por la disipación de calor y se pensó en desarrollar otro tipo de arquitectura que nos permitiese seguir avanzando en el desarrollo de hardware a la misma velocidad que hasta ahora.

La respuesta a este problema fue el desarrollo de arquitecturas paralelas en ordenadores de sobremesa y sistemas domésticos. Estas arquitecturas paralelas no basan su desarrollo en el incremento de la frecuencia de trabajo del microprocesador como único parámetro para evaluar su rendimiento o velocidad, sino que utilizan múltiples núcleos de proceso con sus consiguientes ventajas e inconvenientes.

La ventaja principal es que nuevamente podemos seguir avanzando de la misma forma vertiginosa como lo estábamos haciendo hasta ahora, pero el principal inconveniente se nos presenta con todo el software que no ha sido o no va a ser desarrollado teniendo en cuenta este nuevo paradigma de la programación.

El mundo de la informática avanza a pasos agigantados. No sabemos que nos deparará el futuro pero en el presente mas actual, la programación paralela va a jugar un papel muy importante al que todos los ingenieros del software nos tendríamos que adaptar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *