PDF de programación - MASTER EN COMPUTACIÓN - Sistemas Distribuidos de Tiempo Real - Apuntes: TEMA 7. Middlewares de distribución de tiempo real

Imágen de pdf MASTER EN COMPUTACIÓN - Sistemas Distribuidos de Tiempo Real - Apuntes: TEMA 7. Middlewares de distribución de tiempo real

MASTER EN COMPUTACIÓN - Sistemas Distribuidos de Tiempo Real - Apuntes: TEMA 7. Middlewares de distribución de tiempo realgráfica de visualizaciones

Publicado el 14 de Enero del 2017
920 visualizaciones desde el 14 de Enero del 2017
384,0 KB
17 paginas
Creado hace 11a (04/04/2013)
MASTER EN COMPUTACIÓN

UNIVERSIDAD
DE CANTABRIA

Sistemas Distribuidos de Tiempo Real

Apuntes: TEMA 7

Por:

J. Javier Gutiérrez

[email protected]
http://www.ctr.unican.es/
Grupo de Computadores y Tiempo Real, Universidad de Cantabria

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

1

Sistemas distribuidos de tiempo real

UNIVERSIDAD
DE CANTABRIA

PARTE III: Middlewares de distribución

• TEMA 5. Middleware de distribución para el modelo Ada
• TEMA 6. Middleware de distribución esquizofrénico para

lenguaje Ada: CORBA y DSA

• TEMA 7. Middlewares de distribución de tiempo real

2

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

Introducción
Esquema de desarrollo de sistemas distribuidos

Modelo de Sistema Distribuido

Código del
Prototipo

Código de
Emulación

Prototipo Ejecutable

Prototipo de Sistema Distribuido

Descripción del Sistema

Configuración del Sistema

Modelado del Sistema

Herramienta de

Generación de Código

Código de
la Aplicación

Herramienta
de Análisis

Código Ejecutable
de la Aplicación

Tiempos de
Respuesta

• integrar diseño, implementación y análisis

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

3

Introducción (cont.)
Se necesita una plataforma distribuida de tiempo real:
• Sistema operativo de tiempo real: MaRTE OS
• Redes de tiempo real: RT-EP o bus CAN
• Middleware de tiempo real:

- RT-GLADE: modificación de GLADE con optimización de las

características de tiempo real

- PolyORB: mejorado en el tratamiento de las llamadas remotas

UNIVERSIDAD
DE CANTABRIA

Aplicaciones que se pueden abordar principalmente:
• sistemas empotrados con un pequeño número de procesadores

y redes (heterogéneos)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

4

Introducción (cont.)
Herramientas de modelado y análisis de planificabilidad:
• MAST (Modeling and Analysis Suite for Real Time Applications):
- modelo del sistema, técnicas de análisis (prioridades fijas y EDF) y

UNIVERSIDAD
DE CANTABRIA

asignación de prioridades

• Modelo de tiempo real para UML analizable por MAST
• Emulador que opera sobre el modelo de MAST (tiempos

promedio y contraste de resultados del análisis)

Planificación flexible:
• QoS y tiempo real tratados simultáneamente en un sistema

basado en contratos y con planificación jerárquica

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

5

Recordatorio de GLADE
Detalles de la implementación desde el punto de vista del tiempo
real:
• Linux sobre TCP/IP
• pool de tareas configurable por cada partición para la ejecución

UNIVERSIDAD
DE CANTABRIA

de peticiones remotas

• creación dinámica de tareas conectoras de las peticiones en la

partición llamada
- Acceptor Task --> Connector Task --> Tarea del pool

• políticas de prioridades para las tareas del pool:

- Client Propagated (ejecución remota a la prioridad del cliente)
- Server Declared (todas las tareas del pool a la misma prioridad)

• elección arbitraria de una red de entre las disponibles

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

6

Recordatorio del esquema de RPC en
GLADE

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

7

Importancia de las asignaciones de
prioridades en tiempo real
Ejemplo con Task_1 y Task_2 con requisitos temporales D=T

UNIVERSIDAD
DE CANTABRIA

CPU1
CPU1

Task_1 C= 0.24
Task_1 C= 0.24
Task_1 C= 0.24
T=1.0
T=1.0
T=1.0

ROP_2 : C=0.44
ROP_2 : C=0.44
Task_3 C= 0.0002
Task_3 C= 0.0002
Task_3 C= 0.0002
T=10.0
T=10.0
T=10.0
ROP_4 : C=0.03
ROP_4 : C=0.03
Task_5 C= 0.0001
Task_5 C= 0.0001
Task_5 C= 0.0001
T=0.002
T=0.002
T=0.002

CPU2
CPU2

ROP_1 : C=0.34
ROP_1 : C=0.34
Task_2 C= 0.16
Task_2 C= 0.16
Task_2 C= 0.16
T=1.2
T=1.2
T=1.2
ROP_3 : C=1.0
ROP_3 : C=1.0
Task_4 C= 0.0001
Task_4 C= 0.0001
Task_4 C= 0.0001
T=0.2
T=0.2
T=0.2

ROP_5 : C=0.004
ROP_5 : C=0.004

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

Importancia de las asignaciones de
prioridades en tiempo real (cont.)
Evaluación en GLADE/Linux:

8

UNIVERSIDAD
DE CANTABRIA

High

Priority
Policy

Client

Propagated

Server
Declared

Task_2
Prio.

ROP_2
Prio.

Task_1
Prio.

Task_1
ROP_1
WCRT (s)
Prio.
D = 1.0
D = 1.0
High Medium Medium 1.389
1.293
Medium Medium High
High Media High Medium 1.526
High Medium Medium 1.523
High
1.440

Medium Medium High

High

High

Task_2
WCRT (s)
D = 1.2
D = 1.2
1.496
1.416
1.336
1.337
1.394

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

9

Importancia de las asignaciones de
prioridades en tiempo real (cont.)
Evaluación en RT-GLADE/MaRTE OS

UNIVERSIDAD
DE CANTABRIA

Priority
Priority
Policy
Policy
MAST
MAST

(network no priorit.)
(network no priorit.)

Client
Client

Propagated
Propagated

Server
Server
Declared
Declared

ROP_1
ROP_1
Prio.
Prio.

Task_2
Task_2
Prio.
Prio.

ROP_2
ROP_2
Prio.
Prio.

Task_1
Task_1
Task_1
Task_1
WCRT (s)
WCRT (s)
Prio.
Prio.
D = 1.0
D = 1.0
D = 1.0
D = 1.0
High Medium High Medium 0.806
High Medium High Medium 0.806
High Medium Medium 0.638
High Medium Medium 0.638
High
High
High No Acot.
High No Acot.
Medium Medium High
Medium Medium High
High Medium High Medium 1.538
High Medium High Medium 1.538
High Medium Medium 2.148
High Medium Medium 2.148
High
High
High No Acot.
High No Acot.

Medium Medium High
Medium Medium High

Task_2
Task_2
WCRT (s)
WCRT (s)
D = 1.2
D = 1.2
D = 1.2
D = 1.2
0.898
0.898
1.527
1.527
0.653
0.653
1.149
1.149
2.887
2.887
0.655
0.655

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

10

Introducción a RT-GLADE
Modificación de GLADE que sigue conforme al estándar Ada:
• priorización de las tareas manejadoras de RPCs y de los

UNIVERSIDAD
DE CANTABRIA

mensajes enviados por la red

• incorporación de las redes RT con particionamiento del mensaje

en paquetes

• eliminación de la incertidumbre en la selección de una red de

entre las varias posibles

• eliminación de la creación dinámica de tareas en la recepción de

una RPC

• adaptación de la configuración del sistema incluyendo aspectos

de las redes de tiempo real

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

11

Esquema de RPC en RT-GLADE

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

12

UNIVERSIDAD
DE CANTABRIA

Asignación de prioridades en
RT-GLADE
with System.Garlic.Priorities;
use System.Garlic.Priorities;
package RPC_Priorities is
procedure Set (RPC_Handler : in Global_Priority);
procedure Set (RPC_Handler,
Outgoing_Message : in Global_Priority);
procedure Set (RPC_Handler,
Outgoing_Message,
Incoming_Message : in Global_Priority);
procedure Get (RPC_Handler,
Outgoing_Message,
Incoming_Message : out Global_Priority);
end RPC_Priorities;

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

Ejemplo de uso de la asignación de
prioridades

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

Ejemplo de uso de la asignación de
prioridades (cont.)

13

UNIVERSIDAD
DE CANTABRIA

14

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

15

Ejemplo de uso de la asignación de
prioridades (cont.)

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

16

Configuración en RT-GLADE
La carga de las particiones se realiza manualmente
Con el atributo Self_Location se configuran los enlaces entre
particiones (Partition Links):
• alternativa a los canales que establece una conexión

unidireccional entre particiones y sirve para fijar la red que se
utiliza y no los filtros (que no se usan)

UNIVERSIDAD
DE CANTABRIA

El atributo Task_Pool se usa siempre con una configuración
estática (los tres valores iguales) para evitar la creación y
destrucción dinámica de tareas

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

17

Configuración en RT-GLADE (cont.)
El atributo Priority establece la prioridad inicial del Accept
Handler:
• esto permite asignarle una prioridad inferior a la de las tareas de

comunicaciones y superior a cualquiera de la aplicación

UNIVERSIDAD
DE CANTABRIA

• en GLADE este atributo se añadió para fijar la prioridad de todas
las tareas manejadoras de RPC dentro de una misma partición
El nuevo atributo Max_RPC_Replies establece el número máximo
de llamadas RPCs simultáneas desde una partición:
• fija el número de entries del objeto protegido en el que las tareas

que han realizado una RPC esperan su respuesta

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

18

Ejemplo de configuración de
RT-GLADE
configuration Configuration_File is

pragma Starter (None);
Partition1: partition := (Calculator);
Partition2: partition := (Remote_Caller);
Partition3: partition;
procedure Remote_Caller is in Partition2;
procedure Local_Caller;
for Partition3’Main use Local_Caller;
pragma Boot_Location (("RT_EP", "CPU1:1"));

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez

4/abr/13

Ejemplo de configuración de
RT-GLADE (cont.)

UNIVERSIDAD
DE CANTABRIA

19

UNIVERSIDAD
DE CANTABRIA

for Partition1’Self_Location use
((("rt_ep"," CPU2:1"),("Local", "CPU2:1:Partition3")));
for Partition2’Self_Location use ("rt_ep", "CPU1:1");
for Partition3’Self_Location use

((("rt_ep"," CPU2:3"),("Local", "CPU2:3:Partition1")));

for Partition1’Priority use 27;
for Partition1’
  • Links de descarga
http://lwp-l.com/pdf1121

Comentarios de: MASTER EN COMPUTACIÓN - Sistemas Distribuidos de Tiempo Real - Apuntes: TEMA 7. Middlewares de distribución de tiempo real (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad