En la universidad de Murcia hubo una charla sobre los dual core. El ponente era un ingeniero de Intel de Barcelona, y la audiencia eramos alumnos de arquitectura de procesadores, por lo que fué bastante tecnica. Quiero decir que no había graficas a todo color sobre el rendimiento de los filtros de photoshop o los FPS de doom 3. Iba mas bien sobre los problemas de la integración a mas de 4Ghz. Los problemas de sicronización interna empezaban a ser muy serios, las fugas en los contactos, el calentamiento.. etc etc. La conclusión era que Intel desde hace muchos años vio claro que el (único) camino a seguir es la explotación del paralelismo.
Esto viene de tiempo, se ve venir una nueva evolución, que toca toda la pila de software. Desde los sistemas operativos con algoritmos de migración de procesos, o como se ha dicho ya, asignar uso exclusivo de un micro a un proceso, hasta las aplicaciones de usuario que hagan uso intensivo de hilos. Una gran lectura sobre el tema es
The free lunch is over [www.gotw.ca].
En esta conferencia se dijo, creo recordar sin exagerar, que para el 2012 habrian micros con 32 cores. Este cambio de paradigma es solo comparable con la introducción de la memoria virtual y la multiprogramación.
Tu comentario es demasiado interesante, pero el futuro sera del multiprocesamiento simetrico?, o sera que la programacion se adaptara al por ahora indomable procesador Cell, asimetrico si no estoy mal (si lo estoy ruego excusas).
Si vamos a llegar a los 32 nucleos no creo que estemos lejos de los problemas de calor y consumo de energia de las maquinas de los 50's.
Yo creo que el problema no esta en los procesadores, sino en la calidad de la programacion, con el paso del tiempo el software consume mas maquina y memoria, quiza si cambiaramos el paradigma de hacer los CPU mas reapidos se enfoque en una programacion de nivel mas bajo y mas eficiente (Mas C++, mas Assembler, menos .NET, menos Java) se lograrian soluciones sencillas a problemas como los de hoy.
Porque no hacer un ensamblador mas facil en lugar de hacer un sencillo .NET o java que trabajan en niveles muy altos de ejecucion?
Aparte de la desincronización y generar miles de malas predicciones de ramas hay otro tema que, de momento, no he visto mencionado en ningún comentario: el coste del paso de los datos entre los cores. El Cell de la PS3 viene con un controlador (DMCA creo que se llama) que soporta N terabytes por segundo, pero 'sólo' tiene 8 SPUs a las que informar. Un micro con 32 cores no creo que ofrezca mucho más rendimiento _real_ que uno a 4. A partir de 4 creo que hemos topado con el cuello de botella de esta nueva estrategia consistente duplicar hardware.
Cambio de paradigma
(Puntos:2)( http://barrapunto.com/ )
En la universidad de Murcia hubo una charla sobre los dual core. El ponente era un ingeniero de Intel de Barcelona, y la audiencia eramos alumnos de arquitectura de procesadores, por lo que fué bastante tecnica. Quiero decir que no había graficas a todo color sobre el rendimiento de los filtros de photoshop o los FPS de doom 3. Iba mas bien sobre los problemas de la integración a mas de 4Ghz. Los problemas de sicronización interna empezaban a ser muy serios, las fugas en los contactos, el calentamiento.. etc etc. La conclusión era que Intel desde hace muchos años vio claro que el (único) camino a seguir es la explotación del paralelismo.
Esto viene de tiempo, se ve venir una nueva evolución, que toca toda la pila de software. Desde los sistemas operativos con algoritmos de migración de procesos, o como se ha dicho ya, asignar uso exclusivo de un micro a un proceso, hasta las aplicaciones de usuario que hagan uso intensivo de hilos. Una gran lectura sobre el tema es The free lunch is over [www.gotw.ca].
En esta conferencia se dijo, creo recordar sin exagerar, que para el 2012 habrian micros con 32 cores. Este cambio de paradigma es solo comparable con la introducción de la memoria virtual y la multiprogramación.
La uniformidad no es necesaria para la unidad
Re:Cambio de paradigma
(Puntos:1)( http://barrapunto.com/~saisyukusanagi | Última bitácora: Viernes, 20 Junio de 2008, 05:04h )
Si vamos a llegar a los 32 nucleos no creo que estemos lejos de los problemas de calor y consumo de energia de las maquinas de los 50's.
Yo creo que el problema no esta en los procesadores, sino en la calidad de la programacion, con el paso del tiempo el software consume mas maquina y memoria, quiza si cambiaramos el paradigma de hacer los CPU mas reapidos se enfoque en una programacion de nivel mas bajo y mas eficiente (Mas C++, mas Assembler, menos .NET, menos Java) se lograrian soluciones sencillas a problemas como los de hoy.
Porque no hacer un ensamblador mas facil en lugar de hacer un sencillo .NET o java que trabajan en niveles muy altos de ejecucion?
Me anticipo a la respuesta??? ... $$$$$
Re:Cambio de paradigma
(Puntos:2)( http://www.fluzo.org/ )
--
atrapado por tu moda [fluzo.org]