Proyecto SandyBridge

Introducción

Sandy Bridge es el nombre de la arquitectura utilizada en los procesadores inteligentes de segunda generación desarrollados por Intel. La característica más sobresaliente es la integración del procesador gráfico (GPU) en la misma pastilla de la unidad de procesamiento central (CPU), lo que permite realizar procesamiento gráfico sin la necesidad de utilizar una tarjeta gráfica discreta externa. Esto también conyeva una serie de ventajas en términos de rendimiento, como lo es la tecnología Intel Quick Sync, tecnología que permite una rápida transcodificación de videos de alta definición.

Figura 1: Arquitectura SandyBridge (modificado dexataka.com)

Configuración de equipos

Para determinar el deseempeño de realizar este grado de integración se han definido diferentes pruebas de de rendimiento con 4 equipos. La configuración de los equipos es la siguiente:

SandyBridge i7-2600k (4C/4T-8T)

CPU: Intel (R) Core (TM) i7-2600k (4CPUs/4Threads u 8Threads) @3.4GHz

RAM: 8GB (x4 2GB DDR3-1333 PC3-10700 @667MHz x64)

GPU: Intel (R) HD Graphics 3000 1696MB

Hard Drive: SATA 80GB estado sólido (INTEL SSDSA2MH080G1GN)

OS: Windows 7 Proffesional 64 bits.

Nota: Este procesador puede hacer uso de la tecnología HyperThreading (HT), que cambia la cantidad de Threads que el procesador puede soportar al mismo tiempo. Cuando HT está desactivado el procesador soporta 4 Threads al tiempo, y cuando está activado soporta hasta 8 Threads; algunos datos son mostrados teniendo en cuenta el uso de esta tecnología.

SandyBridge i5-2400 (4C/4T-8T)

CPU: Intel (R) Core (TM) i5-2400 (4CPUs/4Threads u 8Threads) @3.1GHz

RAM: 3GB (1GB DDR3-1333 PC3-10700 @667MHz + 2GB DDR3-1333 PC3-10700 @667MHz x64bits)

GPU: Intel (R) HD Graphics 3000 1284MB

Hard Drive: SATA 320GB @7200RPM

OS: Windows 7 Proffesional 64 bits.

Nota: Este procesador puede hacer uso de la tecnología HyperThreading (HT), que cambia la cantidad de Threads que el procesador puede soportar al mismo tiempo. Cuando HT está desactivado el procesador soporta 4 Threads al tiempo, y cuando está activado soporta hasta 8 Threads; algunos datos son mostrados teniendo en cuenta el uso de esta tecnología.

Gama Alta (4C/4T)

CPU: Intel (R) Core (TM) 2 Extreme Q6850 (4CPUs/4Threads) @3GHz.

RAM: 8GB (x4 2GB DDR2-800 PC2-6400 @400MHz)

GPU: nVidia Quadro FX 4600 768MB

Hard Drive: SATA-II 500GB @7200RPM

OS: Windows 7 Proffesional 64 bits.

Gama Media (2C/2T)

CPU: Intel (R) Core (TM) 2 Cuo E7300 (2CPUs/2Threads) @2.66GHz

RAM: 4GB (x2 2GB DDR2-800 PC2-6400 @400MHz)

GPU: nVidia GeForce 8400GS 512MB

Hard Drive: ATA 500GB 7200RPM

OS: Windows Vista Home Premium 64 bits

Las aplicaciones

Se utilizaron 2 proyectos que contienen modelos detallados para su visualización, provenientes del Laboratorio Colivrí de la Universidad de los Andes:

1. Museo del Oro (Multimedia)

2. Museo del Oro (H3D)

El primer proyecto es ejecutado en Flash, el segundo proyecto se ejecuta usando la plataforma de desarrollo H3D (H3D.org) cuyo renderizado se realiza mediante instrucciones OpenGL. El propósito principal de las aplicaciones es la visualización de diferentes modelos y la interacción con el usuario. Debido a que hay interacción con el usuario, se requiere que la visualización de aplicaciones se actualice rápido (60FPS para visualización 2D, 120FPS para visualización en 3D).

Además de estos proyectos se probaron 2 aplicaciones que hacen uso de DirectX 9 y 10; 12 videos de alta definición para pruebas de reproducción y transcodificación. Todas las pruebas fueron ejecutadas con una resolución de pantalla de 1280×1024.

Medición de rendimiento

Para el cálculo del rendimiento de los equipos con las aplicaciones se realizaron 2 tipos de mediciones: uso de CPU (%) y velocidad de renderizado de la GPU (FPS). Para efectuar éstas mediciones, se utilizaron 2 aplicaciones adicionales:

1. CPUsage: Es una aplicación hecha en Java que utiliza la librería javasysmon (jezhumble) para la captura del uso de la CPU.

2. FRAPS (fraps.com): Es un software que permite capturar la velocidad a la que se actualiza la imagen mostrada en OpenGL o DirectX.

Resultados aplicaciones Universidad de los Andes

Museo del Oro Multimedia

El proyecto consiste en la visualización de varios modelos del Museo del Oro 2D (Fotografías de 8 Megapixeles), ésta aplicación es ejecutada en Flash; y se ha medido el tiempo tomado para visualizar diferentes ángulos de 2 modelos.

Figura 2: Modelo 1 - Cubierta de Caracol.

Figura 3: Tiempo de carga modelo 1

Nota: Los valores más bajos indican mejor desempeño.

Figura 4: Modelo 2 - Alcarraza

Figura 5: Tiempo de carga modelo 2

Museo del Oro Háptico

Figura 6: Proyecto 2.

La aplicación consiste en la representación de diversos modelos 3D del Museo del Oro, entre los modelos se encuentra la zona física del Museo mismo y algunos artefactos de exhibición, la interacción con el usuario se realiza mediante el uso del dispositivo háptico Novint Falcon.

Figura 7: Desempeño CPU proyecto 2.

Nota: Los valores más bajos indican mejor desempeño.

Figura 8: Desempeño GPU proyecto 2.

Nota: Los valores más altos indican un mejor desempeño.

Comentarios

-En el proyecto de multimedia del Museo del Oro (Figura 3 y 5) se puede apreciar que todos los equipos tienen buenos tiempos de carga, sin embargo los equipos SandyBridge se destacan por tener los tiempos mas cortos, con cerca de la mitad de tiempo de carga.

-En el proyecto del Museo del Oro Háptico (Figura 8) los equipos de Gama Media y Gama Alta tuvieron el mejor desempeño gráfico 3D, sin embargo vale la pena mencionar que el equipo Sandy Bridge i7-2600k muestra un desempeño 3D comparable, no muy por debajo del equipo de gama Media.

Aplicaciones con DirectX 9 y 10

BusDriver (DX9)

Figura 9: Vista de la aplicación Bus Driver (Imagen tomada del juego, Copyright © SCS Software 2011)

La aplicación consiste en un simulador de conducción, cuyo objetivo es llevar a cabo una ruta de un bus urbano en un tiempo determinado sin cometer infracciones.

Figura 10: Uso de CPU en Bus Driver

Como es posible apreciar en la Figura 10, los equipos SandyBridge i7-2600k e i5-2400 poseen el menor uso de CPU de la aplicación cuando tienen HT activado, a estos le siguen los equipos de Gama Media y Alta.

Figura 11: Uso de GPU en Bus Driver

En la Figura 11 se observa que el equipo de Gama Alta posee el mejor rendimiento gráfico, seguido por los equipos i5-2400 e i7-2600k y el equipo de gama Media. Sin embargo hay que notar que en una aplicación que hace uso de DX9, SandyBridge tiene un rendimiento superior a un equipo de Gama Media, y aunque su desempeño no es mejor que un equipo de Gama Alta, la diferencia entre los dos no es tan alejada como en las aplicaciones que se mostraron en secciones anteriores.

Starcraft2 (DX10)

La aplicación es un juego de estrategia en tiempo real, el fin del juego es cumplir con una serie de objetivos en cada misión.

Figura 12: Vista de la aplicación Starcraft 2 (Imagen tomada del juego ©2010 Blizzard Entertainment)


Figura 13: Uso de CPU en Starcraft 2

En la Figura 13 se puede observar que los Equipos SandyBridge tienen un desempeño mejor que los equipos de Gama Media y Gama Alta al tener HT activado, una vez desactivados el HT, el uso de CPU prácticamente se duplica.

Figura 14: Uso de GPU en Starcraft 2

En la figura 14 se puede observar que el equipo de Gama Alta sigue teniendo el mejor desempeño, seguido por los equipos Sandy Bridge i5-2400, i7-2600k y Gama Media, nótese que los valores de FPS han cambiado de manera significativa cuando se activa y desactiva el Hyper Threading en los equipos Sandy Bridge, esto se debe a que la aplicación aprovecha el uso de varios núcleos en la CPU.

Pruebas de reproducción de video (2D)

Una de las características de los procesadores SandyBridge es el procesamiento de video dentro de la misma pastilla de la CPU, esto genera ciertas ventajas que se pueden evidenciar con las siguientes pruebas.

Se han tomado 12 videos en alta definición (Video: H.264 MPEG4 1920×816 @23.976fps 10164kbps, Audio: MPEG AAC Estéreo @48KHz 192kbps) y se han reproducido de manera simultánea utilizando el programa VLC (se ha desactivado la descartación de cuadros que sucede cuando se satura el procesador central). A continuación se muestra el uso de CPU al reproducir una diferente cantidad de videos HD simultáneamente.

Figura 15: Uso de CPU Sandy Bridge i7-2600k con HT

En la figura 15 se puede apreciar que el Equipo con SandyBridge i7-2600k no se satura aún reproduciendo 12 videos de alta definición.

Figura 16: Uso de CPU Sandy Bridge i7-2600k sin HT

En la figura 16 se puede apreciar que el Equipo con SandyBridge i7-2600k no se satura aún reproduciendo 12 videos de alta definición, aunque al desactivar el HT los valores de uso de CPU aumentan.

Figura 17: Uso de CPU Sandy Bridge i5-2400 con HT

En la figura 17 se puede apreciar que el Equipo con SandyBridge i5-2400 no se satura aún reproduciendo 12 videos de alta definición.

Figura 18: Uso de CPU Sandy Bridge i5-2400 sin HT

En la figura 18 se puede apreciar que el Equipo con SandyBridge i5-2400 sin HT el procesador se satura después de reproducir 10 videos de alta definición.

Figura 19: Uso de CPU Gama Alta

En la figura 19 se puede apreciar que el Equipo de gama Alta se satura depués de reproducir 7 videos de álta definición, su desempeño es inferior a los equipos SandyBridge i7-2600k e i5-2400 aún si éstos tienen el HT desactivado.

Figura 20: Uso de CPU Gama Media

En la figura 20 se puede apreciar que el Equipo de gama Media se satura depués de reproducir 4 videos de álta definición, su desempeño es inferior al equipo de gama Alta y por consiguiente a los equipos Sandy Bridge i7-2600k e i5-2400, aún si éstos tienen HT desactivado.

Figura 21: Comparación uso de CPU al reproducir un video HD

Nota: La comparación se ha hecho con los valores de uso cuando se reproduce solo video, dado que un usuario normalmente sólo ve un video al tiempo.

En la Figura 21 se puede apreciar el uso de CPU al reproducir un video HD, como se observa los equipos SandyBridge tienen un desempeño significatívamente superior a los equipos de Gama Alta y Gama Media.

Pruebas de transcodificación

Para probar el uso de Quick-Sync se ha tomado un video HD y se ha codificado a un formato de iPad, se ha monitoreado el tiempo (en segundos) de codificación. Las pruebas se han hecho con Quick-Sync activado y desactivado para los equipos SandyBridge, y con CUDA activado y desactivado para el equipo Gama Alta. Se ha utilizado el software CyberLink MediaEspresso (CyberLink).

Formato HD: Video: H.264 MPEG4 1920×816 @23.976fps 10164kbps, Audio: MPEG AAC Estéreo @48KHz 192kbps, Duración Total: 2:13, Tamaño total: 164MB

Formato iPad: Video: H.264 MPEG4 1280×720 @23.976fps 3069kbps, Audio: MPEG AAC Estéreo @48KHz 128kbps, Duración Total: 2:13, Tamaño total: 66,1MB

Figura 22: Tiempo de codificación

Como se observa en la figura 22, los equipos SandyBridge tienen el menor tiempo de codigicación, cuando se activa Quick-Sync el tiempo de codificación es significativamente inferior a los equipos Gama Alta y Gama Media. Nótese que aún haciendo uso de CUDA el equipo Gama Alta requiere un tiempo de codificación mayor a los equipos SandyBrige.

Otras aplicaciones y pruebas

Además de los proyectos de la Universidad de los Andes probados en secciones anteriores, se probaron 4 aplicaciones más de alta demanda computacional. Las aplicaciones se ejecutan en Java 1.6 y el renderizado se realiza mediante instrucciones OpenGL.

1. BrainTest_StandAlone

2. BrainWithInteractionTest

3. Cars_Simulation_V_2009

4. HumanThinkingProcess

BrainTest_StandAlone

Figura 23. Aplicación 1.

La aplicación consiste en la visualización de un cráneo 3D girando en sentido horario, no hay interacción por parte del usuario.

Figura 24: Desempeño CPU Aplicación 1.

Figura 25: Desempeño GPU aplicación 1.

BrainWithInteractionTest

Figura 26: Aplicación 2.

La aplicación consiste en la visualización de una cabeza humana con distintos modelos de visualización (Nota Personal: ilustrar los demás modelos con más imágenes o posiblemente un video) en donde el usuario puede elegir el modelo que desea visualizar. Los cambios entre modelos genera una carga fuerte tanto en CPU como en GPU.

