Diseño y verificación de sistemas de tiempo real heterogéneos
Fecha
2020Autor
Páez, Francisco Ezequiel
Director
Orozco, Javier DaríoColaborador
Fillottrani, Pablo RubénPalabras clave
Simulación por computadora; Ciencias de la computación; Sistemas de tiempo real; Planificación; Slack stealing; RM; DMMetadatos
Mostrar el registro completo del ítemResumen
Un Sistema de Tiempo Real (STR) debe garantizar que sus resultados, además de
correctos, cumplan también con un conjunto de restricciones temporales. En general,
esto implica asegurar que sus tareas finalicen su ejecución antes de un vencimiento. Para
cumplir esto, la predictibilidad y el determinismo adquieren suma importancia.
El campo de aplicación clásico de los STR ha sido la industria, como por ejemplo la
aviónica, la exploración espacial, equipamiento médico, sistemas de control, etc. Todos
estos sistemas tienen en común el de ser de misión crítica, donde un fallo tiene consecuencias
graves, como pérdidas materiales y económicas, daños al medio ambiente o poner en
riesgo la vida humana. Por lo general estos sistemas son estáticos, y utilizan arquitecturas
de hardware y algoritmos de efectividad comprobada. En muchas ocasiones su diseño e
implementación es ad-hoc.
Sin embargo, en las últimas décadas el campo de aplicación de los STR se ha extendiendo.
En la actualidad son utilizados en ámbitos y productos de lo más variados:
electrodomésticos, productos electrónicos de consumo, telefonía celular, automóviles,
comunicaciones, sistemas de reservas de pasajes, etc.
Muchos de estos sistemas están constituidos tanto por tareas críticas como por tareas
no-críticas. Un fallo en la ejecución de las primeras tiene consecuencias graves, en tanto
que el incumplimiento de las restricciones temporales de las últimas afecta la calidad de
servicio esperada. Es vital entonces que las tareas no-críticas no afecten la correcta ejecución
de las tareas críticas. Un STR con estas características se denomina heterogéneo. En los
últimos años, gracias al incremento de la potencia de cálculo de los microprocesadores,
y la reducción de sus costos, el número de STR que permiten que coexistan estos dos
conjuntos de tareas ha aumentado.
Para lograr una correcta ejecución de un STR heterogéneo, se requiere de técnicas
que calculen y administren en línea, el tiempo ocioso disponible. De esta manera, el
planificador puede mantener la garantía decumplimiento de las constricciones temporales
de las tareas críticas, y al mismo tiempo brindar una atención aceptable a las tareas sin
requerimientos estrictos. En la actualidad, microprocesadores más potentes abren la
posibilidad de implementar estos métodos incluso en sistemas que antaño contaban con
muy baja potencia de cálculo. Sin embargo, la sobrecarga que agregan no es despreciable,
por lo que reducir el costo computacional de estos métodos sigue siendo de suma utilidad,
aún cuando se dispone de hardware con mayor capacidad de computo.
Existe una amplia literatura que aborda la problemática de la planificación de STR
heterogéneos. Sin embargo, existe una brecha significativa entre los desarrollos teóricos
en la disciplina, y las técnicas efectivamente utilizadas en la industria. Es necesario poder
comprobar el costo real y las ventajas y desventajas objetivas de implementar los modelos
teóricos de punta.
Muchos modelos teóricos no tienen en cuenta costos adicionales presentes en implementaciones
concretas. Estos son comúnmente considerados despreciables en la modelización,
a fin de simplificar el análisis, la evaluación y el desarrollo del sistema. Como
consecuencia, en la implementación real se estos parámetros se sobrestiman, lo que resulta
en una menor eficiencia del sistema. Un ejemplo común es el uso de microprocesadores
con una capacidad de cálculo por encima de la realmente requerida, lo que impacta negativamente
en el consumo de energía y en los costos. Un modelo más detallado en la etapa
de diseño, implementación y verificación, permitiría mejorar el desempeño del sistema
final, sin abandonar la garantía de predictibilidad temporal. Igualmente importantes,
se deben contar con técnicas y herramientas que permitan implementar estos modelos
métodos teóricos de manera eficiente.
La presente tesis se basa en la hipótesis de que los STR heterogéneos pueden ser eficaces
en la planificación de sus conjuntos de tareas y en el uso de sus recursos computacionales.
Bajo esta premisa, se presentan nuevos modelos y mejoras a modelos ya existentes, junto
con simulaciones, pruebas y desarrollos necesarios para su verificación. El trabajo se basa
fuertemente en la implementación práctica de los resultados teóricos, identificando las
dificultades reales que su puesta en práctica trae aparejado. De esta manera, se busca
reducir la brecha existente entre los resultados obtenidos por la investigación científica
en la disciplina de los STR, y aquello concretamente utilizado e implementado realmente
en la industria, la investigación y el desarrollo tecnológico. A Real-Time System (RTS) must warrant that its results are correct and fulfill a set of
temporal restrictions. This implies that each task completes its execution before a specific
deadline. In order to accomplish this, the predictibility and determinism of the system as
a whole is very important.
These kind of systems are used in several industries, like aircraft avionics, space
exploration, medical equipment, etc., which are mission critical. A failure in this systems
could have catastrophic consequences, like loss of human lives. Most of the time the
design and implementation of these systems is ad-hoc.
In the last decades, thanks to the growth and sophistication of embedded systems,
the application domain of the RTS increased. Nowdays they can be found on consumer
electronics, cellphones, communications systems, cars, etc.
A lot of these new kind of real-time systems are composed of both critical and noncritical
tasks. A failure in the execution of the former have severe consequences, but a
missed deadline of the later only affects the quality of service. Such a RTS is known as a
heterogeneus one.
In order to accomplish a correct execution of a heterogeneus RTS, methods and techniques
that calculates and manages the system idle-time are needed. With these tools,
the system scheduler can guarantee that all the time-critical tasks fulfill their deadlines.
Nonetheless, these techniques add an execution overhead to the system.
Although severalworks in the literature proposes solutions for many of the scheduling
problems in a heterogeneus RTS, a gap exists between these results and what is actually
used and implemented in the industry.
Many theoretical models do not take into account the additional costs present in a
concrete implementation. These are commonly considered negligible in order to simplify
the analysis, evaluation and development of the system. As a consequence, some parameters are overestimated, resulting in reduced system efficiency. A common scenario is
the use of microprocessors more powerful than required, with negative impact on energy
consumption and production costs. A more detailed model in the design and implementation
stage could improve the performance of the final system, without abandoning the
guarantee of temporal predictability. Equally important, there must be techniques and
tools that allow the implementation of these theoretical results.
The working hipothesis of this thesis is that a heterogeneus RTS could be efficient in
the scheduling of their tasks and resources. Following this premise, new models and
improvements to existing ones are presented, in conjunction with several simulations and
implementations of the theoretical results, in order to identify the real difficulties that the
implementation brings about. This seeks to reduce the gap between the scientific research
in the discipline of RTS and what actually implemented in the industry. TEXTO PARCIAL en período de teletrabajo
Colecciones
- Tesis de postgrado [1417]
El ítem tiene asociados los siguientes ficheros de licencia: