Enero 2010

Intel Atom, explicado

O, al menos, la explicación que me hubiese gustado leer antes de comprar mi Aspire One.

Si vamos a la página de características del Atom N270, vemos que tiene un único núcleo y la tecnología Hyper-Threading (HT), sobre la cual escribí hace poco. Dado que este es un procesador destinado al mercado de los sistemas empotrados y, de rebote, a ordenadores de muy bajo consumo, parece lógico usar un sólo núcleo. La pregunta es: ¿cómo se llega a ese bajo consumo con un rendimiento razonable?

La carrera del gigahertz hace tiempo que, por fortuna, dio paso a la carrera del rendimiento. Prueba de ello es que hay arquitecturas que, a la misma velocidad de reloj, son más rápidas que otras. La optimización ha venido de la mano de mejoras internas, paralelismo y cambios en los diseños de los buses externos. Para la comparación utilizaré el Intel Atom N270 y el Intel Core 2 Duo E2140, ambos a 1,6GHz, haciendo tareas de compresión de audio.

Si tomamos un fichero de música en formato FLAC y lo convertimos a Vorbis de calidad 5 (una prueba no sintética, sino del mundo real, al menos del mío), obtenemos una velocidad de conversión de aproximadamente 5x en el caso del Atom y de 11,7x en el E2140. En ambos, el procesador se puso a la máxima velocidad, es decir, a 1,6GHz. Mirando las gráficas de rendimiento del procesador, el E2140 ejecutó toda la tarea en el mismo núcleo, mientras que el Atom se repartió entre ambos cauces HT, llegando al 100% de uno de ellos y de un 30 a un 38% del otro. Teniendo en cuenta que se estaba operando desde X Window, es de imaginar que alguna tarea secundaria estaría también consumiendo recursos, pero dado que esto era cierto en ambas máquinas, hay que suponer que la prueba está más o menos compensada.

Lo que resulta de más interés en todo esto es que, observando la gráfica del rendimiento, en el caso del Atom de vez en cuando se pasaba del 100% a un 30% en uno de los cauces, invirtiéndose en el otro. Es decir, ambos se pasaban la tarea de uno a otro. Dado que un cauce puede estar ocupado en un momento determinado, el otro asume la tarea en la medida de sus posibilidades, mientras que cuando el caso es a la inversa, de nuevo se turna para que el procesador siempre tenga instrucciones que ejecutar. ¿El resultado? Un aumento de rendimiento de un 30 a un 38% en las pruebas. Esto equivaldría a un sólo núcleo a unos 2,2GHz sin un aumento notable del consumo, lo cual justifica plenamente la existencia de HT en este pequeño procesador.

Aún así, hay una diferencia bastante grande de rendimiento comparado con el E2140. ¿Qué cambios de arquitectura lo explican? Los tamaños y velocidades de las memorias caché internas pueden tener que ver, pero existe algo aún más importante: el Atom, cuyo objetivo es consumir la menor energía posible, es un procesador que interpreta el flujo de instrucciones tal como le llega. En otras palabras, no tiene la circutería de otros procesadores más potentes, necesaria para la reordenación de instrucciones, que posibilitaría la ejecución fuera de secuencia. Esto hace que, si el código no está especialmente adaptado a la arquitectura del Atom, las instrucciones se ejecuten de una manera menos eficaz de la que podría ser. Lo cual, finalmente, viene a ser la clave del equilibrio entre rendimiento y consumo.

En resumen: el Atom, un procesador de compromiso que suple con eficacia sus carencias con sus habilidades, posibilitando que un sistema alimentado por baterías pueda darnos horas y horas de diversión (o trabajo) con una sola carga. Aunque, eso sí: es poco probable que se convierta en el caballo de batalla de la próxima granja de síntesis de imágenes de Weta Digital :)

system

Comments (0)

Permalink

SXCE B130: fin del camino

Es un hecho. Hace una semana (perdón por la tardanza) se publicó la consolidación B130 de Solaris Express Community Edition. Este hecho no tendría mayor relevancia de no ser porque, tal como explicó Alan Coopersmith antes y después de dicha publicación, SXCE B130 es la última que se hará con soporte para paquetes SVR4 y conteniendo, entre otras cosas, Xsun, los controladores para tarjetas gráficas con código de terceros y CDE.

Para más complicación de la historia, cuando acabe enero se BORRARÁN todas las imágenes de instalación de SXCE de los repositorios de Sun, por lo que actualmente se trata de una carrera contra reloj para conseguir la versión favorita de cada uno. Desde ese momento, las siguientes consolidaciones únicamente emplearán el código que pueda ser publicado en OpenSolaris, y en el formato de paquetes IPS.

Esto significa que, por ejemplo, si sois los afortunados poseedores de una Blade 1000, vuestra mejor opción es pillar la B130 (o alguna que sepáis estable) AHORA MISMO e instalarla para estar a la última (literalmente) antes de que sea demasiado tarde. Yo ya lo estoy haciendo.

Si Sun seguirá actualizando Solaris 10, es para mí un misterio en este momento. Es probable, pero yo no contaría con la compatibilidad con SXCE. OpenSolaris 2010.03 saldrá, para sorpresa de nadie, en marzo. Si será un digno sustituto (controladores aparte), está por ver.

Suerte y buena caza.

system

Comments (2)

Permalink

Intel TurboBoost e Hyper-Threading, explicados

Supongo que en el titular hay más de una marca registrada, así que si los chicos de la empresa que antes tenía una “e” por debajo de la línea de escritura me llaman, me disculparé.

