Tasks with Speed Adjustment in Real-Time Embedded Systems

avatar

Título.jpg

Hello, Friends of Hive and dear readers, it is a pleasure to be with you presenting topics of science, research, technology, and innovation.
Hola Amigos de Hive y apreciados lectores, un gusto estar con ustedes presentándoles temas de la ciencia, investigación, tecnología e innovación.

Separador AA.jpg

When using the real-time schedulers and Dynamic Voltage and Frequency Scaling (DVFS), there is a trade-off between adjusting the voltage and/or frequency and meeting the temporal constraints of the tasks that belong to an application.

Cuando se utilizan la dupla planificadores de tiempo real y Escalamiento Dinámico Voltaje y Frecuencia (DVFS: Dynamic Voltage and Frequency Scaling), hay que propiciar el equilibrio entre el ajuste del voltaje y/o frecuencia y, el cumplimiento de las restricciones temporales de las tareas que pertenecen a una aplicación.


In addition, such a decision brings with it issues inherent to software-middleware-layer context switching to interrupt and replace a running task with another of higher priority, interrupt handling and internal memory control.

Además, tal decisión trae consigo asuntos inherentes al cambio de contexto en la capa intermedia de software para interrumpir y sustituir a una tarea en ejecución por otra de mayor prioridad, manejo de interrupciones y control de la memoria interna.


Not to mention, it is inherent to software and hardware developers to consider the timing and power requirements of the embedded systems (ES) application in the early stages of development to avoid redesigns.

Sin olvidar, lo inherente a los desarrolladores de software y hardware que deben considerar los requerimientos temporales y de energía en la aplicación con Sistemas Empotrados (SE) en las primeras fases a su desarrollo para para evitar rediseños.


So, let's see how this temporal synergy and DVFS works with the support of Figure 1.

Entonces, veamos cómo funciona esta sinergia temporal y DVFS con el apoyo de la Figura 1.


Fig 1.jpg
Figura 1. Relación entre los parámetros de tiempo real de una tarea y la velocidad de procesamiento.


Separador 2.jpg

So, let's see how this temporal synergy and DVFS works with the support of Figure 1.

Entonces, veamos cómo funciona esta sinergia temporal y DVFS con el apoyo de la Figura 1.


First: a review // Primero: un repaso


A real-time task is at least characterized by the tern Ti=(Ci, Di, Pi, φi) ∀i∈(1,2, …, N), where Ci, is the computation time required to complete its execution at each of its activations, Di is the admissible response delivery time, Pi is the activation period for the process, and φi is the initial lag. The Ci in the worst case is the WCET (Worst Case Execution Time). For more information, I invite you to the post where I explain the topic of real-time tasks.

Una tarea de tiempo real se caracteriza, por lo menos, con la terna Ti=(Ci, Di, Di, φi) ∀i∈(1,2, …, N), donde Ci es el tiempo de cómputo necesario para completar su ejecución en cada una de sus activaciones, Di es el plazo de entrega de respuesta admisible, Pi es el período de activación para el proceso y φi es el desfase inicial. El Ci en el peor caso es el WCET (Worst Case Execution Time).Para mas información, te invito al post donde explico el tema de tareas de tiempo real


Second: my contribution // Segundo: mi aporte.


On the other hand, for voltage and frequency tuning, I introduce the normalized scaling factor of the j processor frequencies αi, given by fi/fmax∀j∈(1,2,…, M), under satisfactory conditions. Where αi=1 when fi=fmax. Moreover, the conditions donde Ci. In addition, conditions are met where the values of Ci are between a minimum and maximum and, the Di≤ Pi; Ci at maximum frequency being Worst Case Execution Times (WCET). The edge Ci is the limit that allows some frequency located between fmin≤fedge≤fmax, which preserves its logical and operational properties in the processor.

Por otro lado, para el ajuste de voltaje y frecuencia, introduzco el factor de escalamiento normalizado de las j frecuencias del procesador αi, dada por fi/fmax∀j∈(1,2,…, M), en condiciones satisfactorias. Donde αi=1 cuando la fi=fmax. Además se cumplen las condiciones donde los valores de b>Ci están entre un mínimo y máximo y, el Di≤ Pi; siendo Ci a frecuencia máxima el Peor de los Casos (WCET: Worst Case Execution Times). El Ci de borde es el límite que permite alguna frecuencia ubicada entre fmin≤fborde≤fmax, que conserve sus propiedades lógicas y operacionales en el procesador.


Third: explanation // Tercero: explicación


Then, we will focus on the execution of the three (3) instances of Ti,kdepicted in Figure 1.

Entonces, nos centraremos en la ejecución de las tres (3) instancias de Ti,k representadas en la Figura 1.


