Logo Studenta

Comparacion_de_la_performance_de_micropr

¡Estudia con miles de materiales!

Vista previa del material en texto

Comparación de la performance de
microprocesadores ARM
Rodrigo A. Melo, David M. Caruso, Francisco Salomón, Salvador E. Tropea
Instituto Nacional de Tecnología Industrial
Centro de Micro y Nanoelectrónica
Email: {rmelo,david,fsalomon,salvador}@inti.gob.ar
Resumen—Se presenta una comparación sobre implementa-
ciones de cores ARM entre los años 2000 y 2013, con el fin de
encontrar una expresión similar a La Ley de Moore, que indique
cantidad de meses que transcurren hasta duplicar la performance.
Se relevó un listado de SoCs de los fabricantes Samsung, Texas
Instruments y Qualcomm, los cuáles se compararon en base a
DMIPS y a nuevos indicadores, obtenidos de los benchmarks
AndEBench, Antutu y Coremark. El análisis consistió en ajustar
la ecuación representativa de La Ley de Moore, llevada al
plano logarítmico para una mejor ponderación de errores, a los
datos máximos por año. Se obtuvo que la performance duplica
cada aproximadamente 18 meses según DMIPS y entre 20 y 22
meses según indicadores de otros benchmarks, ambos resultados
contenidos en el período de 18 a 24 meses considerados por la
mencionada Ley.
Keywords—ARM, Benchmark, DMIPS, Ley de Moore, Perfor-
mance.
I. INTRODUCCIÓN
En el marco de un trabajo más amplio, se precisaba la
estimación futura de la performance de SoCs (System on
Chip) basados en cores ARM. En una primera aproximación,
se intentó consultar los roadmaps de los fabricantes, pero
se detectó que la mayoría no los publica, y los que sí,
parecen ser poco objetivos. Esta razón, motivó el análisis de
la historia de evolución de performance, para poder extrapolar
los resultados. Considerando a los SoCs multimedia como las
líneas de mayor rendimiento, y en búsqueda de inferir cómo
mejora la tecnología a través de los años, se planteó estudiar
a los fabricantes de mayor renombre, los primeros en imple-
mentar nuevos cores de ARM: Samsung, Texas Instruments y
Qualcomm.
Para un primer análisis se consideraron los DMIPS (Dhrys-
tone Millon Instructions Per Second), un indicador amplia-
mente utilizado en la industria. Los mismos se determinan
utilizando el Dhrystone benchmark [1], el cual es un bench-
mark sintético que trata de simular la carga promedio de una
aplicación. Dado que presenta algunos inconvenientes, se optó
por obtener otros indicadores a partir de los benchmarks más
populares con resultados disponibles on-line: AndEBench [2],
Antutu [3], CFBench [4] y Coremark [5].
Debido al crecimiento exponencial de requerimientos perci-
bido desde el mercado, se planteó la hipótesis de un crecimien-
to exponencial de performance en SoCs. Con esta característica
Agradecemos al Dr. Alejandro Federico de INTI por su ayuda en definir la
ecuación a ajustar y linealización de la misma.
existe La Ley de Moore la cual proclama que la cantidad de
transistores integrados se duplica cada año según un trabajo
de 1965 [6] y cada 2 años según la revisión del 1975 [7]. En
la actualidad, es ampliamente aceptado que el período es de
entre 18 y 24 meses.
Este trabajo se estructura de la siguiente manera: en la
Sección II se presenta el análisis basado en DMIPS. La
Sección III introduce nuevos indicadores que son utilizados
para el análisis de la Sección IV. Finalmente, se discuten los
resultados en la Sección V y las conclusiones en la Sección VI.
II. PERFORMANCE SEGÚN DMIPS
La Ley de Moore se puede expresar matemáticamente
como:
y = C. 2x/B = 2b.x+c
Con x representando el tiempo, B = 1/b el lapso necesario
para duplicar y C = 2c el valor inicial.
Se ajustaron los datos adquiridos a esta ecuación, en
búsqueda de obtener una ley similar para DMIPS. Para adquirir
dichos datos, se relevó un listado de SoCs, computando año
de inserción en el mercado, cantidad y tipo de cores que lo
componen y frecuencia máxima de operación, de los siguientes
fabricantes:
Samsung: posee SoCs basados en ARM desde el año
2000, primero con sus líneas S3C, S5L y S5P, y a
partir de 2010 con los Exynos 3 al 5.
Texas Instruments: inició con los OMAP en 2001 y
en la actualidad estaría próximo a lanzar los OMAP
5, aunque en Septiembre de 2012 declaró cambiar
su enfoque de Smart Phones y Tablets a sistemas
embebidos de uso general [8].
Qualcomm: aparece en escena en 2007, con los
Snapdragons. En sus líneas de mayor rendimiento
utilizan versiones modificadas del Cortex-A8 y A9
(Scorpion y Krait).
Para obtener la cantidad total de DMIPS, al igual que
lo informado por los fabricantes, se multiplicó el valor de
DMIPS/MHz que provee ARM para el core, por la cantidad de
cores y frecuencia máxima de operación. Luego, se unificaron
los datos de los tres fabricantes en un único listado, conside-
rando un sólo SoC por año, el de mayor DMIPS totales. Se
excluyeron los años en los que el valor disminuyó respecto al
anterior.
https://www.researchgate.net/publication/220424486_Dhrystone_a_synthetic_systems_programming_benchmark?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/2985293_Cramming_More_Components_Onto_Integrated_Circuits?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/4160206_Progress_in_Digital_Integrated_Electronics?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
Cuadro I. DMIPS MÁXIMOS POR AÑO
Year DMIPS MHz SoC
2000 59,4 66 Samsung S3C44B0 (1 x ARM7TDMI)
2001 168 168 TI OMAP1510 (1 x ARM925T)
2003 440 400 Samsung S3C2442 (1 x ARM920T)
2004 586,3 533 Samsung S3C2440 (1 x ARM920T)
2008 2.100 1.000 Qualcomm QSD8250 (1 x Scorpion)
2009 2.400 1.200 TI OMAP3640 (1 x Cortex-A8)
2010 7.140 1.700 Qualcomm MSM8260 (2 x Scorpion)
2011 16.000 1.600 Samsung Exynos 4412 (4 x Cortex-A9)
2012 22.440 1.700 Qualcomm APQ8064 (4 x Krait)
2013 26.600 1.900 Nvidia Tegra 4: Wayne (4 x Cortex-A15)
En el Cuadro I se aprecia el listado de los datos obtenidos.
La ausencia de datos entre 2005 y 2007, se debe a la imple-
mentación de cores ARM11, operando a frecuencias menores
que los ARM9 de 2004. Dado que para el momento de realizar
el estudio, mediados del año 2013, los máximos exponentes
de los fabricantes considerados estaban anunciados pero no en
el mercado, se utilizó el SoC Tegra 4 Wayne de Nvidia, con
características similares.
Para el ajuste (fit) se uso y = 2b.(x−2000)+c, donde b y
c son los coeficientes a determinar y x está expresado en
años. En búsqueda de una mejor ponderación del error, se optó
por linealizar el problema llevando todo al plano logarítmico,
donde se tiene una recta:
log2(y) = log2(2
b.(x−2000)+c) = b.(x− 2000) + c
Se calculó el logaritmo en base 2 de los DMIPS y se utilizó
el software GNUplot [9] para ajustar la recta. Se obtuvo:
b = 0, 642(±5, 72%)
c = 6, 387(±4, 827%)
A partir del coeficiente b, se calcularon los meses que
deben pasar para que la performance duplique. Entonces, para
que 2b.x = 2, x = 1/b, con x expresado en años. Expresándolo
en meses como x = 12/b, resultó que según el indicador
DMIPS, la performance se duplica cada aproximadamente 18,7
meses.
En la Fig. 1 se pueden observar los datos junto a la
función que mejor los ajusta, utilizando en un caso la ecuación
exponencial y en el otro la recta.
III. OTROS INDICADORES DE PERFORMANCE
El principal problema del Dhrystone benchmark es que fue
diseñado hace casi 30 años. Otros inconvenientes que presenta
son:
Los resultados dependen ampliamente del compilador
utilizado. Normalmente los valores disponibles son
los que determina el fabricante de la CPU y no son
fácilmente reproducibles.
Los fabricantes ajustan la performance de sus produc-
tos teniendo en cuenta este benchmark como referen-
cia, por lo tanto, no es extraño que el incremento de
performance en las CPUs sea tan regular.
Los mismos provocaron, en búsqueda de obtener indicadores
más cercanos a larealidad, que se analicen otros benchmarks.
 0
 5000
 10000
 15000
 20000
 25000
 30000
 2000 2002 2004 2006 2008 2010 2012
