Estudio e implementación de estrategias para el aislamiento de tareas de tiempo real en sistemas multinúcleo
Authors
Alonso Sánchez, ÁngelDirector
Da Silva Fariña, AntonioDate
2022Document type
info:eu-repo/semantics/bachelorThesis
Version
info:eu-repo/semantics/acceptedVersion
Rights
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Access rights
info:eu-repo/semantics/openAccess
Abstract
Hoy en día un sistema de sobremesa de propósito general equipado con un procesador i7, común hoy en
día, dispone de varios núcleos que proporcionan una gran potencia de procesamiento software. Este recurso
es gestionado por los sistemas operativos de propósito general como Windows o Linux, balanceando la
ejecución de procesos entre los diferentes núcleos e incluso migrando los procesos de un núcleo a otro si
el planificador lo estima oportuno.
En la mayoría de los casos esta gestión es la adecuada. Sin embargo, existen situaciones donde el uso
de un núcleo en exclusiva mejora la respuesta temporal de la aplicación. Por ello, la posibilidad de aislar
núcleos de un procesador es una aproximación interesante a la hora de ejecutar ciertas aplicaciones que
necesitan ser ejecutadas en tiempo real, con requisitos de tiempo de respuesta muy cortos.
Si se ejecutan estas aplicaciones en varios núcleos de forma simultánea como se suelen ejecutar el resto
de las aplicaciones, la carga del planificador más las interrupciones se reparten entre los distintos núcleos,
puede generar retardos en la aplicación que hacen impredecible la respuesta temporal de la misma.
Estos retardos no son significativos a la hora de usar aplicaciones o lanzar tareas a nivel de usuario
convencional, pero, sin embargo, cuando se tratan de aplicaciones en tiempo real, estos pequeños retardos
pueden afectar al correcto funcionamiento de estas aplicaciones ya que requieren tiempos de respuesta
específicos.
A lo largo de este trabajo de fin de grado se van a analizar distintos mecanismos para el aislamiento
de un núcleo, explicando en que consiste cada mecanismo y como se pueden utilizar, realizando pruebas
con cada uno de estos tipos de mecanismos y observando los resultados que se obtienen de estas pruebas.
De esta forma se podrá determinar cuál de estos mecanismos podría ser más efectivo para reducir los
tiempos de respuesta y la latencia en las operaciones y, por tanto, ofrecer un mejor aislamiento del núcleo
de ejecución. Nowadays a general purpose desktop system equipped with an i7 processor, which is common today, has
several cores that provide great software processing power. This resource is managed by general purpose
operating systems such as Windows or Linux, balancing the execution of processes between the different
cores and even migrating processes from one core to another if the scheduler deems it appropriate.
In most cases this management is adequate. However, there are situations where the exclusive use
of one core improves the application’s time response. Therefore, the possibility of isolating cores of a
processor is an interesting approach when running certain applications that need to be executed in real
time, with very short response time requirements.
If these applications are executed on several cores simultaneously in the same way as other applications
are usually executed, the load of the scheduler plus the interrupts are distributed among the different
cores, can generate delays in the application that make its time response unpredictable.
These delays are not significant when using applications or launching tasks at the conventional user
level, but nevertheless, when dealing with real-time applications, these small delays can affect the correct
operation of these applications as they require limited response times.
Throughout this thesis we will analyze different mechanisms for the isolation of a kernel, explaining
what each mechanism consists of and how they can be used, performing tests with each of these types
of mechanisms and observing the results obtained from these tests. In this way it will be possible to
determine which of these mechanisms could be more effective to reduce response times and latency in
operations and, therefore, provide a better isolation of the execution core.
Files in this item
Files | Size | Format |
|
---|---|---|---|
TFG_Alonso_Sanchez_2022.pdf | 2.162Mb |
|
Files | Size | Format |
|
---|---|---|---|
TFG_Alonso_Sanchez_2022.pdf | 2.162Mb |
|