Ayuda
Ir al contenido

Dialnet


Utilización de memorias cache con bloqueo en sistemas de tiempo real

  • Autores: Antonio Martí Campoy
  • Directores de la Tesis: José Vicente Busquets Mataix (dir. tes.)
  • Lectura: En la Universitat Politècnica de València ( España ) en 2003
  • Idioma: español
  • Tribunal Calificador de la Tesis: Juan José Serrano Martín (presid.), Rafael Ors Carot (secret.), Ramón Puigjaner Trepat (voc.), Concepción Maroto Álvarez (voc.), Juan Antonio de la Puente Alfaro (voc.)
  • Materias:
  • Enlaces
    • Tesis en acceso abierto en: RiuNet
  • Resumen
    • Los procesadores actuales ofrecen una relación precio prestaciones muy interesante, además de otras cualidades como la garantía de funcionamiento o la gran disponibilidad de herramientas de desarrollo. Este conjunto de virtudes los hace muy atractivos para el desarrollo de cualquier sistema informático, incluidos los sistemas de tiempo real (STR). Sin embargo, los sistemas de tiempo real necesitan verificar no sólo la corrección de los cálculos y operaciones que realizan, sino que también es necesario garantizar que las tareas que debe realizar el sistema se llevarán a cabo dentro de los límites temporales establecidos. Y esta garantía debe obtenerse bajo cualquier circunstancia y condición. En la validación de la corrección temporal de un STR, tarea que recibe el nombre de Análisis de Planificabilidad, es donde surgen los problemas con los procesadores actuales. Dichos procesadores alcanzan altos niveles de prestaciones gracias a los avances en la tecnología, pero también gracias a la inclusión de mejoras en su estructura y arquitectura que permiten aprovechar los recursos disponibles de la mejor manera posible. Pero este buen uso de los recursos no se produce de forma constante, sino que dependerá de la estructura y los datos del programa que se ejecute. De este modo, las prestaciones ofrecidas por un procesador variarán para los diferentes programas que ejecute e incluso para el mismo programa en función de sus datos de entrada. Esta falta de determinismo en la respuesta temporal del procesador complica de manera importante la realización del análisis de planificabilidad. Un caso concreto de estas mejoras estructurales que presentan una seria falta de determinismo es la memoria cache. Su inclusión en la jerarquía de memoria de los computadores ha permitido alcanzar unas prestaciones muy elevadas, por lo que se han convertido en un elemento común en la mayoría de los sistemas informáticos. Sin embargo, la gran variabilidad que introduce en los tiempos de ejecución ha generado dos efectos: por un lado, han sido tradicionalmente evitadas por los diseñadores de sistemas de tiempo real; por otro lado, se han publicado un importante número de trabajos para permitir su uso en sistemas de tiempo real. La gran cantidad de trabajos relacionados con el uso de memorias cache en los STR ofrece una idea de la importancia del problema. En esta tesis se describen las principales soluciones al problema generado por el uso de las memorias cache en los STR, y se identifican las carencias e inconvenientes de las propuestas existentes hasta el momento. Para superar dichos inconvenientes, este trabajo propone una nueva estructura de memoria cache que recibe el nombre de cache con bloqueo ( locking cache ), y que ofrece un comportamiento totalmente determinista y predecible. Para la utilización de la memoria cache con bloqueo en STR se proponen dos modos diferentes, llamados uso estático y uso dinámico. Aunque el objetivo principal de este trabajo es la obtención de determinismo, el uso dinámico presenta un menor grado de predecibilidad, pero por contra ofrece, de forma general, mejores prestaciones que el uso estático. Para ambos usos se presentan los algoritmos y métodos que permiten realizar el análisis de planificabilidad de un STR, utilizando dos políticas de planificación distintas. Estos algoritmos tienen, como gran virtud, una gran sencillez comparada con los propuestos anteriormente. El determinismo que ofrece la cache con bloqueo se sustenta en la precarga y bloqueo de la misma en determinados instantes del funcionamiento del sistema. La selección de los contenidos que se bloquearán en cache es un problema crucial desde el punto de vista de las prestaciones. Con el objetivo de alcanzar simultáneamente el determinismo perseguido y unas prestaciones similares a las ofrecidas por las caches convencionales, se ha desarrollado un algoritmo genético que permite, en un tiempo de cómputo aceptable, encontrar el conjunto de instrucciones subóptimo que debe ser precargado en la cache con bloqueo para un determinado sistema. Para verificar que los dos objetivos perseguidos –determinismo y prestaciones- se alcanzan con las propuestas detalladas en esta tesis, se ha realizado un conjunto de análisis estadísticos que permiten evaluar la ganancia o pérdida de prestaciones que se obtienen al utilizar una cache con bloqueo frente a una cache convencional. Esta información se obtiene en función de un numeroso conjunto de características del sistema, tanto software como hardware, por lo que sus resultados son una herramienta útil para el diseñador de sistemas de tiempo real, ya que le permitirán evaluar el coste, desde el punto de vista de las prestaciones, de utilizar un sistema determinista y predecible, y por tanto, de utilizar unas herramientas sencillas y practicables para la realización del análisis de planificabilidad. Palabras clave: memorias cache, sistemas de tiempo real, algoritmos genéticos, tiempo de ejecución, tiempo de respuesta, análisis de planificabilidad, evaluación de prestaciones, diseño de experimentos, regresión lineal.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus

Opciones de compartir

Opciones de entorno