jueves, 8 de noviembre de 2007

Tiempo de CPU

¿Alguna vez os habéis preguntado el tiempo de CPU que nuestro equipo ha donado a Folding@Home? En este pequeño artículo intentaré resolver de forma aproximada esta pregunta, si bien debemos partir de la premisa de que el tiempo es relativo.

Hay diferentes WUs y entre las más comunes de las que se ejecutan mediante una CPU están las de 5000 frames. Tomando éste tipo de WU como base, el cuál no explota la posibilidad de disponer de múltiples cores o procesadores, y teniendo en cuenta las puntuaciones actuales del equipo podemos calcular una aproximación del tiempo de CPU donado.

Queda fuera del alcance de este artículo el hecho de que otro tipo de WU nos podría dar un resultado diferente pero considero que éstas son de las más estables en cuanto a tiempo empleado por porcentaje de trabajo realizado y además de las que más datos dispongo.

El método para calcular el tiempo de CPU donado será el siguiente: una WU de 5000 frames proporciona 206 puntos y en función del procesador utilizado, considerando que éste se utiliza en exclusiva para Folding@Home, se tarda un tiempo en procesar la WU con lo que podemos calcular el tiempo a partir de los puntos.

Los procesadores tomados como referencia son:
CPU 1 Intel P4 650 HT (3.4 GHz)
CPU 2 AMD Athlon 64 3500+ (2.2 GHz)
CPU 3 Intel Core 2 Duo T7200 (2.0 GHz)

Procesando en cada uno de ellos la WU base en exclusiva obtenemos los siguientes valores:

s/frame s/WU s/punto
CPU 1 27 135000 655,340
CPU 2 25 125000 606,796
CPU 3 23 115000 558,252

Tomaremos como base para el cálculo los puntos actuales del equipo y aplicaremos la métrica anteriormente calculada de segundos/punto para calcular el tiempo de CPU donado por cada usuario y el del total del equipo:




P4 650 3500+ T7200



años años años
1 Joan_Garcia_Camba 108574 2,26 2,09 1,92
2 imrbadguy 37272 0,77 0,72 0,66
3 Lito 33825 0,7 0,65 0,6
4 Vito 29556 0,61 0,57 0,52
5 imrbadguy-workstation 24575 0,51 0,47 0,44
6 imrbadguy-mobile 23288 0,48 0,45 0,41
7 Punyales_X 15535 0,32 0,3 0,28
8 Punyales_W 13699 0,28 0,26 0,24
9 newdaga_server 9949 0,21 0,19 0,18
10 VeRRoNicAA 6051 0,13 0,12 0,11
11 newdaga_vx 5243 0,11 0,1 0,09
12 Flor_PSV 1313 0,03 0,03 0,02
13 Kaiser 901 0,02 0,02 0,02
14 immrbadguy 330 0,01 0,01 0,01
15 Temporales_UPC 8 0 0 0

TOTAL 310119 6,44 5,97 5,49

Si bien este cálculo nos da sólo una idea del tiempo aproximado donado, podemos ver que nuestra contribución como equipo empieza a ser seria. También es notable la diferencia de rendimiento entre laCPU más rápida y la más lenta, al menos en este tipo de WU, según la cuál hay una diferencia de casi 1 año de de CPU.

¿Qué pasa con las GPUs?

Comparar el rendimiento de las CPUs con las GPUs es en parte como comparar peras con manzanas, pero veamos que pasa. Utilizaremos la misma metodología que antes para la que tomaremos como referencia una WU de 25000 frames, las únicas que conozco para GPU, la cuál proporciona 330 puntos.

Hardware base utilizado, GPU más CPU huesped:
ATI RADEON X1950 PRO 512MB AGP con P4 3.2 Northwood GHz



Procesando la WU en ésta GPU obtenemos la siguientes métricas:

s/frame s/WU s/punto
GPU 2'9 72500 219,697

Si bien el rendimiento de la tarjeta gráfica puede variar en función de la velocidad de la CPU con la que trabaje, ya que el cliente utiliza ambas aunque principalmente la GPU, no entraremso a valorar cómo influye la CPU sobre la GPU.

Si añadimos una nueva columna con el rendimiento de la GPU a la tabla anterior con el tiempo de CPU donado por el equipo obtenemos:




P4 650 3500+ T7200 X1950



años años años años
1 Joan_Garcia_Camba 108574 2,26 2,09 1,92 0,76
2 imrbadguy 37272 0,77 0,72 0,66 0,26
3 Lito 33825 0,7 0,65 0,6 0,24
4 Vito 29556 0,61 0,57 0,52 0,21
5 imrbadguy-workstation 24575 0,51 0,47 0,44 0,17
6 imrbadguy-mobile 23288 0,48 0,45 0,41 0,16
7 Punyales_X 15535 0,32 0,3 0,28 0,11
8 Punyales_W 13699 0,28 0,26 0,24 0,1
9 newdaga_server 9949 0,21 0,19 0,18 0,07
10 VeRRoNicAA 6051 0,13 0,12 0,11 0,04
11 newdaga_vx 5243 0,11 0,1 0,09 0,04
12 Flor_PSV 1313 0,03 0,03 0,02 0,01
13 Kaiser 901 0,02 0,02 0,02 0,01
14 immrbadguy 330 0,01 0,01 0,01 0
15 Temporales_UPC 8 0 0 0 0

TOTAL 310119 6,44 5,97 5,49 2,16


Destacar simplemente que el rendimiento de la GPU llega a triplicar el de la CPU más lenta, al menos con los clientes actuales de Folding@Home y tomando como base del rendimiento de las CPUs las WUs de 5000 frames.

¿Alguien tiene datos sobre el rendimiento de las PS3s? :P

Alberto Sánchez González (imrbadguy)