Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Gustafson, Amdahl, Moore y otros menesteres.

Vivimos bajo el paraguas de un mercado tecnológico que crece constantemente y nos arrastra a adquirir nuevos equipos, terminales, dispositivos, para no estar desfasados, estar a la moda, poseer lo mejor de lo mejor, lo más cool.

Aunque no es un efecto que se produzca en la mayoría, no somos realmente conscientes que muchas tecnologías que nos venden aunque avanzadas no ofrecen mejoras notables respecto a lo que ya tenemos. Si a esto le sumamos la obsolescencia programada, muchas veces no tememos más remedio que realizar el cambio, puesto que los fabricantes nos llevan a ello, al consumo.

Me gustaría aclarar en esta entrada una serie de cuestiones relacionadas con la velocidad de los procesadores y sus núcleos. En concreto, recientemente he observado ciertos comentarios de usuarios que presumen de terminales móviles alardeando de que poseen 8 núcleos, cámaras de 12 Megapixel, velocidades de proceso altas expresadas en Megahercios.

Realmente se habla desde el desconocimiento. No todo es oro lo que reluce, no tenemos que fiarnos sólo de los números, sino de dos palabras. Rendimiento y conjunto.

Ni un procesador de 8 núcleos puede dar mejor rendimiento que uno de 4 si no se encuentra equilibrado. Ni un procesador de más megahercios supone una mayor rendimiento que otro inferior en velocidad , así como una cámara de 12 megapixel puede perfectamente hacer peores fotos que una de 4.

Recuerda esta premisa: «Cuando compres algo busca el rendimiento del conjunto.»

Todo es relativo a un conjunto y posee un rendimiento.

Intentare explicarme.

Respecto al microprocesador, tal y como digo Moore en el 65, cada dos años (luego rectificó a 18 meses) se duplica el número de transistores de un circuito integrado (CI). Aunque no es una ley en el sentido científico, sino más bien una observación, ha sentado las bases de grandes saltos de progreso durante muchos, muchos años. Aunque muchos siguen afirmando la “ley”,  a mi juicio falla, puesto que la consecuencia directa de la ley de Moore es que los precios bajan al mismo tiempo que las prestaciones suben, y esto no es del todo cierto. Aunque los precios han bajado por mercado, demanda y abaratamiento de costes , ahora  bajo esa ley y desde su origen, los ordenadores y cualquier producto de informática, sus precios serian cosa de céntimos y no de cientos de euros. Y es que es lógico, los fabricantes tienen que seguir obteniendo  beneficios.

Bueno, aunque el nivel de miniaturización no pueda mantenerse indefinidamente, hay otras formas de integración que pueden doblar la potencia de los ordenadores al ritmo esperado. Los procesadores de doble núcleo o las nuevas formas de conectar los transistores para ahorrar espacio y evitar pérdidas de calor son un buen ejemplo.

Los procesadores han sido uno de los componentes informáticos que más ha evolucionado. Lo que en un principio era una evolución constante de velocidades, y que predecía que se derivase hacia los sistemas multiprocesador, la tendencia fue diferente, y pasamos a tener más cores o núcleos por procesador. Cuando escuchamos que un micro es de 2,4,8 núcleos, significa que dentro del micro existen pequeños chips que se encargan de procesar datos. La gran ventaja es el procesamiento en paralelo, ganar velocidad, mejoras en la simultaneidad, multitarea  y la importante miniaturización.

Cada núcleo funciona de forma independiente, tiene su propia cache, pero a diferencia de lo que sabemos comparten plataforma y bus de datos, lo que hace que el rendimiento sea mejor que los sistemas multiprocesador. Claro el costo es mejor y la miniaturización también.

Además la gran mayoría de los sistemas operativos actuales, no se encuentran optimizados para trabajar con cuatro y ocho núcleos.

Según estudios realizados, tener más de 4 núcleos puede ser contraproducente porque los procesadores poseen un único bus de memoria no suficientemente grande para abastecer a todos los núcleos. Esto genera un cuello de botella y logra que el rendimiento caiga.

Por lo tanto, la diferencia de rendimiento de 4 a 8 núcleos es prácticamente nula. En más eficaz tener 2 micros de 4 núcleos que 1 de ocho.

Aquí entra en juego una ley, la de Gustafson  o conocida como ley de Barsis. Esta ley expone que cualquier tipo de problema, en nuestro caso proceso, “suficientemente grande” puede ser eficientemente paralelizado.

Otra ley, la ley de Amdahl presenta una limitación, contraria a la de Gustafson. Por ejemplo, la capacidad de los núcleos múltiples de reducir el tiempo que toma a una computadora iniciar su sistema operativo y estar lista para el uso. Amdhal No considera a diferencia de Gustafson que un crecimiento del paralelismo suponga un aumento en la velocidad.

Asumiendo que el proceso de iniciado fuera mayormente paralelizado, cuadruplicando el poder de cómputo en un sistema que toma un minuto para cargar, podría cargar en solo 15 segundos.

Pero mayor paralelización fallaría eventualmente en hacer el inicio más rápido, si alguna parte del proceso de inicio fuera esencialmente secuencial.

La ley de Gustafson argumenta que un aumento cuádruple del poder de cómputo conllevaría a un incremento similar en las capacidades del sistema. Si un minuto de tiempo de inicio de un sistema es aceptable para la mayoría de los usuarios, entonces esto es un punto de inicio desde donde incrementar las funcionalidades y características del sistema. El tiempo de inicio del sistema operativo se mantendrá igual, o sea un minuto, pero el nuevo sistema incluirá mejores características gráficas y funcionalidades para el usuario.

La ley de Gustafson propone que los programadores establezcan el tamaño de los problemas para utilizar el equipamiento disponible en su solución en un tiempo práctico. Por consiguiente, si existe equipamiento más rápido disponible, mayores problemas se pondrán resolver en el mismo tiempo. Pero lamentablemente eso no se hace.

Puesto que la mayor parte de las aplicaciones no se desarrollan aprovechando todos los núcleos. Ni tampoco los núcleos poseen su potencial de comunicación dedicado al completo.

La ley de Amdah aunque ya “obsoleta” es correcta para estos sistemas. No podemos paralelizar más cuando incrementamos núcleos, puesto que la constante del bus nos lo limita.

Gustafson estaría en lo cierto si el acceso de cada núcleo al bus fuese independiente, y por su puesto contando con el esfuerzo por parte de los programadores de paralelizar.

Espero que estas conjeturas sean correctas e interesantes.

 

Etiquetas:

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Home Hardware Gustafson, Amdahl, Moore y otros menesteres.
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies