• No se han encontrado resultados

Sistemas de Tiempo Real con requerimientos heterogéneos: integración hardware-software II

N/A
N/A
Protected

Academic year: 2017

Share "Sistemas de Tiempo Real con requerimientos heterogéneos: integración hardware-software II"

Copied!
4
0
0

Texto completo

(1)

Sistemas de Tiempo Real con Requerimientos Heterogéneos:

Integración Hardware-Software II

Javier D. Orozco2, JoséM. Urriza1, Ricardo Cayssials2, Elsa Fernández3, Mariano Ferrari3, Javier Echaiz4, Carlos E. Buckle1, Francisco E. Páez1, Gabriela Olguín1, Luis Diaz1, Eduardo Schorb1, Lucas Schorb1, Sebastián Lucas1,

Edgardo Constabel1

1

Depto. de Informática, Fac.de Ingeniería, Universidad Nacional de la Patagonia San Juan Bosco. Puerto Madryn, Argentina

+54 280-4472885 –Int. 117.

josemurriza@unp.edu.ar, cbuckle@unpata.edu.ar

2

Depto. de Ingeniería Eléctrica y Computadoras - Universidad Nacional del Sur Bahia Blanca, Argentina

+54 291-4595000 - Int. 3371. jadorozco@gmail.com

3

Depto. de Matemática, Fac.de Ingeniería, Universidad Nacional de la Patagonia San Juan Bosco. Puerto Madryn, Argentina

+54 280-4472885 –Int. 117.

4 Depto. de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur

Bahia Blanca, Argentina +54 291-4595000 - Int. 3371.

1.

Resumen

Este proyecto plantea el desarrollo de técnicas de modelado, diseño, análisis, optimización y testeo de sistemas embebidos con restricciones de tiempo y requerimientos heterogéneos, para diferentes plataformas de software y hardware, en la búsqueda de un apropiado balance entre prestaciones, rendimiento y eficiencia.

Palabras clave: Sistemas de Tiempo Real, Sistemas Operativos de Tiempo Real, Sistemas Embebidos, Planificación de CPU.

2.

Contexto

El proyecto de investigación Sistemas de Tiempo Real con Requerimientos Heterogéneos: Integración Hardware – Software II es dirigido por el Dr. Orozco de la Universidad Nacional del Sur (UNS) y es codirigido por el Dr. Urriza de la Universidad Nacional de la Patagonia San Juan Bosco (UNPSJB). Las líneas de investigación de este proyecto, coinciden con las desarrolladas por los integrantes del Real Time Systems Group, perteneciente a la Facultad de Ingeniería de la UNPSJB Sede Puerto Madryn y con líneas de

investigación desarrolladas en el Laboratorio de Sistemas Digitales del Departamento de Ing. Eléctrica y de Computadoras de la UNS del cual los doctores Orozco y Cayssials pertenecen. Además, participan dos doctores del departamento de matemática de la UNPSJB y un doctor del Departamento de Ciencias e Ingeniería de la Computación de la UNS. El proyecto es financiado por la Secretaría de Ciencia y Técnica de la UNPSJB.

3.

Introducción

Las tecnologías vinculadas a los sistemas embebidos de Sistemas de Tiempo Real (STR) son esenciales para el desarrollo de los sistemas productivos industrializados. En la actualidad, los STR han dejado de encontrarse sólo en grandes aplicaciones de las grandes industrias altamente automatizadas, en la exploración espacial, en dispositivos e instrumentación militar, en aviónica, redes de comunicaciones y sensores, entre otros, para también hallarse en la gran mayoría de dispositivos electrónicos de uso corriente. Se los puede encontrar en computadoras portátiles, tablets, teléfonos celulares, GPS, MP3s, en las computadoras de los automóviles, por mencionar algunos.

Los dispositivos de tiempo real por lo general cuentan con un Sistema Operativo de Tiempo Real (SOTR). En este, se implementan diversas técnicas y métodos como el desarrollo de políticas de: tolerancia a las fallas, atención

WICC 2014 XVI Workshop de Investigadores en Ciencias de la Computación

(2)

de tareas esporádicas y aperiódicas, atención de tareas mandatorias-opcionales, calidad de servicio (QoS), y ahorro de energía, por mencionar solamente algunas. Estas técnicas, que son parte fundamental del dispositivo, son implementadas en el núcleo del Sistema Operativo, siendo las que gobiernan parte de las decisiones del planificador de tareas.

