Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...
Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...
Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Sistemas</strong> <strong>de</strong> <strong>Tiempo</strong> <strong>Real</strong> <strong>Multitarea</strong>/<strong>Multiprocesadores</strong> <strong>Integrados</strong>:<br />
Diagramación con Prece<strong>de</strong>ncias Duras<br />
Rodrigo Santos<br />
Dep. Ing. Eléctrica y Comp.<br />
Universidad Nacional <strong>de</strong>l Sur<br />
CONICET<br />
{ierms@criba.edu.ar}<br />
Jorge Santos<br />
Dep. Ing. Eléctrica y Comp.<br />
Universidad Nacional <strong>de</strong>l Sur<br />
{iesantos@criba.edu.ar}<br />
Abstract<br />
Ariel Fernan<strong>de</strong>z<br />
Dep. Electrónica-FRBB<br />
Universidad Tecnológica Nacional<br />
{arifer@infovia.com.ar}<br />
En este trabajo se presenta un algoritmo para la diagramación <strong>de</strong> tareas en tiempo real sobre sistemas multiproce-<br />
sador. A diferencia <strong>de</strong> otros esquemas, en este caso los procesadores son heterogeneos y se encuentran integrados en<br />
un mismo dispositivo por lo que no hay retardos impuestos por comunicaciones entre tareas que operan en distintos<br />
procesadores. El esquema propuesto permite diagramar sistemas con un alto factor <strong>de</strong> utilización. En el trabajo se<br />
presenta una evaluación experimental y se compara la performance <strong>de</strong>l algoritmo contra otras soluciones presentes en la<br />
bilbiografía.<br />
1. Introducción<br />
En la actualidad, se ha incrementado <strong>de</strong> manera importante la utilización <strong>de</strong> sistemas embebidos para el control <strong>de</strong><br />
dispositivos. Las principales razones para ello se encuentran en la reducción <strong>de</strong> costos en el hardware y el alto nivel <strong>de</strong><br />
integración que se ha alcanzado. La aparición <strong>de</strong> microcontroladores con capacida<strong>de</strong>s <strong>de</strong> conversión <strong>de</strong> señales analógicas<br />
a digitales y digitales a análogicas, comunicación via un puerto serie, implementación <strong>de</strong> Modulación por Ancho <strong>de</strong> Pulso<br />
(Pulse Width Modulation, PWM), etc., hace <strong>de</strong> estos integrados una herramienta eficaz para el control <strong>de</strong> sistemas.<br />
El aumento <strong>de</strong> las aplicaciones que se controlan mediante sistemas embebidos impulsa a la industria a producir nuevos<br />
circuitos integrados con mayor cantidad <strong>de</strong> funciones incorporadas <strong>de</strong> modo <strong>de</strong> satisfacer los requerimientos en un solo<br />
integrado. La utilización <strong>de</strong> Arreglos Programables <strong>de</strong> Compuertas (Field Programmable Gate Arrays, FPGA) permite<br />
incrementar las funciones prácticamente a medida <strong>de</strong>l diseñador <strong>de</strong>l sistema. Sin embargo, esta tecnología está limitada<br />
en ciertos aspectos como pue<strong>de</strong>n ser el costo <strong>de</strong>l sistema por unidad, la velocidad <strong>de</strong> operación, el consumo <strong>de</strong> energía,<br />
la cantidad <strong>de</strong> pines externos necesarios para montar el sistema, etc. En los microcontroladores tradicionales se pue<strong>de</strong><br />
recurrir al uso <strong>de</strong> memorias caches, mayor cantidad <strong>de</strong> niveles <strong>de</strong> pipeline o simplemente aumento <strong>de</strong> la velocidad <strong>de</strong><br />
procesamiento para lograr una mayor performance <strong>de</strong>l sistema. Sin embargo, estas alternativas tienen algunos inconve-<br />
nientes cuando son utilizadas en sistemas embebidos que <strong>de</strong>ben operar en tiempo real: por una parte el manejo <strong>de</strong> la
memoria cache o los niveles <strong>de</strong> pipeline suelen ocasionar dificulta<strong>de</strong>s en el cálculo <strong>de</strong>l peor tiempo <strong>de</strong> ejecución; por otra<br />
parte, el incremento <strong>de</strong> la velocidad <strong>de</strong> procesamiento está asociado a un mayor consumo <strong>de</strong>l circuito integrado que obliga<br />
a redimensionar la fuente <strong>de</strong> alimentación.<br />
La utilización <strong>de</strong> procesadores con arquitecturas <strong>de</strong>l tipo Palabras <strong>de</strong> Instrucción Muy Largas (Very Large Instruction<br />
Word, VLIW), que realizan procesamiento en paralelo mediante varias unida<strong>de</strong>s aritmético lógicas, utilización <strong>de</strong> memo-<br />
ria <strong>de</strong> datos y <strong>de</strong> programa, requiere integrados gran<strong>de</strong>s y <strong>de</strong> código <strong>de</strong> programación generalmente más extenso que el <strong>de</strong><br />
los procesadores normales.<br />
En otro nivel <strong>de</strong> integración, aparecen dispositivos con varios procesadores integrados <strong>de</strong> modo <strong>de</strong> satisfacer <strong>de</strong>mandas<br />
específicas. A menudo, estas <strong>de</strong>mandas consisten en la ejecución <strong>de</strong> sistemas <strong>de</strong> tareas <strong>de</strong> tiempo real, en los cuales los<br />
resultados <strong>de</strong>ben ser correctos no sólo <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista aritmético-lógico, sino producirse antes <strong>de</strong> un cierto instante<br />
<strong>de</strong>nominado vencimiento. Un sistema <strong>de</strong> m tareas queda completamente especificado como ¢¡¤£¦¥¨§©¡¥§<br />
tarea i, simbolizada <br />
£<br />
. En cada terna, , , <strong>de</strong>notan respectivamente el tiempo <strong>de</strong> ejecución, el periodo y el vencimiento <strong>de</strong> la<br />
. En muchas aplicaciones § .<br />
Un sistema se dice diagramable cuando no se pier<strong>de</strong> ningún vencimiento. La diagramación pue<strong>de</strong> ejecutarse con dis-<br />
tintas disciplinas <strong>de</strong> priorida<strong>de</strong>s, por ejemplo: Períodos Monotónicos Crecientes (Rate Montonic, RM), Menor <strong>Tiempo</strong> al<br />
Vencimiento (Earliest Deadline First, EDF), Vencimientos Monotónicos Crecientes (Deadline Monotonic, DM), aplicable<br />
cuando ¨ .<br />
Para este tipo <strong>de</strong> aplicaciones es común la integración <strong>de</strong> microporcesadores <strong>de</strong> propósito general (General Purpose<br />
Processor, GPP) con microprocesadores auxiliares <strong>de</strong> propósito <strong>de</strong>dicado, por ejemplo Procesadores <strong>de</strong> Señales Digitales<br />
(Digital Signals Processors, DSP). Estas arquitecturas buscan beneficiarse con el paralelismo proveniente <strong>de</strong> la utilización<br />
<strong>de</strong> dos procesadores en simultáneo. Las tareas que conforman la aplicación tienen entonces diferentes subtareas que cor-<br />
ren en el procesador principal o en el procesador auxiliar. Esta estructura genera subtareas con relaciones <strong>de</strong> prece<strong>de</strong>ncia<br />
duras entre la subtarea pre<strong>de</strong>cesora y su sucesora, con lo cual todas las subtareas <strong>de</strong>ben finalizar antes <strong>de</strong>l vencimiento <strong>de</strong><br />
la tarea. Ejemplos <strong>de</strong> estas arquitecturas en la actualidad se pue<strong>de</strong>n encontrar en el sistema Janus, <strong>de</strong>sarrollado por ST<br />
Microelectronics en conjunto con Para<strong>de</strong>s [10], para el control <strong>de</strong> marcha <strong>de</strong> motores <strong>de</strong> combustión interna en vehícu-<br />
los. Otras companías han <strong>de</strong>sarrollado dispositivos similares <strong>de</strong>stinados a aplicaciones más generales como pue<strong>de</strong>n ser<br />
transmisión <strong>de</strong> vi<strong>de</strong>o o audio. Por ejemplo Texas Instruments, <strong>de</strong>sarrolló el SMJ320C80 con un Computador <strong>de</strong> Conjunto<br />
Reducido <strong>de</strong> Instrucciones (Reduced Instruction Set Computer, RISC) <strong>de</strong> 32 bits como GPP y 4 DSPs paralelos, también<br />
<strong>de</strong> 32 bits, todos acoplados internamente sobre un canal que provee acceso a una memoria RAM compartida [2, 3].<br />
Dadas las características <strong>de</strong> las tareas que corren sobre los DSP, el modo natural <strong>de</strong> ejecutarlas es sin apropiaciones,<br />
en el sentido <strong>de</strong> que cuando una tarea comienza su ejecución, no pue<strong>de</strong> ser <strong>de</strong>salojada <strong>de</strong>l procesador por otra tarea. Esto<br />
produce una diagramación asimétrica, ya que en el GPP las tareas son apropiables y en el DSP no. En la bibliografia<br />
hay varios análisis al respecto. Por ejemplo, en [4, 5] Rajkumar aborda este problema mediante dos algoritmos, Protocolo<br />
Techo <strong>de</strong> Priorida<strong>de</strong>s Múltiples (Multiple Priority Ceiling Protocol, MPCP) y Protocolo Techo <strong>de</strong> Priorida<strong>de</strong>s Distribuidas<br />
(Distributed Priority Ceiling Protocol, DPCP) que permiten compartir recursos en sistemas genéricos multiprocesador.<br />
Esta aproximación es muy pesimista ya que se basa en principios muy generales que no toman en cuenta las características<br />
particulares <strong>de</strong> cada sistema.<br />
Otra aproximación <strong>de</strong>nominada co-diagramación se presenta en [6]. Alli, varias tareas comparten múltiples recursos<br />
<strong>de</strong> procesamiento. La i<strong>de</strong>a básica consiste en dividir las tareas en partes y asignarles vencimientos individuales tales<br />
que hagan al sistema diagramable. En el trabajo original el esquema era utilizado para diagramar al procesador y la<br />
controladora <strong>de</strong> disco.<br />
Con este esquema, el análisis <strong>de</strong> la diagramabilidad pue<strong>de</strong> realizarse consi<strong>de</strong>rando el tiempo <strong>de</strong> ejecución en el DSP<br />
como una zona crítica <strong>de</strong> la tarea principal que corre en el GPP. En [1], los autores mejoran el análisis <strong>de</strong> Rajkumar y<br />
establecen un tiempo <strong>de</strong> bloqueo para cada tarea siguiendo un or<strong>de</strong>namiento RM. El test <strong>de</strong> diagramabilidad utiliza la cota<br />
hiperbólica [7]. En lo que sigue este método será <strong>de</strong>nominado GAB (Gai, Abeni, Butazzo).<br />
En el presente trabajo se plantea un mo<strong>de</strong>lo <strong>de</strong> análisis similar al <strong>de</strong> la co-diagramación. Básicamente cada tarea
es analizada como un proceso en el cual hay subtareas que se ejecutan en distintos procesadores. Se ajustan entonces<br />
vencimientos y tiempos <strong>de</strong> activación <strong>de</strong> cada subtarea <strong>de</strong> modo que el sistema sea coherente. La diagramación en el GPP<br />
se hace por EDF y en el DSP por DM.<br />
El resto <strong>de</strong>l trabajo se organiza <strong>de</strong> la siguiente manera: en la Sección 2 se presenta el mo<strong>de</strong>lo <strong>de</strong>l sistema y en la 3<br />
se analizan algunas <strong>de</strong> las soluciones previas. En la Sección 4 se formaliza el algoritmo propuesto y en la Seccion 5 se<br />
evalúa, mediante simulaciones, la performance respecto <strong>de</strong> la propuesta realizada en [1]. Finalmente en la última sección<br />
se sacan las conclusiones y se plantean trabajos futuros.<br />
2. Mo<strong>de</strong>lo <strong>de</strong>l sistema<br />
Se consi<strong>de</strong>ra una arquitectura en la cual un GPP y un DSP se encuentran integrados en un mismo chip y comparten<br />
las memorias RAM y ROM, como así también el espacio <strong>de</strong> entrada/salida. Una arquitectura comercial <strong>de</strong> características<br />
similares se presenta en Janus [10].<br />
Las comunicaciones entre las dos unida<strong>de</strong>s <strong>de</strong> procesamiento no imponen un retardo adicional ya que están integradas<br />
en el mismo chip. Debido a que la ejecución <strong>de</strong> tareas en el DSP es no apropiable, podría ocurrir que una tarea <strong>de</strong>biera<br />
esperar por su uso. Las tareas que se ejecutan en el DSP son invocadas <strong>de</strong>s<strong>de</strong> el procesador principal mediante un<br />
paradigma <strong>de</strong> Llamada a Procedimiento Remoto (Remote Procedure Call, RPC). El kernel <strong>de</strong> tiempo real en el procesador<br />
principal es el encargado <strong>de</strong> impedir que una tarea realice un RPC cuando el DSP está ocupado respondiendo a otro.<br />
Las tareas se consi<strong>de</strong>ran periódicas e in<strong>de</strong>pendientes. Cada una <strong>de</strong> ellas pue<strong>de</strong> ser dividida en tres subtareas or<strong>de</strong>nadas<br />
por relaciones <strong>de</strong> prece<strong>de</strong>ncia, <strong>de</strong> las cuales la primera y la tercera se ejecutan en el GPP y la segunda en el DSP. En<br />
general, entonces, se pue<strong>de</strong> <strong>de</strong>scribir al sistema a partir <strong>de</strong> un conjunto con tuplas or<strong>de</strong>nadas.<br />
¡¤£¦¥¨§©¡¥<br />
<br />
indica el peor tiempo <strong>de</strong> ejecución <strong>de</strong> la subtarea j <strong>de</strong> la tarea i. En este caso, j pue<strong>de</strong> tomar únicamente los valores<br />
1, 2, ó 3. Cualquiera <strong>de</strong> las subtareas pue<strong>de</strong> tener tiempo <strong>de</strong> ejecución igual a cero. En el caso particular en que § ,<br />
se dice que la tarea es regular porque no realiza ningún RPC al DSP y podrá ejecutarse <strong>de</strong> principio a fin sin ser bloqueada.<br />
Si , se dice que es una tarea DSP.<br />
Los factores <strong>de</strong> utilización <strong>de</strong>l GPP, y <strong>de</strong>l DSP se calculan como:<br />
§ ¨<br />
<br />
¨<br />
<br />
§ <br />
<br />
<br />
<br />
En la figura 1, se muestra la arquitectura <strong>de</strong>l sistema y las relaciones <strong>de</strong> prece<strong>de</strong>ncia <strong>de</strong> las mismas. En el grafo,<br />
los nodos indican las subtareas, notadas <br />
prece<strong>de</strong>ncia.<br />
<br />
(subtarea j <strong>de</strong> la tarea i), mientras que los arcos simbolizan la relación <strong>de</strong><br />
Fig.1
3. Trabajos previos<br />
En la evolución temporal <strong>de</strong>l sistema, cuando una tarea acce<strong>de</strong> al DSP y comienza a ejecutarse, libera el GPP abriendo<br />
la posibilidad <strong>de</strong> que una tarea regular u otra tarea DSP comience o continue su ejecución. Sin embargo, la asignación<br />
<strong>de</strong> ese tiempo <strong>de</strong> procesador resulta dificultosa porque al haber relaciones <strong>de</strong> prece<strong>de</strong>ncia y un multiprocesamiento, disci-<br />
plinas como RM o EDF no siempre producen la mejor diagramación <strong>de</strong>l sistema.<br />
El sistema tal cual es planteado en este trabajo pue<strong>de</strong> ser analizado como un caso particular <strong>de</strong>l mo<strong>de</strong>lo general expuesto<br />
por Rajkumar en [4, 5]. En este caso, el test <strong>de</strong> diagramabilidad <strong>de</strong>bería satisfacer:<br />
§ £<br />
<br />
<br />
<br />
<br />
<br />
don<strong>de</strong> simboliza el mayor tiempo <strong>de</strong> bloqueo que pue<strong>de</strong> sufrir<br />
<br />
¨<br />
<br />
<br />
<br />
©¨<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
¡ <br />
y se calcula <strong>de</strong> la siguiente manera:<br />
<br />
<br />
<br />
Esta aproximación tiene el inconveniente <strong>de</strong> que el tiempo <strong>de</strong> ejecución <strong>de</strong>l DSP es contado para todas las tareas, aún<br />
para aquéllas que no hacen uso <strong>de</strong>l DSP.<br />
En [1], se mejora esta propuesta al consi<strong>de</strong>rar dos colas <strong>de</strong> tareas, una para las tareas regulares y otra para las tareas<br />
<strong>de</strong> DSP. Los pedidos <strong>de</strong> uso <strong>de</strong>l DSP se implementan mediante una primitiva <strong>de</strong> bloqueo que suspen<strong>de</strong> la tarea que hace<br />
el requerimiento y la coloca en una cola <strong>de</strong> espera para ser reactivada cuando el DSP que<strong>de</strong> libre. De esa manera, las<br />
tareas regulares pue<strong>de</strong>n ejecutarse siempre que estén listas y tengan la prioridad suficiente como para apropiarse <strong>de</strong>l GPP<br />
sin que importe si el DSP está siendo usado por una tarea <strong>de</strong> mayor o menor prioridad. De esta manera, las tareas que<br />
utilizan el DSP son bloqueadas únicamente por otras tareas que también lo usan. Por lo tanto, al <strong>de</strong>terminar el bloqueo<br />
que <strong>de</strong>be tolerar una tarea, hay que tener en cuenta la duración máxima <strong>de</strong> la tarea <strong>de</strong> DSP <strong>de</strong> menor prioridad y a<strong>de</strong>más<br />
la interferencia que puedan provocar las tareas <strong>de</strong> mayor prioridad que utilicen también el DSP. De este modo, será:<br />
<br />
<br />
<br />
©<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Determinado el tiempo <strong>de</strong> bloqueo se pue<strong>de</strong> verificar la diagramabilidad a partir <strong>de</strong>l test tradicional <strong>de</strong> Liu y Layland<br />
[8], o por medio <strong>de</strong> la cota hiperbólica [7], o por los métodos exáctos [Lehozcky, Santos], que son más costoso en tiempo.<br />
Esta aproximación mejora mucho la capacidad <strong>de</strong> <strong>de</strong>cisión sobre la factibilidad <strong>de</strong> los sistemas y en caso <strong>de</strong> utilizar la<br />
cota hiperbólica permite <strong>de</strong>cidir sobre un mayor número <strong>de</strong> sistemas en tiempo O(n). La utilización <strong>de</strong>l método exacto<br />
resulta costosa si se <strong>de</strong>be realizar el test en linea. Si en cambio pue<strong>de</strong> ejecutarse fuera <strong>de</strong> línea, como es el caso <strong>de</strong> sistemas<br />
completamente <strong>de</strong>finidos en su inicialización, sus resultados son mejores que los producidos por los otros métodos.<br />
Dado que el bloqueo <strong>de</strong>l DSP sólo se consi<strong>de</strong>ra sobre las tareas que hacen uso <strong>de</strong>l mismo, el algoritmo tiene una mejor<br />
performance que el DPCP con una complejidad computacional similar.<br />
4. El Algoritmo Propuesto<br />
El mo<strong>de</strong>lo divi<strong>de</strong> a cada tarea en tres subtareas or<strong>de</strong>nadas por relaciones <strong>de</strong> prece<strong>de</strong>ncia. Por ello se reasignan<br />
vencimientos y tiempos <strong>de</strong> activación a cada subtarea a fin <strong>de</strong> po<strong>de</strong>r analizarlas y diagramarlas en forma individual,<br />
como si se tratara <strong>de</strong> tareas in<strong>de</strong>pendientes. El primer paso consiste entonces en transformar el conjunto ¢¡¤£¦¥§© <br />
,<br />
en el conjunto ¨¡¤£¦¥§©¡<br />
<br />
y un tiempo <strong>de</strong><br />
activación , <strong>de</strong> modo que se cumpla:<br />
<br />
<br />
<br />
<br />
¥ ¡¤£¦¥ <br />
. En hay que <strong>de</strong>finir para cada <br />
un vencimiento <br />
<br />
<br />
<br />
§<br />
<br />
§ <br />
<br />
<br />
<br />
Se dice entonces que el sistema es coherente. La primera y tercera subtareas se ejecutan en el GPP mientras que la<br />
segunda en el DSP. Por lo tanto, habrá dos sistemas diferentes, uno en cada procesador, por lo que hay que analizar la<br />
¥
diagramabilidad <strong>de</strong> cada uno por separado. El GPP se diagramará con EDF y el DSP con DM. Al igual que en GAB, una<br />
tarea DSP se bloquea y pasa a una cola <strong>de</strong> espera si no tiene acceso al DSP. Cuando la tarea que se está ejecutando en el<br />
DSP concluye, activa a la tarea <strong>de</strong> mayor prioridad (vencimiento relativo menor) que se encuentra presente en la cola <strong>de</strong><br />
espera. Como no es apropiable, hay que acotar el tiempo que una tarea <strong>de</strong> prioridad alta pue<strong>de</strong> permanecer en la cola <strong>de</strong><br />
espera aguardando que una tarea <strong>de</strong> menor prioridad libere al DSP.<br />
Para establecer la diagramabilidad <strong>de</strong>l DSP se utiliza el siguiente teorema:<br />
Teorema 1: Un sistema<br />
ables es diagramable por DM si y sólo si:<br />
¢¡£¥¨§©¡¥ § £<br />
§ £ ¨§ <br />
© <br />
menor<br />
La <strong>de</strong>mostración pue<strong>de</strong> encontrarse en http://www.ingelec.uns.edu.ar/rts.<br />
¤<br />
<br />
<br />
<strong>de</strong> tareas periódicas, in<strong>de</strong>pendientes y no apropi-<br />
Para po<strong>de</strong>r aplicar el teorema y asi <strong>de</strong>terminar la factibilidad <strong>de</strong>l DSP es necesario establecer para cada subtarea un<br />
vencimiento a<strong>de</strong>cuado. Dado que en el GPP las tareas se ejecutan por EDF, el momento más tardío en que pue<strong>de</strong> terminar<br />
<br />
<br />
<br />
la subtarea que corre en el DSP y aún <strong>de</strong>jar tiempo suficiente para la tercera subtarea es:<br />
<br />
§ <br />
Determinados los vencimientos <strong>de</strong> todas las subtareas que se ejecutan en el DSP, se las or<strong>de</strong>na por DM y se realiza<br />
el test <strong>de</strong> diagramabilidad <strong>de</strong> acuerdo al Teorema 1. Si el DSP resulta diagramable entonces se pue<strong>de</strong> seguir analizando<br />
la factibilidad <strong>de</strong>l GPP. Para ello se utiliza un resultado <strong>de</strong>mostrado formalmente en [9] que establece las condiciones<br />
suficientes para la diagramabilidad <strong>de</strong> un sistema operando bajo EDF cuando las tareas tienen vencimientos y tiempos <strong>de</strong><br />
activación no sincrónicos con los períodos: S(m) es diagramable bajo EDF si<br />
§ £<br />
, § £<br />
, | <br />
<br />
, <br />
<br />
<br />
(1)<br />
,<br />
<br />
<br />
La aplicación <strong>de</strong>l resultado anterior a las subtareas <strong>de</strong>l GPP permite <strong>de</strong>terminar la factibilidad <strong>de</strong>l sistema. Para ello<br />
hay que <strong>de</strong>terminar tanto los tiempos <strong>de</strong> activación <strong>de</strong> las subtareas, y , como así también los sus vencimientos, <br />
y <br />
.<br />
El vencimiento <strong>de</strong> la tercer subtarea es sencillo <strong>de</strong> <strong>de</strong>terminar y coinci<strong>de</strong> con el <strong>de</strong> la tarea general. Para calcular el<br />
vencimiento <strong>de</strong> la primer subtarea, hay que <strong>de</strong>terminar el instante más tardío en el que pue<strong>de</strong> comenzar a ejecutarse la<br />
segunda subtarea. El mismo surge <strong>de</strong> la condición <strong>de</strong> diagramabilidad para cada una <strong>de</strong> las subtareas <strong>de</strong>l DSP:<br />
§ £<br />
<br />
§<br />
<br />
£ ¨§ <br />
<br />
<br />
© <br />
<br />
¤<br />
<br />
<br />
<br />
¨<br />
<br />
<br />
(2) <br />
A cada subtarea se le asigna el tiempo más temprano <strong>de</strong> activación que pue<strong>de</strong> tener. En el caso <strong>de</strong> la primera subtarea,<br />
coinci<strong>de</strong> con la activación <strong>de</strong> la tarea general. Para el resto se calcula siguiendo el siguiente esquema:<br />
§ £ § §<br />
Establecidos entonces los valores <strong>de</strong> los tiempos <strong>de</strong> activación y <strong>de</strong> los vencimientos parciales po<strong>de</strong>mos consi<strong>de</strong>rar un<br />
nuevo sistema en el cual las tareas son in<strong>de</strong>pendientes y tienen esos tiempos <strong>de</strong> activación con esos vencimientos.<br />
Teorema 2: Sea §© ¥§ ¡¤ ¤<br />
, y <br />
un or<strong>de</strong>namiento parcial en S. Sea §© ¡¤ ¥§<br />
<br />
¤<br />
un conjunto <strong>de</strong> tareas in<strong>de</strong>pendientes tales que, para<br />
<br />
<br />
<br />
<br />
<br />
todo<br />
<br />
, §<br />
, <br />
<br />
y y<br />
<br />
fórmulas (1), (2) y (3), S es diagramable si y sólo si S* es diagramable.<br />
La <strong>de</strong>mostración formal <strong>de</strong>l teorema pue<strong>de</strong> encontrarse en http://www.ingelec.uns.edu.ar/rts<br />
En consecuencia, sólo queda establecer la condición suficiente <strong>de</strong> diagramabilidad.<br />
Corolario 1: Sea §© ¡¤ <br />
<br />
dados por las fórmulas (1), (2) y (3), S es diagramable si<br />
verifica:<br />
(3)<br />
están dados por las<br />
¥§ ¤ <br />
, y un or<strong>de</strong>namiento parcial en S. Para<br />
<br />
<br />
<br />
<br />
<br />
todo<br />
<br />
y<br />
<br />
§<br />
, § <br />
<br />
, <br />
<br />
<br />
<br />
, tales que <br />
, <br />
<br />
, se
El Teorema 1 y el Corolario 1 dan las condiciones suficientes <strong>de</strong> diagramabilidad para el sistema que estamos anal-<br />
<br />
<br />
izando. La complejidad <strong>de</strong>l cálculo para <strong>de</strong>terminar la diagramabilidad en el DSP es<br />
p es la cantidad <strong>de</strong> tareas que quedan luego <strong>de</strong> la transformación.<br />
5. Evaluación experimental<br />
¡£<br />
<br />
¥ . En el GPP es <br />
¡¥ , don<strong>de</strong><br />
Para validar el método se realizaron dos grupos diferentes <strong>de</strong> simulaciones. Ellos son: en el primero se repitieron las<br />
condiciones establecidas en [1] aunque manteniendo el número <strong>de</strong> tareas en 10:<br />
Los períodos <strong>de</strong> las tareas se eligieron aleatoriamente entre 10 y 1000.<br />
Los tiempos <strong>de</strong> ejecución <strong>de</strong> las tareas fueron elegidos <strong>de</strong> modo tal que el factor <strong>de</strong> utilización total <strong>de</strong>l sistema,<br />
<br />
GPP+DSP variara entre 0.01 y 0.99.<br />
Las tareas que utilizan el DSP son en promedio el 80% <strong>de</strong>l número total <strong>de</strong> tareas.<br />
El tiempo <strong>de</strong> ejecución <strong>de</strong> la tarea en el DSP se calculó <strong>de</strong> modo que variara entre el 10% y el 80% <strong>de</strong>l tiempo <strong>de</strong><br />
<br />
ejecución total.<br />
Se <strong>de</strong>termina el porcentaje <strong>de</strong> sistemas diagramables referido al total <strong>de</strong> sistemas ensayados en la simulación.<br />
Con estas condiciones se generaron sistemas que fueron evaluados mediante el método GAB por un lado, y con el<br />
método propuesto en el presente trabajo por el otro. Se midió luego la diferencia entre los porcentajes <strong>de</strong> los sistemas<br />
diagramables por uno y otro método. La figura 2 representa los resultados <strong>de</strong> este experimento.<br />
Fig. 2 U y U <br />
indican el factor <strong>de</strong> utilización <strong>de</strong>l DSP y <strong>de</strong>l GPP respectivamente. En abcisas se representa su<br />
suma y en or<strong>de</strong>nadas la diferencia entre los porcentajes <strong>de</strong> sistemas diagramables por cada uno <strong>de</strong> los métodos.
En la figura se observa claramente que hasta un factor <strong>de</strong> utilización total <strong>de</strong> 0.3, los dos métodos brindan resultados<br />
similares. Entre 0.3 y 0.75, los sistemas son diagramados mejor con el método GAB y cuando el factor <strong>de</strong> utilización total<br />
es mayor que 0.75, con el método propuesto en este trabajo.<br />
Los resultados anteriores sin embargo, se obtienen en condiciones <strong>de</strong> simulación bastante restrictivas. De hecho con<br />
dos procesadores, se pue<strong>de</strong> esperar un factor <strong>de</strong> utilización total bastante mayor que 1. Se realizó entonces un segundo<br />
conjunto <strong>de</strong> simulaciones. En ellas, se varió el factor <strong>de</strong> utilización <strong>de</strong>l GPP entre 0.01 y 0.99 y para cada uno <strong>de</strong> los<br />
puntos anteriores se varió el factor <strong>de</strong> utilización <strong>de</strong>l DSP entre 0.01 y 0.99. Para cada par <strong>de</strong> factores <strong>de</strong> utilización, se<br />
generaron 100 sistemas aleatorios con períodos comprendidos entre 10 y 1000. En la figura 3, se graficó, para cada par,<br />
la diferencia en los porcentajes <strong>de</strong> los sistemas que resultaron diagramables por cada uno <strong>de</strong> los métodos.<br />
Fig. 3 En el eje vertical se representa la diferencia entre los porcentajes <strong>de</strong> sistemas diagramables (%método<br />
propuesto-%método GAB).<br />
Se pue<strong>de</strong> apreciar que cuando el factor <strong>de</strong> utilización <strong>de</strong>l GPP es cercano a 1 y el factor <strong>de</strong> utilización <strong>de</strong>l DSP cercano<br />
a 0, el número <strong>de</strong> sistemas que resultan diagramables por medio <strong>de</strong>l método propuesto aqui es sustancialmente mayor.<br />
Sin embargo, a medida que el factor <strong>de</strong> utilización <strong>de</strong>l DSP aumenta y supera 0.5, la diferencia entre las dos propuestas<br />
se hace muy pequeña.<br />
6. Conclusiones<br />
En este trabajo se presentó un nuevo algoritmo <strong>de</strong>stinado a la diagramación <strong>de</strong> sistemas multiprocesadores heterogé-<br />
neos integrados en un solo dispositivo. Uno <strong>de</strong> los procesadores es <strong>de</strong> propósito general (GPP) y el otro <strong>de</strong> propósito<br />
<strong>de</strong>dicado, por ejemplo un procesador <strong>de</strong> señales digitales (DSP). Las tareas se analizan con relaciones <strong>de</strong> prece<strong>de</strong>ncia<br />
operando bajo dos disciplinas <strong>de</strong> priorida<strong>de</strong>s diferentes: EDF y DM para el GPP y el DSP respectivamente. Las sim-<br />
ulaciones muestran que para <strong>de</strong>terminadas combinaciones <strong>de</strong> factores <strong>de</strong> utilización <strong>de</strong> los dos procesadores el método<br />
presentado aqui es mejor que el propuesto en [1] (GAB) y en otros casos tienen una performance parecida. Por ejemplo,<br />
cuando el factor <strong>de</strong> utilización en el GPP es elevado y en el DSP es bajo, el método supera al GAB. Esto es natural ya<br />
que con EDF se pue<strong>de</strong>n diagramar sistemas que con priorida<strong>de</strong>s fijas no. A medida que el factor <strong>de</strong>l utilización <strong>de</strong>l DSP<br />
aumenta no hay diferencia entre los métodos ya que en la mayor parte <strong>de</strong> los casos los sistemas con tan elevados factores<br />
<strong>de</strong> utilización no resultan factibles. Al <strong>de</strong>scen<strong>de</strong>r la utilización <strong>de</strong>l GPP se pue<strong>de</strong> elevar mas la utilización <strong>de</strong>l DSP. En
estos casos nuevamente el método propuesto tiene una mejor performance. Finalmente con bajos factores <strong>de</strong> utilización<br />
<strong>de</strong>l GPP los dos métodos encuentran factibles los mismos sistemas, por lo que no hay diferencias.<br />
Es por ello, que al momento <strong>de</strong>l diseño <strong>de</strong>l sistema y <strong>de</strong> realizar el análisis <strong>de</strong> factibilidad, será preciso evaluar la<br />
<strong>de</strong>manda real sobre los dos procesadores. En caso <strong>de</strong> que la misma sea baja será mejor implementar la disciplina RM en<br />
ambos procesadores. Si en cambio, el GPP tiene un factor <strong>de</strong> utilización elevado, será mejor el manejo mediante EDF con<br />
relaciones <strong>de</strong> prece<strong>de</strong>ncia.<br />
En el futuro se evaluará la factibilidad <strong>de</strong> este algoritmo en el caso <strong>de</strong> que haya varios procesadores y que las tareas<br />
<strong>de</strong>ban ejecutar diferentes funciones en cada uno <strong>de</strong> ellos.<br />
Agra<strong>de</strong>cimiento: Los autores agra<strong>de</strong>cen a un revisor anónimo importantes observaciones que contribuyeron a mejorar la<br />
presentación <strong>de</strong>l trabajo.<br />
References<br />
[1] Gai, P., L. Abeni, G. Butazzo, “Multiprocessor DSP Scheduling in System-on-a-chip Architectures”, Proc. 14th<br />
Euromicro Conference on <strong>Real</strong> Time Systems, pp. 231-238, Viena, 2002.<br />
[2] Texas Instruments, “Military semiconductor products fact sheet SM320C80/SMJ20C80/5962-9679101<br />
SGYV006C”, Agosto 2000.<br />
[3] K. K. P. Research, “Increasing functionality in set-top boxes”, Proc. IIC-Korea, Seul, 2001.<br />
[4] Rajkumar, R., L. Sha, J. P. Lehoczky, “<strong>Real</strong> time synchronization protocols for multiprocessors”, Proc. IEEE <strong>Real</strong><br />
Time Systems Symposium, 1988.<br />
[5] Rajkumar, R. “Synchronization in <strong>Real</strong> Time Systems: A priority inheritance approach”, Kluwer Aca<strong>de</strong>mic Publish-<br />
ers, 1991.<br />
[6] Saewong, S., R. Rajkumar, “Cooperative scheduling of multiple resources”, Proc. IEEE <strong>Real</strong>-Time Systems Sympo-<br />
sium, Diciembre 1999.<br />
[7] Bini, E., G. Buttazzo, G. Buttazzo, “A hyperbolic bound for the rate monotonic algorithm”, Proc. 13th Euromicro<br />
Conference on <strong>Real</strong>-Time Systems, junio, 2001.<br />
[8] C. L. Liu & J. W. Layland, Scheduling Algorithms for Multiprogramming in a Hard <strong>Real</strong>-Time Environment, Journal<br />
ACM, 20 (1), 1973, 46-61.<br />
[9] Chetto, H., M. Silly-Chetto, T. Bouchentouf, “Dynamic scheduling of real-time tasks un<strong>de</strong>r prece<strong>de</strong>nce constraints”,<br />
The Journal of <strong>Real</strong>-Time Systems, 2, 181-194, 1990.<br />
[10] Ferrari, A., S. Garue, M. Peri, S. Pezzini, L. Valsecchi, F. Andreatta, W. Nesci, “The <strong>de</strong>sign and implementation of<br />
a dual-core platform for power-train systems”, Convergence 2000, Detroit, Octubre 2000.