Code optimizations for narrow bitwidth architectures

Tesis doctoral de Indu Bhagat

Esta tesis deriva su motivación en la inherente ineficiencia computacional de los procesadores actuales: a pesar de que muchas aplicaciones contemporáneas tienen unos requisitos de ancho de bits estrechos (aplicaciones de enteros, de red y multimedia), el hardware acaba utilizando el camino de datos completo, utilizando más recursos de los necesarios y consumiendo más energía. esta tesis utiliza una aproximación hw/sw para atacar, de forma íntegra, el problema de la ineficiencia computacional. El hardware se ha rediseñado para restringir el ancho de bits del camino de datos a sólo 16 bits (únicamente el de enteros) y ofrecer así un núcleo de ejecución simple, de bajo consumo y baja complejidad, el cual está diseñado para ejecutar de forma eficiente el caso común. El rediseño, llamado en esta tesis arquitectura de ancho de bits estrecho (narrow bitwidth en inglés), es único en el sentido que aunque el camino de datos se ha estrechado a 16 bits, el sistema continúa ofreciendo las ventajas de direccionar grandes cantidades de memoria tal como procesadores con caminos de datos más anchos (64 bits actualmente). Su interface con el mundo exterior se denomina isa estrecho. En nuestra propuesta el software es responsable de mapear eficientemente la actual pila software de las aplicaciones de 64 bits en el hardware de 16 bits. Sin embargo, esta aproximación hw/sw introduce penalizaciones no despreciables tanto en el tamaño del código dinámico como en el rendimiento, incluso con un traductor de código inteligente que mapea las aplicaciones de 64 bits en el procesador de 16 bits. el objetivo de esta tesis es el de diseñar una capa software que aproveche la capacidad de las optimizaciones para reducir el efecto negativo en el rendimiento del isa estrecho. Concretamente, esta tesis se centra en optimizaciones que tratan el problema de como compilar programas de 64 bits para una máquina de 16 bits desde la perspectiva de las mínimas computaciones requeridas (mrc en inglés). Dado un programa, la noción de mrc intenta deducir la cantidad de cómputo que realmente se necesita para generar la misma (correcta) salida que el programa original. aproximarse al mrc perfecto es una meta intrínsecamente ambiciosa y que requiere predicciones perfectas de comportamiento del programa. Con este fin, la tesis propone tres heurísticas basadas en optimizaciones que tratan de inferir el mrc. La utilización de mrc se desarrolla en la definición de productividad: si un cálculo no altera el dato que ya había almacenado, entonces no es productivo y por lo tanto, no es necesario llevarlo a cabo. se han propuesto tres optimizaciones del código basadas en profile: 1. Propagación global de la productividad (gpp en inglés) aplica el concepto de productividad a la granularidad de función. 2. Poda local de productividad (lpp en inglés) aplica el mismo concepto pero a una granularidad mucho más fina, la de una única instrucción. 3. Computación mínima del salto (mbc en inglés) es una técnica de reordenación de código que aplica los principios de mrc a los saltos condicionales. el objetivo principal de todas esta técnicas es el de reducir el tamaño dinámico del código estrecho. Las primeras dos optimizaciones (gpp y lpp) realizan la tarea de podar especulativamente las computaciones no productivas (innecesarias) utilizando profiles. Además, estas dos optimizaciones realizan un recorrido hacia atrás de las regiones a optimizar para añadir chequeos en el código no especulativo, haciendo de esta forma la técnica autosuficiente para detectar, dinámicamente, los casos de fallo en la especulación. la idea de la optimización mbc es reordenar las instrucciones que generan el salto condicional tal que las mínimas computaciones que general la misma (correcta) salida se ejecuten en la mayoría de los casos; el resto de las computaciones se ejecutarán sólo cuando sea necesario.

 

Datos académicos de la tesis doctoral «Code optimizations for narrow bitwidth architectures«

  • Título de la tesis:  Code optimizations for narrow bitwidth architectures
  • Autor:  Indu Bhagat
  • Universidad:  Politécnica de catalunya
  • Fecha de lectura de la tesis:  23/02/2012

 

Dirección y tribunal

  • Director de la tesis
    • Antonio Gonzalez Colas
  • Tribunal
    • Presidente del tribunal: emilio Luque fadon
    • José María Codina viñas (vocal)
    • polychronis Xekalakis (vocal)
    • ramón Canal corretger (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio