11.05.2013 Views

Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...

Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...

Sistemas de Tiempo Real Multitarea/Multiprocesadores Integrados ...

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!