Published September 20, 2023 | Version v1

Análisis seguro y automático del reúso de datos en aplicaciones de tiempo real estricto sobre arquitectura x64

  • 1. ROR icon Barcelona Supercomputing Center
  • 2. Universidad de Zaragoza

Description

El análisis del reúso de datos presente en una aplicación es una de las técnicas que ha demostrado ser efectiva para obtener mejores resultados en el cálculo del tiempo de ejecución en el peor caso en sistemas con memorias caché de datos. Como prueba de concepto de esta metodología han sido desarrolladas herramientas como polygaz, una utilidad que permite extraer de forma segura y fiable una clasificación del reúso de datos presente en binarios compilados sobre arquitectura ARMv7. Esta información independiente de la memoria caché utilizada permite, posteriormente, realizar un cálculo más preciso del tiempo de ejecución en el caso peor sobre el sistema de tiempo real que se busque estudiar. En este artículo se pretende explorar la funcionalidad de la herramienta al analizar binarios compilados sobre otra arquitectura mayoritaria (x64) y que presenta una filosofía distinta a ARMv7 (CISC vs RISC). Además, se estudia cómo puede afectar a los resultados en el reúso de datos obtenido emplear compiladores distintos (clang y gcc) a la hora de generar binarios para la misma aplicación de alto nivel. De esta manera, se ha ampliado la herramienta para permitir el análisis de la nueva arquitectura, y se ha planteado un entorno experimental donde se ha analizado un subconjunto de la colección TACLeBench usando gcc y clang con dos niveles de optimización (O0 y O2). Los resultados obtenidos muestran cómo la metodología de análisis aplicada permite también capturar el reúso de datos en la arquitectura x64 de forma efectiva. Además, muestran el efecto de utilizar compiladores diferentes, pudiéndose identificar diferencias en cómo se manifiesta el reúso de datos capturado entre ambas soluciones. Por último, a través de una estimación sencilla de los previsibles aciertos y fallos en base al reúso capturado, se calcula para ambos compiladores una reducción del tiempo en el peor caso de ejecución que supone alrededor del 20% del tiempo invertido en un sistema pesimista que solo predice fallos. Con optimizaciones este valor se estima que rondaría el 10%.

Files

SARTECO_2023_Alvaro.pdf

Files (542.0 kB)

Name Size Download all
md5:934c12c221a40a1f3aec53730a44fd62
542.0 kB Preview Download