d
m
ip
s
Años
Ajuste con exponencial
dmips
exponencial
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 2000 2002 2004 2006 2008 2010 2012
lo
g
2
(d
m
ip
s
)
Años
Ajuste con recta
dmips
recta
Figura 1. Aproximación sobre DMIPS
 0
 0.5
 1
 1.5
 2
 2.5
 3
 3.5
AR
M
7
AR
M
9
AR
M
11
C
ortex A5
C
ortex A7
C
ortex A8
Scorpion
C
ortex A9
Krait
C
ortex A15
C
o
e
f
Core
Valores de Coeficientes
DMIPS
AndEBench
Antutu
Coremark
Figura 2. Coeficientes
En el caso de los DMIPS, los valores por MHz y por
core se obtuvieron de la documentación de ARM. Luego,
cada fabricante de SoCs los multiplica por frecuencia de
operación y cantidad de cores para suministrar el valor total.
Se aplicó la operación inversa sobre los totales obtenidos de
otros benchmarks, para obtener coeficiente/MHz por core. En
el Cuadro II se resumen los coeficientes obtenidos.
De CFBench se tienen valores para menos de la mitad de
los cores analizados, hecho que motivó que no sea tomado en
cuenta en el análisis de la Sección IV.
En la Fig. 2 se graficaron los coeficientes de DMIPS
y los benchmarks AndEBench, Antutu y Coremark. Para el
análisis con AndEbench y Antutu se consideraron únicamente
los resultados de operaciones nativas con enteros, a fin de
evaluar solo la performance de CPU. Con respecto a Core-
Mark, que también se ejecuta de manera nativa, dado que los
usuarios pueden compilarlo con opciones personalizadas, se
tuvo cuidado de seleccionar resultados obtenidos con opciones
similares.
Cuadro II. COEFICIENTES OBTENIDOS CON DISTINTOS BENCHMARKS
Core DMIPS AndEBench Antutu CFBench CoreMark
ARM7 0,9
ARM9 1,1 1,76
ARM11 1,25 1,09 0,42 1,6 1,86
Cortex-A5 1,57 1,25 0,58
Cortex-A7 1,9 1,35
Cortex-A8 2 1,56 0,64 4,19 2,54
Scorpion 2,1 1,48 0,74 3,69
Cortex-A9 2,5 1,83 0,77 4,79 2,96
Krait 3,3 1,96 0,81 3,03
Cortex-A15 3,5 1,96 0,85
IV. PERFORMANCE SEGÚN OTROS INDICADORES
Sobre el listado de SoCs relevados, se aplicaron los coe-
ficientes obtenidos de otros benchmarks del Cuadro II. Se
llevó a cabo un procedimiento similar al utilizado con DMIPS,
computando sólo los máximos por año, y se obtuvieron los
valores del Cuadro III.
Similar a lo realizado con DMIPS, se ajustaron a la recta
en el plano logarítmico los valores de Coremark entre los años
2001 y 2013. Según este indicador, la performance se duplica
cada aproximadamente 22,5 meses.
En los casos de AndEBench y Antutu, se tienen datos
entre los años 2004 y 2013. No obstante, entre 2004 y 2006
corresponden a SoCs implementados con ARM11, cuando
según DMIPS y CoreMark los ARM9 presentaban mayor
performance, básicamente porque trabajaban a frecuencias
mayores. Esta diferencia se debe a la ausencia de coeficientes
para ARM9 en AndEBench y Antutu. Para 2007, si bien los
tres benchmarks coinciden en SoC, basado en core ARM11, se
distingue un valor numérico muy similar a los de años previos
con core ARM9 y muy por debajo de los Cortex-A8 de 2008.
Por lo expuesto, se ajustaron los datos de AndEBench
y Antutu entre los años 2008 y 2013. Adicionalmente, se
ajustaron los datos de DMIPS y CoreMark en el mismo
período, para poder realizar una comparación más justa. Se
obtuvo que la performance se duplica cada:
DMIPS 14,406 meses.
AndEBench 15,927 meses.
Antutu 16,768 meses.
CoreMark 15,532 meses.
Se observa que en este período la performance aumenta más
rápido, lo que provoca que se duplique en menos tiempo. Esto
se puede explicar a partir de que:
Se están utilizando menos cantidad de datos para la
estimación, lo cual aumenta el error de la misma,
hecho que se vio reflejado en los informes de errores
que entrega GNUplot.
Previo al 2010, había sólo SoCs mono core, con
lo cual las mejoras se daban en la arquitectura y
la frecuencia de operación. A partir del mencionado
año, aparecen los multi cores (2 ó 4), que presentan
crecimientos más rápido en los valores totales.
Si bien cuantitativamente estos resultados son menos con-
fiables, cualitativamente indican que los DMIPS crecen más rá-
pido que otros indicadores. Buscando una medida equivalente
al período 2000 a 2013, se planteó lo siguiente para extrapolar
la información obtenida, haciendo uso de la historia previa
según DMIPS:
Los meses se calculan en base al parámetro b, el cuál
es la pendiente de la recta aproximada: Meses = 12/b
Se planteó que hay una relación similar entre las
pendientes de las rectas (o lo que dará lo mismo, entre
los meses) en el período 2008 a 2013, con las de 2000
a 2013:
MesesX2008−2013
MesesDMIPS2008−2013
=
MesesX2000−2013
MesesDMIPS2000−2013
De donde se concluyó que los meses de un coeficiente
X, del 2000 al 2013, se calcula como:
MesesX2000−2013 = 1, 298×MesesX2008−2013
Finalmente, se obtuvo que la cantidad estimada de meses
donde se duplica la performance según los distintos bench-
marks, en base a la historia previa de los DMIPS, es:
DMIPS 18,7 meses.
AndEBench 20,7 meses.
Antutu 21,8 meses.
CoreMark 19,9 meses.
V. RESULTADOS
Por lo expuesto en la Sección II, según el análisis basado en
DMIPS la performance se duplica cada aproximadamente 18,7
meses, en concordancia con los 18 meses comúnmente acep-
tados de La Ley de Moore. Esto sugeriría una relación lineal
entre la cantidad de transistores empleados y la performance
del circuito integrado resultante, lo cual parece una situación
ideal, que podría implicar que haya intencionalidad de que los
DMIPS tengan el valor declarado. Hay que tener en cuenta que
los DMIPS son valores brindados por el fabricante del core,
de mediciones en laboratorios, con opciones de compilación
ajustadas a cada caso.
Según los coeficientes obtenidos de otros benchmarks en
la Sección III, en la Sección IV se llega a que en la práctica
la performance se duplicaría entre aproximadamente 20 y 22
meses. Este período sigue estando dentro de los márgenes de
18 a 24 meses de La Ley de Moore, pero resulta más real
dado que surge de mediciones en campo, más objetivas, de
benchmarks actuales.
Si bien no se descarta que el período pudiera ser aún
mayor a 22 meses, hecho que podría verse reflejado en los
Cuadro III. MÁXIMOS POR AÑO SEGÚN COEFICIENTES DE BENCHMARKS
Year AndEBench Antutu CoreMark MHz SoC
2001 295,85 168 TI OMAP1510 (1 x ARM925T)
2003 704,4 400 Samsung S3C2442 (1 x ARM920T)
2004 359,7 136,95 330 TI OMAP2420 (1 x ARM1136)
2004 938,61 533 Samsung S3C2440 (1 x ARM920T)
2005 359,7 136,95 330 TI OMAP2430 (1 x ARM1136)
2007 575,52 219,12 983,14 528 Qualcomm S1 MSM7225 (1 x ARM11)
2008 1.480 743 1.000 Qualcomm S1 QSD8250 (1 x Scorpion)
2008 2.029,6 800 TI OMAP3440 (1 x Cortex-A8)
2009 1.872 771,6 3.044,4 1.200 TI OMAP3640 (1 x Cortex-A8)
2010 5.032 2.526,2 1.700 Qualcomm S3 MSM8260 (2 x Scorpion)
2011 11.712 4.902,4 18.969,6 1.600 Samsung Exynos 4412 (4 x Cortex-A9)
2012 13.328 5.487,6 20.604 1.700 Qualcomm S4 Pro APQ8064 (4 x Krait)
2013 14.896 23.028 1.900 Qualcomm 600 APQ8064T (4 x Krait 300)
2013 6.460 1.900 Nvidia Tegra 4 Wayne (4 x Cortex-A15)
22,5 meses originales indicados por CoreMark cuando no se
lo afecta por los datos de DMIPS, cabe destacar que a dicho
benchmark le faltan algunos de los indicadores con mayor
rendimiento para su época, como el de Scorpion y Cortex-
A15. La inclusión de los mismos haría disminuir la cantidad
de meses, probablemente a algo más similar a los 19,9 meses
obtenidos finalmente.
El análisis efectuado, parece sugerir tres períodos en años:
2000-2004: con SoCs basados en mono cores ARM7
y ARM9, donde el aumento de performance se debe
principalmente al aumento de la frecuencia de opera-
ción.
2005-2007: con pocas implementaciones de ARM11
comparables a ARM9.
2008-2013: donde aparecen los Cortex-A con versio-
nes multi core, principales responsables del aumento
de performance.
Es de señalar que los incrementos en la frecuencia de operación
y en la cantidad de cores instanciados no son equivalente.
Aumentar al doble la frecuencia equivale atrabajar al doble
de velocidad, hecho que no ocurre al instanciar dos cores en
lugar de uno, debido a tiempos involucrados en el arbitraje de
recursos y la paralelización del software.
Respecto a las pocas implementaciones del 2005 al 2007,
con performance similar a las del período previo, es probable
que se deban a que tanto ARM como los fabricantes de
SoCs, hayan estado enfocados en trabajar sobre la arquitectura
Cortex-A que dominaría los años siguientes.
Cabe destacar que se realizó el ajuste con los datos de los
períodos 2000 a 2004 y 2008 a 2013 dado que pensar en un
crecimiento sostenido del ritmo de los Cortex-A no parece lo
más factible, siendo probable que se repita un período con
crecimiento más relajado como el primero.
VI. CONCLUSIONES
Utilizando los DMIPS como indicador, la performance
duplica cada aproximadamente 18 meses, el límite
inferior propuesto por La Ley de Moore.
En base a mediciones con benchmarks actuales, se
obtuvo un período que parece más probable, de entre
20 y 22 meses, el cual está abarcado por el rango de
18 a 24 meses de La Ley de Moore.
De los benchmarks utilizados para el estudio realiza-
do, se identificaron el AndEBench y el Antutu como
buenos indicadores, seguidos por CoreMark, al cuál
le faltan valores para cores Scorpion y Cortex-A15.
En el caso de CFBench los datos disponibles abarcan
pocos cores.
REFERENCIAS
[1] R. P. Weicker, “Dhrystone: a synthetic systems programming bench-
mark,” pp. 1013–1030, Oct. 1984.
[2] “Andebench,” EEMBC, Nov. 2013. [Online]. Available: http://-
www.eembc.org/andebench/
[3] “Antutu,” Nov. 2013. [Online]. Available: http://www.antutu.com/
[4] “Cfbench,” Nov. 2013. [Online]. Available: http://bench.chainfire.eu/
[5] “Coremark,” EEMBC, Nov. 2013. [Online]. Available: http://-
www.eembc.org/coremark/
[6] G. E. Moore., “Cramming more components onto integrated circuits,”
in Electronics Magazine, 1965, p. 4. [Online]. Available: http://-
www.cs.utexas.edu/ fussell/courses/cs352h/papers/moore.pdf
[7] ——, “Progress in digital integrated electronics,” in Electron Devices
Meeting, 1975 International (Volume:21), 1975, pp. 11–13.
[8] “Texas instruments eyes shift away from wireless,” http://-
www.reuters.com/article/2012/09/25/texasinstruments-wireless-
idUSL1E8KP5FN20120925?irpc=932, Sep. 2012.
[9] (2013, Nov.) Gnuplot. [Online]. Available: http://www.gnuplot.info/
https://www.researchgate.net/publication/220424486_Dhrystone_a_synthetic_systems_programming_benchmark?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/220424486_Dhrystone_a_synthetic_systems_programming_benchmark?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/2985293_Cramming_More_Components_Onto_Integrated_Circuits?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/2985293_Cramming_More_Components_Onto_Integrated_Circuits?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/2985293_Cramming_More_Components_Onto_Integrated_Circuits?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/4160206_Progress_in_Digital_Integrated_Electronics?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==
https://www.researchgate.net/publication/4160206_Progress_in_Digital_Integrated_Electronics?el=1_x_8&enrichId=rgreq-f01fe29753832141f40d9b0b77d91407-XXX&enrichSource=Y292ZXJQYWdlOzI2Njg1MTY2MjtBUzoxNTIxNzY5NTc1OTU2NDhAMTQxMzI5MzIyMjcwNw==

Continuar navegando