Descarga la aplicación para disfrutar aún más
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==
Compartir