Figura 27: Desempeño CPU aplicación 2.

Figura 28: Desempeño GPU aplicación 2.

Cars_Simulation_V_2009

Figura 29: Aplicación 3.

La aplicación consiste de una microsimulación de tráfico de una zona de la cuidad de Bogotá. La simulación comienza con cerca de 500 modelos dinámicos y termina con cerca de 800 modelos, además la simulación es cíclica, vuelve a iniciar después de 26 segundos.

Figura 30: Desempeño CPU aplicación 3.

Figura 31: Desempeño GPU aplicación 3.

HumanThinkingProcess

Figura 32: Aplicación 4

La aplicación consiste en la visualización del proceso del pensamiento humano; la aplicación inicia con un modelo complejo de una cabeza humana que empieza a fragmentarse con el fin de visualizar las zonas de interés.

Figura 33: Desempeño CPU aplicación 4.

Figura 34: Desempeño GPU aplicación 4.

Rendimiento DirectX VS OpenGL

Para medir el rendimiento del chip gráfico en dependencia del método de renderizado se ha tomado la aplicación BusDriver que permite realizar el renderizado tanto con DirectX como OpenGL.

Figura 35: Comparación de rendimiento entre DirectX y OpenGL

Como se puede apreciar en la figura, el rendimiento al usar OpenGL para renderizar una escena es un poco más alto que al utilizar OpenGL, esto cumple para los equipos de gama Alta y Media, sin embargo el procesador SandyBridge i7-2600k se observa que el rendimineto de DirectX es significativamente superior al de OpenGL. La principal causa de esto puede ser falta de soporte con OpenGL.

Comentarios

En general los resultados de uso de CPU muestra que el equipo SandyBridge i7-2600k, con HT activado, utiliza el menor porcentaje de CPU de los cuatro equipos probados, con un promedio de uso entre el 12% y 13%, lo que indica una mejor capacidad de procesamiento de datos. Le sigue el equipo SandyBridge i5-2400, con HT desactivado, con un porcentaje de uso entre el 13% y 14%, seguidos por sus mismas versiones de procesador con HyperThreading desactivado con cerca de el doble de uso de procesador. En los últimos lugares éstan los equipos de Gama Alta y Baja, con valores alrededor del 28% y 52% de uso respectívamente. Este comportamiento es esperado debido a que las aplicaciones no son multi-thread, por lo tanto el sistema operativo no permite un uso de CPU mayor al de un núcleo.

Sin embargo en los resultados de velocidad de cuadro (FPS), el equipo Gama Alta muestra el rendimiento más alto, siendo significativamente superior al valor de los demás equipos, manteniendose con un valor superior a los 200FPS en la mayoría de las aplicaciones, lo que indica una mejor capacidad de procesamiento gráfico. Este equipo es seguido por Gama Media con una medición por encima de los 50FPS. En últimos lugares se encuentran los equipos Sandy Bridge i7-2600k e i5-2400 con mediciones por debajo de 10FPS. Hay que notar que los valores de FPS para los procesadores Sandy Bridge en sus versiones Hyper Threading activado y desactivado difieren muy lévemente.

Conclusiones

-Los equipos SandyBridge i7-2600k e i5-2400 han mostrado un mejor desempeño en CPU en todas las pruebas realizadas en referencia al uso de CPU y tiempo de procesamiento.

-Al desactivar el HT el uso de CPU prácticamente se duplica pero sigue siendo inferior a los equipos de gama media y gama alta. Sin embargo la velocidad de cuadro (FPS) no muestra una mejora significativa excepto en la aplicación que hace mejor uso de multiprocesadores (Starcraft 2), en donde el valor de FPS de incrementa lévemente.

-El procesador SandyBridge i7-2600k tiene un rendimiento lévemente superior al Sandy Bridge i5-2400 en aplicaciones que utilizan OpenGL, sin embargo en aplicaciones que utilizan DirectX, el SandyBridge i5-2400 parece tener mejor rendimiento.

-Los procesadores SandyBridge parecen tener un menor rendimiento gráfico cuando se utiliza aplicaciones hechas en OpenGL (ej: aplicaciones de la Universidad de los Andes), pero su rendimiento aumenta significatívamente cuando se utilizan aplicaciones hechas en DirectX 9 o 10 o cuando se realizan operaciones con videos en 2D debido al uso de la tecnología Quick-Sync.

-Cuando se reproducen o codifican videos HD, el rendimiento de los equipos SandyBridge es significativamente superior a los equipos de Gama Alta y Media, y más aún si los videos se reproducen de manera simultánea.