Los STR, por lo general están operados por tareas periódicas que incluyen entre sus parámetros, los máximos tiempos de respuesta admisibles por la aplicación y en los que, las sucesivas instancias de las mismas, deben finalizar su ejecución. Este parámetro extra se denomina vencimiento. Si finaliza después de este tiempo, se dice que la tarea ha perdido su constricción temporal o vencimiento.

La clasificación de los STR se realiza dependiendo si el requerimiento sobre el cumplimiento de los vencimientos es uniforme y estricto para todo el conjunto de tareas o si existe algún tipo de tolerancia para algún subconjunto particular de ellas. Si para éstas se admite, con determinadas restricciones que permitan cierto grado de predictibilidad, la ejecución con posterioridad al vencimiento, se los denomina STR blandos, y la validez del resultado depende del sistema, pudiendo hasta no tener valor alguno si el mismo se produce fuera de un intervalo de tolerancia.

Una de las primordiales funciones del kernel de un

SOTR, es la planificación de las tareas, garantizando en principio el cumplimiento de sus vencimientos. Para esto, el planificador debe elegir a que tarea otorgar el derecho de ejecución en el procesador. Cada vez que una tarea se instancia o termina, el planificador debe examinar la cola de tareas listas y dependiendo de la política de prioridades implementada, elegir una para su ejecución.

Por otro lado, exciten diversos mecanismos implementados en los planificadores a fin de admitir la ejecución de tareas sin restricciones temporales conjuntamente con las de TR sin que comprometan el funcionamiento de estas últimas. Una de las técnicas más usuales para manejar esta heterogeneidad, es la de utilizar el tiempo ocioso que deja libre el STR en su ejecución, para habilitar el tratamiento de las tareas sin restricciones temporales. Este tiempo es el disponible en sistemas no saturados, sumado a los tiempos no utilizados por las tareas, debido a la suposición pesimista del peor caso en el cálculo del tiempo de ejecución de las mismas. Mediante métodos de administración del tiempo ocioso, es posible atender las actividades no críticas y así ofrecer una diversidad de aplicaciones sin comprometer al subsistema de TR del dispositivo.

A modo de ejemplo podemos mencionar que en un teléfono celular moderno, se puede mantener una agenda, tener juegos, sacar fotos, filmar videos, además mantener a la principal aplicación de tiempo real que es digitalizar la voz y enviarla de manera consistente sin que las

aplicaciones secundarias produzcan interrupciones o pérdidas en la transmisión.

El ahorro de energía en dispositivos móviles que funcionan a baterías, es un área importante de estudio. El incremento en los requerimientos de las aplicaciones y por la instrumentación propia de los móviles (gps, acelerómetro, magnetómetro, termómetros, etc), ha traído aparejado un importante incremento en la potencia requerida tanto para éstos cómo para de cálculo requerido a los procesadores. Esta potencia de cálculo no es utilizada en un 100% en todo momento.

Consecuentemente, la gran mayoría de los sistemas móviles necesitan técnicas y métodos de ahorro de energía que le permitan adaptar su desempeño a la demanda instantánea y así extender la carga de las baterías. De no ser así, el consumo de energía por parte del microprocesador a máximo desempeño, podría agotar la batería rápida e innecesariamente, quedando el dispositivo sin utilidad (algunas técnicas puede consultarse en [1, 2, 3, 4]), o requerir un ciclo de carga de la batería corto lo que lo convertiría en poco práctico como dispositivo móvil.

No obstante, para lograr la heterogeneidad de aplicaciones antes mencionadas, se necesitan herramientas de cálculo que permitan conocer, en tiempo de ejecución, cuánto tiempo ocioso existe y dónde se encuentra disponible sin que comprometa al STR. Existen diversas técnicas, algunas pueden verse en [2, 3, 4]. Estas permiten adelantar este tiempo ocioso, de manera de agruparlo y distribuirlo según sea necesario, logrando así flexibilizar al STR.

En particular, en los STR críticos que realizan planificación heterogénea, las tareas de tiempo real deben ser ejecutadas de manera obligatoria, respetando y garantizando que sus constricciones temporales se cumplan, para la integridad del sistema. Es necesario entonces garantizar a priori que el sistema pueda funcionar con esta heterogeneidad de aplicaciones, de manera que el planificador no ponga en riesgo las constricciones temporales que imponen las tareas de tiempo real por sobre las otras tareas ([5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]).

Lamentablemente, garantizar tanto la ejecución de las tareas de tiempo real dentro de sus vencimientos, al mismo tiempo, la ejecución de tareas no críticas (evitar la inanición) es un problema complejo y que debe realizarse en tiempo de ejecución. Esto trae aparejada entonces, la necesidad de evaluar la potencia de cálculo necesaria, no sólo para soportar la sobrecarga introducida sino también para garantizar la factibilidad del STR heterogéneo.

La eficiencia en el uso de los recursos de cálculo, espaciales y energéticos de estos sistemas, aún no es satisfactoria. Muchos de los problemas involucrados en su tratamiento son NP-Completos por lo que, su resolución es solo sub-óptima y es en general un compromiso entre

WICC 2014 XVI Workshop de Investigadores en Ciencias de la Computación

(3)

la complejidad espacial (memoria utilizada por el método), la complejidad temporal (tiempo utilizado por el método) y los recursos con que cuenta el SOTR del dispositivo.

El problema está abierto y de sumo interés por lo que es investigado de manera intensiva en diversos centros de investigación del mundo. Es fundamental proveer para la industria de dispositivos, herramientas que permitan implementaciones tecnológicas que maximicen las prestaciones de los recursos.

Hallar un apropiado balance entre una sencilla implementación, robustez y eficiencia, posibilita extender el ciclo de vida del software de tiempo real y mejorar las herramientas para el desarrollo de nuevas tecnologías. Por otro lado, es necesario contar con herramientas de validación de la especificación, diseño, optimización y testeo.

4.

Líneas de Investigación y Desarrollo

Se trata de un proyecto de investigación en las modalidades básica y aplicada, con desarrollo experimental en el área de Sistemas de Tiempo Real. Está particularmente enfocado a la planificación de tareas con requerimientos heterogéneos y como atender dichos requerimientos en función de los recursos disponibles. El principal campo de aplicación es la producción y tecnología de dispositivos de propósito dedicado y aquellos de propósito general con requerimientos de tiempo real.

5.

Resultados y Objetivos

El proyecto se inicia en octubre de 2014 y aun cuando no produjo resultados directos, el mismo es afín a la temática desarrollada durante los últimos años por lo que se espera obtener buenos resultados.

Los objetivos más importantes se pueden resumir en:  Estudiar la administración de recursos en los SOTR a

fin de aplicar los resultados teóricos en los entornos prácticos estudiados.

 Proponer mejoras o nuevas técnicas y/o re-formulaciones a las técnicas existentes para la administración óptima de los recursos temporales, espaciales y energéticos.

 Implementar y validar las nuevas técnicas y métodos propuestos sobre plataformas de desarrollo concretas.  Publicar los resultados.

Como resultados del proyecto, se espera mejorar la eficiencia de los dispositivos de propósito dedicado de tiempo real, desarrollando, mejorando e implementando

nuevos métodos y técnicas de planificación dentro del núcleo del SOTR.

Al momento de la redacción de este trabajo, en los proyectos que anteceden a este, se ha construido un simulador de STR, un generador de STR para alimentar al simulador y se han publicado varios trabajos en congresos nacionales e internacionales, así como trabajos en revistas ([17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]). Se ha implementado métodos de Slack Stealing en MarteOS (en PC), en FreeRTOS (Arduino, mbed) y se encuentra en desarrollo la implementación de un SOTR en el kit de Lego Mindstorm NXT 2.0, agreandole capacidad de planificación heterogénea. Además, se han logrado importantes optimizaciones en los algoritmos de cálculo de planificabilidad y Slack Stealing, los cuales se encuentran finalizando sus pruebas, para luego ser publicados.

6.

Formación de Recursos Humanos

En este proyecto de investigación participan 9 (nueve) docentes, 6 son docentes con el grado de doctor, 2 están en proceso de obtener un posgrado. Además, 4 (cuatro) alumnos de la carrera Licenciatura en Informática de la Sede Puerto Madryn de la UNPSJB de los cuales 3 (cuatro) de ellos han comenzado sus tesinas de grado en el marco de este proyecto que antecede y terminarán o publicarán su trabajo bajo este proyecto. También, pertenece al grupo un reciente graduado, que ha finalizado su tesina de grado en este tema. Además, uno de los docentes posee una Beca Doctoral Tipo I de CONICET de comienzo en 2012, en temas afines a este proyecto y es dirigido por otros dos docentes del proyecto, uno de la UNS y otro de la UNPSJB.

Referencias

[1] Bruno Novelli, Julius C. B. Leite, José M. Urriza and Javier Dario Orozco, "Regulagem Dinâmica de Voltagem em Sistemas de Tempo Real," in XXXII Seminário Integrado de Software e Hardware (SBC 2005 SEMISH), Unisinos -Sao Leopoldo, Brazil, 2005.

