[escepticos] No pienses en un elefante

Tei oscar.vives en gmail.com
Jue Ago 23 11:38:56 WEST 2012


2012/8/23 José Ángel Morente <joseangel at morente.org>:
...
> Parece ser que se ha llegado a algún tipo de límite en la capacidad de
> proceso de una CPU normal, especialmente en lo que se refiere a
> frecuencia de reloj. De ahí que se haya optado por los núcleos
> múltiples (aparte de todos los ingeniosos tipos de optimización que
> tienen las CPUs modernas).

Creo que el tener varioas unidades de ejecucion es algo que siempre se
ha practicado en el diseño de CPU's.
El tipico branching predictivo, .. tienes dos unidades de ejecucion, y
cuando se llega a un branch, se ejecuta el codigo en las dos unidades,
si hay suerte, para cuando terminan de ejecutarse ya ha llegado el
dato de la memoria que permite decidir cual de las dos se puede
descartar.

El tener varios nucleos igual es mas engorroso, pero permite utilizar
programacion paralela a los programas.

> Pero claro, llegará un momento en que para ciertas tareas o en ciertos
> sistemas, el tener varios núcleos no aportará demasiado o no
> solucionará problemas de rendimiento.

Un Windows o un Linux normal tengan en ejecucion a lo mejor 30
programas todo el tiempo, incluso cuando "no esta haciendo nada".  Asi
que sera hardware que se aprovechara.

Mas bien habria que preguntarse si es posible seguir haciendo los
programas mas veloces, en un crecimiento lineal, si en vez de tener
mas cpu mas veloces, tenemos mas cpu's.

En problemas no paralelizables esto directamente no es posible. En
programas con algunos grados de paralelismo, dependera como y con que
esten programados.

Tambien hay algoritmos como "consumidor productor" especificos de la
programacion paralela, que si se aplican se pueden obtener grandes
ventajas. Los programadores tendran que aprender estos algoritmos si o
si.



-- 
--
ℱin del ℳensaje.


Más información sobre la lista de distribución Escepticos