Bien, últimamente y a raíz de la aparición en el CES 2010 de ultraportátiles basados en los nuevos procesadores Core i7 mobile se ha hablado bastante de estas dos tecnologías. La primera se estrenó con la versión de sobremesa del Core i7, mientras que la segunda se ha reestrenado (al parecer, con mejor acierto) en el antedicho procesador, si bien data de hace unos años.

En efecto, Turbo Boost (TB), es una tecnología reciente que representa una solución bastante ingeniosa a un problema del mundo real, teniendo en cuenta todos los parámetros implicados (¿será la primera vez que esto ocurre en el mundo de los ordenadores?). Tenemos un procesador con varios nucleos (en el caso del Core i7, cuatro si es de sobremesa; cuatro si es para portátil de gama alta y dos si es para ultraportátil, además de un procesador gráfico más o menos elemental). Si queremos mantener la máxima potencia disipable (TDP, aunque las siglas significan otra cosa) dentro de los límites para que el circuito integrado no se queme, es evidente que habrá que jugar con la tensión de alimentación y la velocidad de reloj para conseguirlo. Además, el problema se agrava porque cada “núcleo” es un procesador completo, y eso significa que vamos a tener que tener en cuenta su actividad. El sistema TB hace justamente eso: a partir de la medición interna de la temperatura, sube la frecuencia de los núcleos mientras sea posible mantener la disipación de energía. Pero si hay menos núcleos activos, calcula cuánto se puede subir la frecuencia de los que quedan; hasta que si sólo se usa uno, la frecuencia puede superar hasta en un 50% (a veces más, a veces menos) a la original.

Vamos a por el siguiente mito: ¿significa esto que estamos ante un magnífico ejemplar para practicar el deporte del overclocking (acelerar el procesador más allá de los límites del fabricante)? Al igual que un procesador menos sofisticado, todo dependerá de en cuanto valoremos nuestros datos y de qué sistemas de refrigeración estemos dispuestos a instalar. Mi recomendación es que los experimentos se hagan en casa y con gaseosa, pero para los aventureros: que un sólo núcleo pueda acelerarse un 50% no significa que el sistema sea estable cuando esta condición se aplica a cuatro núcleos. Además de la temperatura hay que tener en cuenta la alimentación y cómo se afectan entre sí los núcleos y al procesador gráfico incorporado (si existe).

Por otra parte, ya en las versiones más modernas del Pentium 4 (2003) se incorporó Hyper-Threading (HT), que se vendió como una panacea para aumentar la potencia de cálculo, mostrándose ante el sistema como dos procesadores lógicos (que no físicos). Lo cierto es que el aumento de rendimiento era (y sigue siendo) modesto, pero dado el coste que tiene en hardware (ridículo), era una alternativa antes (y un complemento ahora) de los demás avances en tecnología. Entre que la imagen de Intel por aquel entonces sufrió varios reveses y que el aumento en rendimiento era discutible (a veces, causaba una disminución), la cosa no gozó de la popularidad que hubiera podido merecer.

Con el Core i7 parece que están decididos a hacerlo mejor: dado que este invento se basa en usar elementos de los cauces de proceso que de otro modo estarían inactivos, Intel ha aumentado la redundancia de los mismos, además de duplicar el juego de registros. Otros elemento más costosos, como la ALU o la unidad de coma flotante, no lo están, por lo que sólo las operaciones que requieran los servicios de unidades distintas podrán simultanearse. Llenar los cauces lleva su tiempo, por lo que si una instrucción tiene que esperar, puede darse el caso de que el rendimiento baje, en vez de subir. En la práctica, dependerá mucho del tipo de aplicación que se vaya a ejecutar, pero en general se puede decir que el aumento, aun siendo modesto, se va a producir.

Un mito que convendría despejar: el HT no va a causar un aumento desproporcionado del consumo de energía, pues la mayoría de los elementos (si no todos) que entran en juego están ahí siempre.

¿Qué prepara AMD para combatir estas tecnologías? La respuesta no creo que se haga esperar mucho…

system

Comments (1)

Permalink

Batida la marca de cálculo de dígitos de Pi con un ordenador corriente

… o no tan corriente. En cualquier caso, uno que cualquiera que ahorre un poco (o pida un cŕedito pequeño) se puede permitir: unos 2000€ en un sistema basado en Intel Core i7; de los cuales seguramente una parte importante se fue a almacenamiento (cinco discos de 1,5TiB).

El artífice del logro no es otro que Fabrice Bellard, un nombre conocido en los círculos tecnológicos y que seguramente sonará a los usuarios más avanzados de Linux (sin ir más lejos, ffmpeg es una de sus creaciones más usadas en la conversión de ficheros multimedia). Como él mismo dice, la gracia de batir esta marca no está en el tiempo (la anterior tardó 29 horas frente a sus 131 días), sino en la relación entre la potencia del algoritmo utilizado (comparativamente, 20 veces mejor en este caso) y el coste del equipo usado (millones de euros frente a un par de miles).

Lo cual, finalmente, nos hace llegar a varias conclusiones. La primera, que los ordenadores “corrientes” de hoy en día están llegando a tener una potencia que algunos no hubieran ni soñado hace algunos años. La segunda, que siempre el ingenio será más importante que la fuerza bruta (sin menospreciar a quien batió la anterior marca). Y la tercera, que tal vez Intel debería renombrar su línea de procesadores Core i7. Creo que Core Pi sería un nombre adecuado ;)

system

Comments (0)

Permalink

Switch to our mobile site