In the first instance Ti,1 (blue color) is run with WCETi at fmax, it also meets the temporal conditions.

En la primera instancia Ti,1 (color azul) se ejecuta con WCETi a fmax, además cumple con las condiciones temporales.


In the second instance Ti,1 (green color) is represented at a higher Ci,2, because as the speedup decreases the execution times increase. However, it still complies with the temporal conditions.

En la segunda instancia Ti,1 (color verde) se representa a un Ci,2 mayor, porque al bajar la velocidad los tiempos de ejecución aumentan. No obstante, sigue cumpliendo con las condiciones temporales.


The third instance Ti,3 (yellow color) represents a Ci,3 that exceeds the imposed real-time constraints. Even if, the processor can reach its minimum speed, it should not be applied because it would incur a malfunction of the application where the task comes to life.

La tercera instancia Ti,3 (color amarillo) representa un Ci,3 que excede las restricciones impuestas de tiempo real. Aun cuando, el procesador pueda llegar su velocidad mínima, no se debería aplicar porque se incurriría en un mal funcionamiento de la aplicación donde hace vida la tarea.

Separador 2.jpg

Cierre.jpg


Adjusting the frequency of operation to execute a task or a set of tasks, which are being planned with real-time requirements, brings a commitment to the Embedded System developers because if it exceeds its completion deadline or period, the performance of the application would be compromised.

Ajustar la frecuencia de operación para ejecutar una tarea o un conjunto de tareas, que están siendo planificadas con requerimientos de tiempo real, trae un compromiso por parte de los desarrolladores de Sistema Empotrados, porque si se llega a exceder de su plazo de finalización o periodo, el desempeño de la aplicación estaría comprometido.


Therefore, it is recommended within the development methodology, to make early the respective models and simulations, to have quantitative approximations, which will then be reflected in the embedded software or hardware mechanisms, to take advantage of these adjustments.

Por tanto, se recomienda dentro de la metodología de desarrollo, hacer en forma temprana los modelos y simulaciones respectivas, para tener cuantitativamente aproximaciones, que luego serán plasmadas en el software empotrado o en los mecanismos por hardware, para sacar provecho de estos ajustes.


This allows making adjustments to the energy consumed by the tasks without violating their temporal characteristics, a subject that I will discuss in my next post.

Lo anterior, permite concretar ajustes de la energía consumida por las tareas sin vulnerar sus características temporales, asunto que trataré en mi próximo post.


Separador AA.jpg

See you soon, I hope the reading has been enriching.

Nos vemos pronto, espero que la lectura haya sido enriquecedora.


I invite you to visit me and follow me @alfonsoalfonsi.

Los invito a visitarme y seguirme en @alfonsoalfonsi.


Separador AA.jpg

Referencias.jpg


Alfonsi A., Yánez R. y Pérez J. (2017). Distribución del Tiempo Ocioso Orientado al Ahorro de Energía en Tareas de Control de Tiempo Real. Revista Ciencia e Ingeniería, 38(2), 159-166.
https://www.redalyc.org/journal/5075/507555007008/html/

Alsheikhy, A. (2021). Dynamic approach to minimize overhead and response time in scheduling
periodic real-time tasks. International Journal of Advanced and Applied Sciences, 8(4), 75-8.
https://doi.org/10.21833/ijaas.2021.04.009

Herrera, C., Hajek, D. & Narciso F. (2020). Principles of Operating Systems (2020 ed.). Amazon Digital Services LLC - KDP Print US.


Figure and Image Credits / Créditos a Figuras e Imágenes


Title image was made by @alfonsoalfonsi using CANVAS and PxHere image.

La imagen del Título fue realizado por @alfonsoalfonsi usando CANVAS e imagen de PxHere.


The separator is my property made with CANVAS and klipartz image.

El separador es de mi propiedad realizado con CANVAS e imagen de klipartz image.


The banner and photographs are my property. Made with Power Point, Paint and Linerock Investment LTD ToonMe application.

El banner y las fotografías son de mi propiedad. Realizado con PowerPoint, Paint y Linerock Investment LTD Aplicación ToonMe.

Baner ENG SPN.jpg



0
0
0.000
11 comments
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. 
 

0
0
0.000
avatar

Congratulations @alfonsoalfonsi! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s):

You received more than 15000 upvotes.
Your next target is to reach 20000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out the last post from @hivebuzz:

Hive Power Up Month Challenge 2022-05 - Winners List
Feedback from the June 1st Hive Power Up Day
Be ready for the 6th edition of the Hive Power Up Month!
Support the HiveBuzz project. Vote for our proposal!
0
0
0.000