Patent ES-2803235-T3 (ES)
Title: Método y aparato para ejecutar tareas en tiempo real
Inventor: ZLATANCHEV IVAN
IPC: G06F9/48
Filed: 2016-09-18
Granted: 2021-01-25
Abstract: Método para ejecutar un programa que incluye una pluralidad de tareas, en el que una o más tareas de la pluralidad de tareas tienen restricciones en tiempo real, comprendiendo el método las siguientes etapas para cada tarea Tx con restricciones en tiempo real: (a) determinar un modelo de referencia en tiempo real, en el que el modelo de referencia en tiempo real de la tarea Tx incluye una pluralidad de las microtareas μTxi, i ε {1, ..., n}, que son una división de la tarea Tx, y un orden entre las microtareas μTxi según todos los trayectos de ejecución posibles de la tarea Tx, en el que, para cada microtarea μTxi, i ε {1,..., n}, se determina un micropresupuesto μBxi que es más pequeño que el tiempo de ejecución de peor caso, WCET, de la microtarea μTxi; en el que el micropresupuesto μBxi especifica un tiempo de ejecución para completar la ejecución de la microtarea μTxi con una probabilidad inferior al 100% y por encima de un umbral de probabilidad predeterminado, y en el que el micropresupuesto μBxi de una microtarea μTxi se determina basándose en análisis estadístico y/o interpretación abstracta de un programa de μTxi y/o análisis estadístico de ejecuciones de μTxi; y en el que, para cada microtarea μTxi, i ε {1,..., n}, basándose en los micropresupuestos μBxk, k ε {1,..., n}, se determina un transcurso de referencia que especifica un transcurso estimado de la microtarea μTxi en cualquier ejecución posible de la tarea Tx, de tal manera que todas las continuaciones posibles de ejecuciones de la tarea Tx desde la microtarea μTxi en adelante cumplen las restricciones en tiempo real de la tarea Tx con una probabilidad por encima de un límite de tolerancia, en el que las restricciones en tiempo real de la tarea Tx se cumplen con una probabilidad por encima del límite de tolerancia si la ejecución de la tarea Tx se completa antes de un vencimiento de la tarea Tx con una probabilidad inferior al 100% y por encima de una determinada garantía de servicio mínima; en el que el transcurso de referencia de la microtarea μTxi incluye un microvencimiento μDxi, que especifica un tiempo de respuesta hasta el que debe terminarse una ejecución de la microtarea μTxi, en el que el tiempo de respuesta es una duración con respecto a un tiempo de activación ATTX de la tarea Tx; en el que la microtarea μTxi debe terminarse hasta que cada una de las microtareas μTxk k ε {1,..., i} en un trayecto crítico desde una microtarea inicial μTx1 hasta una microtarea μTxi ha terminado la ejecución, en el que el tiempo de ejecución de cada microtarea μTxk se estima mediante su micropresupuesto μBxk; en el que las restricciones en tiempo real de la tarea Tx no se cumplen con una probabilidad por encima del límite de tolerancia si el transcurso real al final de la microtarea mTxi supera el tiempo en el que la microtarea μTxi debería haberse terminado; y en el que el trayecto crítico hasta la microtarea μTxi es un trayecto entre todos los trayectos de ejecución posibles de Tx desde la microtarea inicial μTx1 hasta la microtarea μTxi que tiene el tiempo de ejecución predicho más largo; (b) ejecutar la pluralidad de tareas y (b1) determinar después de la ejecución de la microtarea μTxi un transcurso real; (b2) comparar el transcurso real con el transcurso de referencia; (b3) basándose en la comparación, si se determina que las restricciones en tiempo real de la tarea Tx no se cumplen con una probabilidad por encima del límite de tolerancia, aumentar la prioridad de la tarea Tx.