[2] José M. Urriza, Ricardo Cayssials and Javier D. Orozco, "Optimización del Cálculo del Tiempo Ocioso en Planificadores DVS con Tiempos de Ejecución Variables," in XXXII Conferencia Latinoamericana de Informática, Clei 2006, Santiago, Chile, 2006. [3] José Manuel Urriza, Ricardo Cayssials, Javier Dario Orozco and

Julius C. B. Leite, "Modelo de Tareas para recuperacion de Slack para Aplicaciones en Sistemas Enbebidos con DVS," Dep. de Ing. Eléctrica y Computadoras, Universidad Nacional del Sur, Argentina., Bahía Blanca, Reporte Interno22 de Mayo 2005. [4] José M. Urriza, Bruno Novelli, Julius C. B. Leite and Orozco

Javier Dario, "Economia de energia em dispositivos móveis," in VI Workshop de Comunicação sem Fio e Computação Móvel, Fortaleza, CE, Brasil, 2004, pp. 48–56.

WICC 2014 XVI Workshop de Investigadores en Ciencias de la Computación

(4)

[5] Robert I. Davis, "Approximate Slack Stealing Algorithms for Fixed Priority Pre-Emptive Systems," Real-Time Systems Research Group, University of York, York, England, Internal Report 1994. [6] Robert I. Davis, "Dual Priority Scheduling: A Means of Providing

Flexibility in Hard Real-Time Systems," Department of Computer Science, University of York, York, England, Internal Report1995. [7] R. I. Davis, K. W. Tindell and A. Burns, "Scheduling Slack Time

in Fixed-Priority Preemptive Systems," Proceedings of the Real Time System Symposium, Nº pp. 222-231, 1993.

[8] John P. Lehoczky and Sandra Ramos-Thuel, "An Optimal Algorithm for Scheduling Soft-Aperiodic Tasks in Fixed-Priority Preemptive Systems," in IEEE Real-Time Systems Symposium, Phoenix, Arizona, EUA, 1992, pp. 110-123.

[9] Sandra Ramos-Thuel and John P. Lehoczky, "Algorithms for Scheduling Hard Aperiodic Tasks in Fixed-Prioriys Systems using Slack Stealing," in Real-Time Systems Symposium, 1994, pp. 22-33.

[10] Sandra Ramos-Thuel and John P. Lehoczky, "On-Line Scheduling of Hard Deadline Aperiodic Tasks in Fixed-Priority Systems," in

Real-Time Systems Symposium, 1993, pp. 160-171.

[11] B. Sprunt, L. Sha and John P. Lehoczky, "Aperiodic Task Scheduling for Hard Real-Time Systems," The Journal of Real-Time Systems, vol. 1, Nº 1, pp. 27-60, 1989.

[12] José Manuel Urriza, Javier Dario Orozco and Ricardo Cayssials, "Fast Slack Stealing methods for Embedded Real Time Systems," in 26th IEEE International Real-Time Systems Symposium (RTSS 2005) - Work In Progress Session, Miami, EEUU, 2005, pp. 12-16. [13] Rodrigo M. Santos, José M. Urriza, Jorge Santos and Javier D.

Orozco, "New methods for redistributing slack time: applications and comparative evaluations," The Journal of Systems & Software,

vol. 70-2, Nº pp. 115-128, 2004.

[14] José Manuel Urriza, Ricardo Cayssials and Javier Dario Orozco, "Optimización on-line de Sistemas de Tiempo Real con Computación Imprecisa Basados en Recompensas.," in 32 JAIIO AST2003, Buenos Aires, Argentina, 2003.

[15] José Manuel Urriza, Jorge Santos and Javier Dario Orozco, "Un Algoritmo para la Diagramación de Tareas No-Duras mediante el Cálculo del Slack Time Disponible en cada Instante," in XXIX Conferencia Latinoamericana de Informática. CLEI, Bolivia, La Paz, 2003.

[16] Too-Seng Tia, Jane W. Liu and Mallikarjun Shankar, "Aperiodic Request Scheduling in Fixed-Priority Preemptive Systems," Department of Computer Science, University of Illinois, Internal Report UIUCDCS-R-94-1859, 1994.

[17] José M. Urriza, Javier D. Orozco, Ricardo Cayssials and Lucas Schorb, "Reduced Computational Cost in the Calculation of Worst Case Response Time for Real Time Systems," Journal of Computer Science & Technology, vol. 9, Nº 2, pp. 72-81, 2009. [18] José M. Urriza, Javier D. Orozco, Carlos Buckle and Ricardo

Cayssials, "Ahorro de Energía en Dispositivos con un SO de Tiempo Real que planifican en RM o DM," in Encuentro Chileno de Computacion, Santiago, Chile, 2009.

[19] José M. Urriza, Ricardo Cayssials and Edgardo Ferro, "Hardware Co-Processing Unit For Real-Time Scheduling Analsys," presented at the VI Southern Conference on Programmable Logic 2010 - Designer Forum 2010, Ipojuca Porto Galinhas Beach, Brazil, 2010. [20] José M. Urriza, Francisco E. Paez, Ricardo Cayssials, Javier D.

Orozco and Lucas Schorb, "Low Cost Slack Stealing Method dor RM/DM," International Review in Computers and Software (IRECOS), vol. 5, Nº 6, pp. 660-667, 2010.

[21] Gabriela Olguín, Laura Biscayart and José M. Urriza, "Generador de Conjuntos de Tareas para Simulación en Sistemas de Tiempo Real," presented at the JAIIO 39 - Jornadas de Informática Industrial (JII) 2010, Buenos Aires, 2010.

[22] Carlos E. E. Buckle, José M. Urriza and Francisco E. Paez, "Transitando Hacia las Bases de Datos de Tiempo Real," in JAIIO 39 - Jornadas de Informática Industrial (JII) 2010, Buenos Aires, 2010, pp. 1901-1915.

[23] Leonardo Moreno, Christian Geymonat and José M. Urriza, "Conceptos de Tiempo Real Aplicados a la Informática Industrial," presented at the CACIC 2011 - XVII Congreso Argentino de Ciencias de la Computación, La Plata, Arg., 2011.

[24] Francisco E. Paez, José M. Urriza, Javier D. Orozco and Carlos R. Buckle, "Un Modelo de Eventos Discretos para la Simulación de Sistemas de Tiempo Real," presented at the CACIC 2011 - XVII Congreso Argentino de Ciencias de la Computación, La Plata, Arg., 2011.

[25] Carlos E. Buckle, José M. Urriza, Damián P. Barry and Francisco E. Paez, "Tipo de Dato Abstracto para Sistemas de Bases de Datos de Tiempo Real," presented at the CACIC 2011 - XVII Congreso Argentino de Ciencias de la Computación, La Plata, Arg., 2011. [26] Gabriela Olguin, Laura Biscayart and José M. Urriza, "Generación

de Tareas Periódicas y Aperiódicas para Simulación de Sistemas de Tiempo Real," presented at the JAIIO 40 - Jornadas de Informática Industrial 2011, Cordoba, Arg., 2011.

[27] Francisco E. Paez, Jose M. Urriza and Javier D. Orozco, "Simulación de Tareas Aperiódicas y Esporádicas de Tiempo Real mediante un Modelo de Eventos Discretos," in JAIIO 42 - Simposio de Informática Industrial 2013, Cordoba, 2013, pp. 206-216.

[28] Francisco E. Paez, José M. Urriza, Mariano Ferrari, Ricardo Cayssials and Javier D. Orozco, "Instante Crítico con Jitter: Un Estado Poco Probable," in JAIIO 42 - Simposio de Informática Industrial, Cordoba, Argentina, 2013, pp. 217-227.

[29] Ricardo Cayssials, Edgardo Ferro, José M. Urriza and Eduardo Boemo, "Real-Time Scheduling Architecture for Embedded Systems " International Review on Computers and Software (IRECOS), vol. 8, Nº 8, 2013.

WICC 2014 XVI Workshop de Investigadores en Ciencias de la Computación

Referencias

Documento similar

We present a project implemented on the field which has two separate strands, one refers on collecting crowd sensing data through mobile apps where context is

More precisely, this work develops a software solution that captures the breath sound from a microphone located near the user and detects and identifies the

More precisely, this work develops a software solution that captures the breath sound from a microphone located near the user and detects and identifies the

One of them is [O’DRISCOLL, 2008] that focuses on making real- time context decisions in a smart classroom based on information collecting from environment sensors, po-

In this version we first read a frame from the camera and store it into the frame grabber's RAM; then we process that frame and calculate the histograms for each sub window,

With this scheme we mainly characterize the properties at very low spatial frequencies, which can be useful to analyze the applicability of holographic recording

Capital Metro also offers transit savings for businesses, employees and students through its MetroWorks employer and higher education pass programs, including the University

In the context of smart cities, dimensionality reduction of data stream or stream transformations obtained through shifted (overlapping) windows can results in a data rate,