Transcript
Page 1: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

1

1

TEMA 7

Sistemas de tiempo real distribuido

2

Conceptos básicos de STRD

Tecnologías y protocolos de red

Arquitectura de los STRD

Acceso al medio

Sincronización de relojes

STRD dirigidos por tiempo (Time-triggered)

Planificación de STRD

Planificación síncrona-cíclica

Planificación basada en prioridades fijas

Análisis holístico

3

Salida

Detector de piezas

Transductor de velocidad

Accionamiento del motor

Accionamiento del motor

Transductor de velocidad

Detector de piezas

Transductor de velocidad

Accionamiento del motor

M1 M2 M3

v1 v2 v3 Entrada

Consola de

operaciónμC μC μC

Bus de campo

4

Conceptos básicos de STRD

5

Definición:Colección de computadores independientes que se presenta al usuario como un sistema único y consistente [Tanembaum]

Colección de computadores autónomos interconectados a través de una red de ordenadores y equipados con software que permita compartir los recursos del sistema, hardware, software ydatos [Colouris]

EjemplosInternet, Google, Yahoo, …

Sistemas distribuidos

6

Un sistema compuesto por múltiples procesadores conectados entre sípor uno o varios recursos de comunicación en los que hay que garantizar un plazo máximo de respuesta, por lo que la planificación de los mensajes a transmitir debe estar bien establecida.

Las actividades del sistema tienen requisitos de tiempoEstos sistemas serán muy complejos, difíciles de diseñar, depurar y mantener

Se consideran sistemas débilmente acoplados.Comunicación mediante mensajesEl tiempo de comunicación es significativo. Ej. Sistemas multimedia, SCADA, aviónica, fabricación integrada, robótica.Distintos tipos de requisitos temporalesSe consideran, fundamentalmente, sistemas críticos

Sistema de tiempo real distribuido

Page 2: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

2

7

Sistema de tiempo real distribuido

VentajasReducción potencial de costes.Capacidad para compartir recursos.Mejora en el rendimiento y la escalabilidad.Autonomía local.Distribución intrínseca.Mejora de la confianza y la disponibilidad

8

Sistema de tiempo real distribuido

Problemas específicos de STRD

Planificación del medio de comunicación.

Asignación de tareas a procesadores.

Plazos de respuesta globales (end-to-end).

Sincronización de relojes.

Tolerancia a fallos.

9

Sistema de tiempo real distribuido

Medio de Comunicación

En sistemas monoprocesador, el procesador suele ser el único recurso a planificar.

En STRD, hay que planificar el medio de comunicación.

Los mensajes suelen tener un plazo desde que se solicita su envío hasta que se reciben.

Para garantizar estos plazos y acotar el tiempo de envío: protocolos de comunicación deterministas.

En muchos casos la arquitectura de niveles OSI introduce demasiada sobrecarga.

10

Sistema de tiempo real distribuido

Distribución de carga

Un problema adicional es asignar tareas a procesadores.

Puede ser estática o dinámica.

Una distribución no adecuada puede infrautilizar recursos e impedir el cumplimiento de plazos.

Criterios de asignación:Los procesadores tienen recursos limitados.

Replicación de tareas.

Requisitos de utilización de recursos específicos.

Distribución geográfica.

11

Comunicación en STRD

El tiempo de comunicación es significativo

Los mensajes tienen requisitos temporales.

El medio debe ser determinista.

Pocos protocolos orientados a tiempo real.

El protocolo CSMA/CD (Carrier Sense Multiple Access with CollisionDetection, Acceso Múltiple con Escucha de Portadora y Detección de Colisiones) no es determinista.

En realizaciones prácticas hay que considerar las actividades necesarias para mandar/recibir los mensajes:

GeneraciónEncolamiento

TransmisiónEntrega

12

Tiempos

El tiempo de respuesta (rm) de un mensaje puede descomponerse en varias tareas:

• Generación (G) tiempo que tarda la aplicación en generar el mensaje y ponerlo en cola

• Encolamiento (Q) tiempo que permanece el mensaje en la cola de envío, antes de ser entregado al medio de comunicación, debido a:

• Competencia con otros mensajes del mismo procesador

• Competencia con mensajes de otros procesadores

• Transmisión (T) tiempo que el mensaje ocupa el medio de comunicación

• Entrega (E) tiempo que tarda el procesamiento del mensaje en el destino antes de notificara la tarea de destino.

Page 3: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

3

13

• Plazo de respuesta global: tiempo máximo permitido para la ejecución de una tarea, desde que se produce el evento hasta la actuación.

• Plazo de respuesta: Está asociado a una transacción (conjunto de actividades relacionadas que se sincronizan/comunican mediante mensajes para realizar un determinado servicio de comunicación).

Tiempos

14

Tiempos

Para poder analizar el tiempo de respuesta global de una transacción hay que conocer:

• los tiempos de cómputo máximo de cada tarea que interviene en la transacción

• los tiempos de transmisión máximos de los mensajes

Para garantizar estos plazos hay que acotar los tiempos de transmisión con:• Protocolos de comunicación deterministas:

• Mensajes con atributos temporales ( período, plazo) (la planificación de los mensajes también es importante)

• Se debe considerar el tiempo de transmisión completo (end-to-end), desde que una tarea envía un mensaje hasta que otra lo recibe, incluyendo los tiempos de espera en colas, buffers, etc.

15

Sincronización de relojes

Granularidad del tiempo: suficiente para la aplicación.

Los procesadores deben tener la misma visión del tiempo. Visión global del sistema.

Los relojes presentan variaciones que obligan a sincronizarlos.

La diferencia entre los valores locales del tiempo de observación del mismo evento en diferentes procesadores debe estar acotada.

La sincronización de los relojes no debe degradar el rendimiento del sistema.

Algoritmos de sincronización:Reloj lógico: Algoritmo de Lamport

Reloj físico: Algoritmo de Berkeley

Tiempos

16

Tolerancia a fallos

El sistema produce resultados correctos, aún en presencia de fallos hardware y/o software.

En STRD las actividades se completan en el plazo adecuado.

Se deben considerar fallos en procesadores y en los medios de comunicación.

Las técnicas de tolerancia a fallos para sistemas de tiempo real están muy poco maduras.

Redundancia modular triple

Servicios o servidores replicados

17

Tecnologías y protocolos de red

18

Tecnologías y protocolos de red

Topologías de diseño punto a punto.

Estrella Anillo Árbol

Completa Intersección de anillos Irregular

Page 4: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

4

19

Tecnologías y protocolos de red

Topologías de diseño de difusión.

Bus Satélite o radio Anillo

20

Tecnologías y protocolos de red

Capas, protocolos, interfasesHost A Host B

Nivel 7

Nivel 6

Nivel 4

Nivel 3

Nivel 2

Nivel 5

Nivel 1

Medio físico

Nivel 7

Nivel 6

Nivel 4

Nivel 3

Nivel 2

Nivel 5

Nivel 1

Interfaz de nivel 6/7

Interfaz de nivel 2/3

Interfaz de nivel 5/6

Interfaz de nivel 4/5

Interfaz de nivel 1/2

Protocolo de nivel 7

Interfaz de nivel 4/5

Protocolo de nivel 6

Protocolo de nivel 5

Protocolo de nivel 4

Protocolo de nivel 3

Protocolo de nivel 2

Protocolo de nivel 1

21

Tecnologías y protocolos de red

Protocolo de Comunicación es el conjunto de reglas que especifican el intercambio de datos u órdenes durante la comunicación entre las entidades que forman parte de una red de comunicaciones.

Entidad: Elemento que, en un equipo, realiza parte o la totalidad de las funciones correspondientes al nivel de la arquitectura al que pertenece.

Diálogo: Comunicación entre dos entidades del mismo nivel en máquinas distintas.

Entidades gemelas: Son entidades del mismo nivel en máquinas distintas. Siempre que en una arquitectura de protocolos tenemos una entidad de un tipo, la entidad con la que está dialogando tiene que ser igual, nivel por nivel.

Interfaz: Lo que permite que dos entidades de niveles adyacentes, en la misma máquina, se comuniquen.

Protocolo: Conjunto de reglas de comunicación que dos entidades gemelas conocen y respetan para realizar conjuntamente la función que tienen asignada.

Servicio: El resultado de realizar las funciones de un nivel de la arquitectura de protocolos y todos los inferiores, para ofrecer una funcionalidad al nivel inmediatamente superior que se considera usuario del anterior.

22

Tecnologías y protocolos de red

ICI(N) SDU(N)

SDU(N)PCI(N)

SAPInterfaz

Nivel N

Nivel N+1

CabeceraPDU(N)

SAP = Punto de acceso al servicio

IDU = Unidad de datos de la interfaz

SDU = Unidad de datos del servicio

PDU = Unidad de datos del protocolo

ICI = Información de control de la interfaz

Las entidades del nivel N intercambian PDU(N) en su protocolo de nivel N

IDU(N)

PCI = Información de control del protocoloSDU = Unidad de datos del servicio

SDU(N) = PDU(N+1)

IDU(N) = ICI(N) + SDU(N)

PDU(N) = PCI(N) + SDU(N)

ICI(N) SDU(N)

PDU(N+1)

23

Tecnologías y protocolos de red

Nivel N

Nivel N+1

Nivel N+1

SDU(N)PCI(N)

PDU(N)

PDU(N+1)

SDU(N-1)PCI(N-1)

PDU(N-1)

SDU(N)PCI(N)

PDU(N)

PDU(N+1)

SDU(N-1)PCI(N-1)

PDU(N-1)

24

Tecnologías y protocolos de red

Modelo de referencia OSI (Open System Interconnection)

Page 5: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

5

25

Modelo de referencia OSI (Open System Interconnection)

características eléctricas, mecánicas y procedimentales de la comunicación en red. Físico

conseguir que la información fluya, libre de errores, entre dos máquinas que estén conectadas directamente (servicio orientado a conexión). Enlace

conseguir que los datos lleguen desde el origen al destino aunque no tengan conexión directa.Red

encargado de la transferencia libre de errores de los datos entre el emisor y el receptor, aunque no estén directamente conectados, asícomo de mantener el flujo de la red.

Transporte

proporciona los mecanismos para controlar el diálogo entre las aplicaciones de los sistemas finales.Sesión

encargada de manejar las estructuras de datos abstractas y realizar las conversiones de representación de datos necesarias para la correcta interpretación de los mismos.

Presentación

ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos

Aplicación

Tecnologías y protocolos de red

26

Nivel físico:

Tecnologías y protocolos de red

Envío bit a bit entre nodos

Proporcionar un interfaz estandarizado para los medios de transmisión físicos, incluyendo:

Especificaciones mecánicas de los conectores eléctricos y cables, por ejemplo longitud máxima del cable

Especificación eléctrica de la línea de transmisión, nivel de señal e impedancia

Interfaz radio, incluyendo el espectro electromagnético, asignación de frecuencia y especificación de la potencia de señal, ancho de banda analógico, etc.

Modulación

Codificación de línea

Sincronización de bits en comunicación serie síncrona

Delimitación de inicio y final, y control de flujo en comunicación serie asíncrona

Multiplexación de Conmutación de circuitos

Detección de portadora y detección de colisión utilizada por algunos protocolos de acceso múltiple del nivel 2

Equalización, filtrado, secuencias de prueba, forma de onda y otros procesados de señales de las señales físicas

Configuración de la línea punto a punto, multipunto o punto a multipunto

Topología física de la red, por ejemplo en bus, anillo, malla o estrella

Comunicación serie o paralela

Modo de transmisión Simplex, half duplex o full duplex

27

Nivel de enlace:

Tecnologías y protocolos de red

Montar bloques de información (llamados tramas en este nivel), dotarles de una dirección de nivel de enlace, gestionar la detección o corrección de errores, y ocuparse del control de flujo entre equipos (para evitar que un equipo más rápido desborde a uno más lento).

Cuando el medio de comunicación está compartido entre más de dos equipos es necesario arbitrar el uso del mismo. Esta tarea se realiza en el subnivel de acceso al medio. En la práctica el subnivel de acceso al medio suele formar parte de la propia tarjeta de comunicaciones, mientras que el subnivel de enlace lógico estaría en el programa adaptador de la tarjeta (driver).

Iniciación, terminación e identificación

Segmentación y bloqueo

Sincronización de octeto y carácter

Delimitación de trama

Control de errores

Control de flujo

Recuperación de fallos

Gestión y coordinación de la comunicación

28

Nivel de red:

Tecnologías y protocolos de red

Hay dos formas en las que el nivel de red puede funcionar internamente, mediante datagramas o por circuitos virtuales.

En una red de datagramas cada paquete se encamina independientemente, sin que el origen y el destino tengan que pasar por un establecimiento de comunicación previo.

En una red de circuitos virtuales dos equipos que quieran comunicarse tienen que empezar por establecer una conexión, durante este estableciemiento de conexión, todos los encaminadores (o routers) que haya por el camino elegido reservarán recursos para ese circuito virtual específico.

Asignación de direcciones de red únicas

Interconexión de subredes distintas

Encaminamiento de paquetes

Control de congestión

Nivel de transporte:

Proporciona un control de alto nivel para la transferencia de datos, y es capaz de detectar y eliminar paquetes duplicados, velar por el sincronismo en la información y coordinar el reenvío de un paquete si este no ha llegado correctamente a su destino. Puede asignar un número único de secuencia al paquete que va a ser transmitido, para que este sea revisado en el destino por el correspondiente nivel de transporte.

29

Tecnologías y protocolos de red

Nivel de sesión:Control del Diálogo: simultáneo en los dos sentidos (full-duplex) o alternado en ambos sentidos (half-duplex).

Agrupamiento: El flujo de datos se puede marcar para definir grupos de datos.

Recuperación: La capa de sesión puede proporcionar un procedimiento de puntos de comprobación, de forma que si ocurre algún tipo de fallo entre puntos de comprobación, la entidad de sesión puede retransmitir todos los datos desde el último punto de comprobación y no desde el principio.

Nivel de presentación:Se encarga de la representación de la información, de manera que aunque distintos equipos puedan tener

diferentes representaciones internas de caracteres (ASCII, Unicode, EBCDIC), números (little-endian tipo Intel, big-endian tipo Motorola), sonido o imágenes, los datos lleguen de manera reconocible.

En esta capa se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas.

También se encarga de la compresión y cifrado de datos.

Nivel de aplicación:Ofrece a las aplicaciones (de usuario o no) la posibilidad de acceder a los servicios de las demás capas y define

los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP), gestores de bases de datos y servidor de ficheros (FTP). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar.

El usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente. 30

Ejemplos

Cable coaxial, Cable de fibra óptica, Cable de par trenzado, Microondas, Radio, RS-232Físico

ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi, STPEnlaceAppleTalk, IP, IPX, NetBEUI, X.25RedSCTP, SPX, TCP, UDPTransporteNetBIOSSesiónASN.1, MIME, SSL/TLS, XMLPresentación

DNS, FTP, HTTP, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIPAplicación

Tecnologías y protocolos de red

Page 6: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

6

31

Tecnologías y protocolos de red

32

Arquitectura de los STRD

33

Arquitecturas de los sistemas distribuidos

1. Cliente / Servidor [Client / Server]Cliente realiza peticiones a servidorEs la primera y la más básica de todas las arquitecturas distribuidas

2. Arquitectura de N-capas [N-Tier]Nace por inconvenientes de la arquitectura cliente / servidorCliente /Servidor => Arquitectura de dos capas

Soluciones :Usar una única capa servidora más potenteDividir la capa servidora en 2 o más capas

34

Arquitectura de los STRD

Compuesta por un conjunto de nodos conectados por redes de comunicación.

Cada nodo puede ser un multiprocesador conectado por buses.

Arquitecturas dependientes de la aplicación

Sólo consideraremos sistemas débilmente acoplados.

Es frecuente que estos sistemas tengan gran complejidad.

Se suelen estructurar jerárquicamente, para tratar con:Plazos de respuesta de diversas escalas.

Diferentes tipos de información.

Diferentes requisitos de procesamiento

35

Arquitectura dirigida por:• eventos (ET, event triggered): las actividades del sistema

son iniciadas en respuesta a la ocurrencia de eventos causados por el entorno. En estos casos, la planificación puede ser estática o dinámica.

• tiempos (TT, time triggered): las actividades del sistema son iniciadas en instantes predefinidos, al compás de un reloj sincronizado globalmente. En estos casos, la planificación es estática

• híbrida: combinación de las anteriores:• ET a nivel de nodo (tareas)• TT a nivel de comunicaciones

Arquitectura de los STRD

36

Acceso al medio

Page 7: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

7

37

Protocolos que establecen el nodo que puede acceder al medio de comunicación en un instante dado

Determinan muchas propiedades de la arquitectura del sistema distribuido

CSMA/CD no es adecuado para STRno se puede acotar el tiempo de transmisión de cada mensaje individual

Protocolos deterministas: para asegurar los requisitos temporales del sistema. Ejemplos:

TDMATOKEN BUS (IEEE 802.4)TOKEN RING (IEEE 802.5)Bus CAN (ISO 11898)

Acceso al medio

38

TDMA• TDMA: Time Division Multiple Access.• El envío de los mensajes es síncrono.• Todos los procesadores tienen relojes sincronizados entre sí.• El acceso al medio se divide en rodajas de tiempo.• Los mensajes se envían en rodajas específicas.• El inicio se indica mediante un reloj global.• La planificación del medio es estática (no puede haber

colisiones y el tiempo máximo de transmisión está acotado)• Este protocolo es predecible y determinista.• Sin embargo, es poco flexible, difícil de mantener y se puede

desaprovechar el ancho de banda de la red.• Se usa en TTA (Time-Triggered Architecture) para sistemas

de alta integridad con planificación cíclica y tolerancia a fallos por redundancia activa.

Acceso al medio

39

Paso de testigo

Priority-Driven Protocol.

• Política de arbitraje basada en prioridades. Pocos niveles de prioridad.

• Dos fases : arbitrio de prioridad mediante circulación de testigo, y transmisión del mensaje de datos.

• El testigo es un mensaje especial que tiene un campo con prioridad. Cada nodo indica la prioridad del mensaje que desea transmitir.

• Emite el nodo con mensaje más prioritario.

• Se emplea sobre IEEE 802.5 (token ring con paso de testigo).

• Útil en redes con velocidades 1-10 Mbits.

Acceso al medio

40

Paso de testigo

Timed Token Protocol.

• El ancho de banda se asigna cíclicamente.

• Cada estación puede enviar mensajes durante cierto tiempocuando tiene el testigo.

• El tiempo de envío debe ser suficiente para enviar los mensajes en su plazo. No puede haber colisiones.

• El tiempo de rotación del testigo está acotado.

• Se usa con redes rápidas: FDDI (Fiber Distributed Data Interface).

• Deriva del protocolo IEEE 802.4 token bus

Acceso al medio

41

Bus CAN

• CAN: Controller Area Network.

• Los mensajes tienen un identificador que indica la prioridad(menor valor = mayor prioridad)

• El protocolo funciona como una puerta AND: • si un nodo escribe un 0 todos los demás leen un 0• el 0 es dominante

• Resolución dinámica de colisiones.

• Es posible aplicar el análisis de planificabilidad de sistemas con prioridades estáticas.

• La velocidad de la red es 1Mbit/seg. y el mensaje más largo ocupa 130 μseg.

Acceso al medio

42

Comunicaciones con CAN

CAN (Controller Area Network) es un protocolo de comunicación en serie, radiado y sensible a portadora.Transmisión y recepción de mensajes pequeños, en ambientes ruidosos.Velocidad máxima: 1Mbit/s. Distancia máxima: 40 m.La resolución de la contención está basada en la prioridad de los mensajes.El identificador describe el contenido del mensaje y es su prioridad.Consistencia de los datos: todos los nodos reciben los mismos datos.

Page 8: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

8

43

Comunicaciones con CAN

Arbitraje del bus:Para resolver las colisiones se emplea el campo de arbitraje: identificador y bit de petición remota.Si un nodo envía un bit recesivo (1) y lee un bit dominante (0), hay un nodo transmitiendo con más prioridad.

44

Comunicaciones con CAN

Prioridad de los mensajes.El identificador es la prioridad del mensajeCuanto menor es el identificador, mayor es la prioridad.Para que este método funcione se debe cumplir:

Los mensajes tienen identificador único.No hay dos nodos transmitiendo mensajes con el mismo identificador.

Análisis de planificabilidadEl acceso al bus CAN está basado en prioridades.Condición: El controlador del bus transmite siempre que haya mensajes pendientes.No hay expulsión durante la transmisión. El mensaje más largo ocupa 0'13ms (B).Se supone que los mensajes se generan al principio del periodo yno hay errores de transmisión.

45

Sincronización de relojes

46

Sincronización en sistemas distribuidos

• La sincronización en sistemas de un único ordenador no requiere ninguna consideración en el diseño del sistema operativo, ya que existe un reloj único que proporciona de forma regular y precisa el tiempo en cada momento.

• Sin embargo, los sistemas distribuidos tienen un reloj por cada ordenador del sistema, con lo que es fundamental una coordinación entre todos los relojes para mostrar una hora única.

• Los osciladores de cada ordenador son ligeramente diferentes, y como consecuencia todos los relojes sufren un desfase y deben ser sincronizados continuamente.

• La sincronización no es trivial, porque se realiza a través de mensajes por la red, cuyo tiempo de envío puede ser variable y depender de muchos factores, como la distancia, la velocidad de transmisión o la propia saturación de la red, etc.

47

• La sincronización no tiene por qué ser exacta, y bastará con que sea aproximadamente igual en todos los ordenadores. Es fundamental no retrasar nunca la hora, aunque el reloj se adelante. En vez de atrasar la hora, hay que ralentizar la actualización del reloj, frenarlo, hasta que alcance la hora aproximadamente.

• No es necesario que todos los relojes tengan la misma hora exacta, sino que simplemente mantengan una relación estable de forma que se mantengan las relaciones de precedencia entre sucesos (qué suceso ocurrió antes que otro suceso cualquiera).

Sincronización en sistemas distribuidos

48

En los sistemas distribuidos la comunicación y las acciones de cómputo no están guiadas por un único reloj global. Cada nodo tiene su reloj y puede haber derivas entre ellos. Esto dificulta la relación “antes/después” entre eventos remotos. El hecho de que el anuncio de un evento A llegue antes a un observador que un evento B no significa que A fuera anterior a B. Puede tratarse de un efecto relativista. (ej. los truenos de 2 rayos)

Punto de vista de los sistemas asíncronos: si no existe una relación causa-efecto entre A y B el orden temporal de estos eventos es irrelevante.

En una red existen diferentes motivos por los que un observador puede observar los eventos en orden diferente del que han sucedido:

• Velocidades de conversión A/D, Jitter en el muestreo• Jitter en la planificación de tareas• Jitter del interfaz de red y priorización de mensajes• Latencia de diferentes rutas en redes WAN

Diferentes observadores pueden tener diferentes visiones de la ordenación de eventos. En general los observadores perciben antes los eventos del nodo local o los nodos cercanos que los de los lejanos

Ordenación de eventos

Page 9: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

9

49

Ordenación causal – Cómo sucedió• La ordenación causal es una ordenación parcial de los eventos que

responde a una relación causa-efecto.

Ordenación temporal – Cuándo sucedió• La ordenación temporal es una ordenación total de los eventos que

asume un observador con latencia de acceso cero a todos los eventos.

• Es una de las posibles ordenaciones totales consistentes con la ordenación causal.

Ordenación de eventos

50

Debido a diferentes motivos un observador puede que los eventos le sean notificados en un orden diferente al que se produjeron en el mundo real.El problema es más importante cuanto más concurrencia existe o cuando los componentes del sistema no interaccionan a través de un proceso común del mundo real que impone una cierta sincronización.¿Cómo saber cual es la ordenación de eventos que se ha producido en el sistema?

• Sistemas síncronos: intentan proporcionar una ordenación temporal, aunque con una precisión/granularidad de tiempo que depende de las características del sistema.

• Si el sistema dispusiese de un reloj global, podría etiquetarse cada evento con una marca temporal.

• Sistemas asíncronos: permiten observar los eventos en cualquier orden que respete la ordenación causal.

• Cada agente utiliza un contador de eventos con los que marca cada uno de los mensajes que envía (timestamp): (m, T(m)) Esto permite detectar cuando dos eventos están o no están causalmente ordenados y realizar una ordenación parcial de los eventos.

Ordenación de eventos

51

Sistema síncrono• Postula la existencia de un reloj (base de tiempos) global accesible

desde cualquier nodo del sistema.• Esto implica una sincronización fuerte de relojes.

Sistema asíncrono• No utiliza el concepto de tiempo global• Los eventos se ordenan por sus relaciones de causalidad, no por su

ordenación temporal

El problema de la sincronización de relojes• Es imposible disponer de relojes perfectamente sincronizados• La latencia de los sistemas de mensajería afecta a la sincronización de

relojes:• Si se utiliza la misma red para distribuir el tiempo y anunciar

eventos es difícil tener un base de tiempos más precisa que el jitterdel anuncio de eventos.

La tolerancia a fallos depende de la sincronía

Ordenación de eventos

52

Ordenación de eventos

Sistema síncronoOrdenación total de eventos

Sistema asíncronoOrdenación parcial de eventos

53

Sincronización de relojes

Los relojes locales tienen variaciones que obligan a sincronizarlos

relojes de cuarzo: ej. 1 s en 6 díassi la granularidad del tiempo es del orden de 1 ms. hay que sincronizar los relojes cada 8 min.

sincronización «suave»

para adelantaraumentar la frecuencia

incremento acotado del valor del reloj

para retrasardisminuir la frecuencia

mantener el valor durante un tiempo acotado

54

Sincronización de relojes

Problemática de la sincronización de relojes

• No es perfecta: los relojes locales de cada nodo pueden diferir respecto a UTC y entre ellos debido a:

• La latencia de los mensajes hace imposible conocer el tiempo global con exactitud. Hay que compensar el tiempo debido a la latencia.

• Derivas de los osciladores

• Redondeos de coma flotante(Historia del misil Patriot de la Guerra del Golfo...)

• Puede introducir discontinuidades en el tiempo

• Los procesos corrigen periódicamente sus relojes mediante un protocolo de mensajes tratando de ajustarse a UTC o de reducir las variaciones respecto a ellos.

Page 10: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

10

55

• Dos tipos de sincronización:

• Sincronización externa: respecto a base de tiempos global UTC.

• Sincronización interna centralizada o distribuida: respecto a un reloj de un nodo del sistema (que actúa como servidor) o una media entre los relojes. Puede haber una deriva respecto UTC (si el servidor no realiza una sincronización externa).

• Cuando una estación consulta, para sincronizarse, el valor del reloj a una fuente de tiempo (p.e. UTC), se pueden producir dos problemas:

• Problema 1: Un reloj rápido respecto UTC no puede retroceder (saltos hacia atrás) , pues el tiempo es monótono creciente.

• Solución: hacer los periodos más grandes gradualmente.

• Problema 2: la latencia de los sistemas de mensajería afecta a la sincronización de relojes. La red introduce una latencia variable en devolver la respuesta.

• Solución: evaluar la latencia de forma probabilística.

Sincronización de relojes

56

Sincronización de relojes

• Existen diferentes algoritmos. Tres de ellos son los siguientes:

• Algoritmo de Lamport: se encarga exclusivamente de mantener el orden en que se suceden los procesos. En cada mensaje que se envía a otro ordenador se incluye la hora. Si el receptor del mensaje tiene una hora anterior a la indicada en el mensaje, utiliza la hora recibida incrementada en uno para actualizar su propia hora.

• Algoritmo de Christian: Dispone de un servidor de tiempo que recibe la hora exacta (puede conectarse a UTC). El servidor se encarga de enviar a cada ordenador la hora. Cada ordenador dedestino sólo tiene que sumarle el tiempo de transporte del mensaje, que se puede calcular de forma aproximada.

• Algoritmo de Berkeley: La principal desventaja del algoritmo de Cristian es que todo el sistema depende del servidor de tiempo, lo cual no es aceptable en un sistema distribuido fiable. El algoritmo de Berkeley usa la hora de todos los ordenadores para elaborar una media, que se reenvía para que cada equipo actualice su propia hora ralentizando el reloj o adoptando la nueva hora, según el caso.

57

Sincronización de relojes lógicos

Necesitamos una forma de asociar a cada evento a un valor de tiempo t(a) en el que todos los procesos estén de acuerdoLos valores de tiempo deben tener la propiedad de que si a→bentonces t(a)<t(b)El tiempo de reloj siempre debe ir hacia adelante, nunca puede ser decreciente

Algoritmo de Lamport

58

54

60

48

42

36

30

24

18

12

6

0

Ejemplo de tres procesos, cada uno con su propio reloj

72

80

64

56

48

40

32

24

16

8

0

90

100

80

70

60

50

40

30

20

10

0

A

B

C

D

Con los mensajes C y D no se cumplen las reglas anteriores!

70

76

77

85

69

61

59

Algoritmo de Christian

T0 T1

tUTC

ti m={tUTC }

t

UTC

• Al obtener la respuesta el cliente ajusta el tiempo local a:tUTC + (T1-T0)/2 + ti (supondremos ti=0)

• Si se conoce el tiempo mínimo de transmisión, min, entonces puede determinarse la precisión:

• El valor de UTC cuando el mensaje m llegue estará en el intervalo:[tUTC+min, tUTC+(T1-T0)- min] cuya anchura es (T1 - T0) – 2 min

• Por lo tanto la precisión es: (T1-T0)/2 – min• Se han de realizar un conjunto de medidas (espaciándolas para eliminar

congestión transitoria) y tomar el mínimo de T1-T0

Cliente

Servidor

60

En este algoritmo se elige, un computador coordinador para actuar como maestro. A diferencia del algoritmo de Christian (con servidor pasivo), este computador (servidor activo) consulta periódicamente a los otros computadores (esclavos) que se van a sincronizar. Éstos le devuelven sus valores de reloj. El maestro estima sus tiempos locales de reloj observando los tiempo de ida y vuelta y promedia los valores obtenidos. Este promedio contrarresta las tendencias de los relojes individuales a funcionar rápido o lento.

La precisión del protocolo depende del tiempo de ida y vuelta máximo nominal entre el maestro y los esclavos. El maestro elimina cualquier lectura adicional asociada con tiempos mayores que el máximo.

En lugar de reenviar el tiempo actual actualizado a los demás computadores, lo que introduciría una nueva imprecisión debido al tiempo de transmisión del mensaje, el maestro envía la cantidad que precisa cada esclavo para hacer su ajuste, que puede ser un valor positivo o negativo.

El algoritmo elimina las lecturas de relojes defectuosos. Dichos relojes podrían tener un efecto adverso significativo si se tomara un promedio ordinario. El maestro toma un promedio tolerante a fallos eligiendo un subconjunto de los relojes que no difieran entre ellos más de una determinada cantidad, y el promedio se toma de las lecturas de sólo estos relojes.

Si el maestro fallara, entonces puede ser elegido otro computador para asumir y funcionar exactamente como su predecesor.

Algoritmo de Berkeley

Page 11: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

11

61

Planificación de STRD

62

• Para poder analizar el tiempo de respuesta global de una transacción hay que conocer

• los tiempos de cómputo máximos de cada tarea que interviene en la transacción

• los tiempos de transmisión máximos de los mensajes

• Hace falta que el tiempo de transmisión esté acotado• protocolos de comunicación deterministas• los mensajes tienen atributos temporales (período, plazo)

• la planificación de los mensajes es importante• se considera el tiempo de transmisión completo (end-to-end)

• desde que una tarea envía el mensaje hasta que otra tarea lo recibe

• se incluyen los tiempos de espera en colas, tampones, etc.

Planificación y análisis temporal

63

• Problema muy complejo.

• Es necesario considerar la planificación de un conjunto de actividades.

• No hay un enfoque generalmente aceptado.

• Hay diversas aproximaciones al problema orientadas a dominios concretos.

• Un objetivo común consiste en integrar gestión de tareas y recursos y mecanismos de tolerancia a fallos.

• Se debe:• Maximizar relación de garantía: tareas garantizadas frente a tareas que llegan• Minimizar el coste de comunicación por la red• Balancear la carga entre los nodos del sistema

• No infrautilizar los recursos

• Cumplir los plazos

Planificación de STRD

64

Planificación

Anomalías temporales:

Al contrario de lo que intuitivamente se podría pensar, mejorar las condiciones (mediante incremento de recursos o reducción de los tiempos de ejecución) puede empeorar las prestaciones del sistema (incremento de los tiempos de respuesta).

P = {P1, P2, … Pn} : n unidades de procesamiento

L = {T1, T2, …, Tr} : lista o secuencia de tareas en orden de prioridad

G(<, μ) : grafo dirigido con las relaciones de precedencia (<) entre tareas y sus tiempos de ejecución (μ)

ω : mínimo tiempo para completar todas las tareas de L

65

T2

T1

T3

T9

T4

T6

T5

T8

T7

Planificación

Ejemplo:

P = {P1, P2, P3}

L = {T1, T2, T3, T4, T5, T6, T7, T8, T9}

G(<, μ):

T9/9T5/4T6/4T7/4T8/4

T1/3

T2/2

T3/2

T4/2

P1

0 5 10 15

P3

P2 ω = 12

66T8

T3

T2

T1

T4

T9

T5

T6

T7

Planificación

Ejemplo:

P = {P1, P2, P3}

L’ = {T1, T2, T4, T5, T6, T3, T9, T7, T8}

G(<, μ):

T9/9T5/4T6/4T7/4T8/4

T1/3

T2/2

T3/2

T4/2

P1

0 5 10 15

P3

P2 ω’ = 14

Cambio en el orden de prioridad

Page 12: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

12

67

T2

T1

T3

T9

T4

T8

T7

T5

T6

Planificación

Ejemplo:

P = {P1, P2, P3}

L = {T1, T2, T3, T4, T5, T6, T7, T8, T9}

G(<‘, μ):

T9/9T5/4T6/4T7/4T8/4

T1/3

T2/2

T3/2

T4/2

P1

0 5 10 15

P3

P2 ω’ = 16

Cambio en las relaciones

de precedencia

68

T2

T1

T3

T9T4 T6

T5 T8

T7

Planificación

Ejemplo:

P = {P1, P2, P3}

L = {T1, T2, T3, T4, T5, T6, T7, T8, T9}

G(<, μ’):

T9/8T5/3T6/3T7/3T8/3

T1/2

T2/1

T3/1

T4/1

P1

0 5 10 15

P3

P2 ω’ = 13

Decremento de los tiempos

de ejecución

69

T2

T4

T9

T3 T6

T5

T8

T7

Planificación

Ejemplo:

P’ = {P1, P2, P3 , P4}

L = {T1, T2, T3, T4, T5, T6, T7, T8, T9}

G(<, μ):

T9/9T5/4T6/4T7/4T8/4

T1/3

T2/2

T3/2

T4/2

P2

0 5 10 15

P4

P3 ω’ = 15

Aumento de las unidades de procesamiento

T1P1

70

Planificación

Tipos Protocolos dirigidos por tiempo

Síncrono – Cíclico

Protocolos dirigidos por eventosPlanificación basada en prioridades

Análisis holístico

71

Planificación síncrona-cíclica

72

Planificación síncrona-cíclica

• Planifica estáticamente la red y los procesadores.

• Dirigida por tiempo (time-triggered)

• En los procesadores se usan planificadores cíclicos.

• La red es del tipo TDMA.

• Se determina estáticamente el instante de envío de los mensajes.

• El método es predecible, determinista, inflexible y no optimiza el uso de recursos.

• Este enfoque se aplica en MARS (MAintainable Real-time System).

• MARS incorpora mecanismos avanzados de tolerancia a fallos

Page 13: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

13

73

Tarea a1

C = 5T = 30

Tarea a6

C = 10T = 60

Mensaje a2

C = 2T = 30

Mensaje a5

C = 10T = 60

Tarea a3

C = 20T = 30

Tarea a4

C = 5T = 60

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 60)

e12 e23

e56 e45

Ejemplo

74

Tarea a1

Tarea a6

Mensaje a2

Mensaje a5

Tarea a3

Tarea a4

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 60)

e12 e23

e56 e45

CPU-1

Fin a1351Envío a2345Inicio a130

Fin a63010Inicio a620

Fin a151Envío a245Inicio a10

WCETAcciónTiempoCPU-2

Fin a36020Inicio a340

Fin a33020Inicio a310

Fin a451Envío a545Inicio a40

WCETAcciónTiempo

101052025C

606060303030T

40a640a540a430a330a230a1DAcción

Especificación

Planificación cíclica

75

a4

a1

a2 a2

a1 a1a6

a3

a5

a4

e1 e1

e2

e1

0 10 20 30 40 50 60

a3

e2

76

Planificación basada en

prioridades

77

Planificación basada en prioridades

Basada en prioridades estáticas

• Mismos principios para planificar el medio de comunicación y los procesadores.

• La red es de paso de testigo o CAN-Bus.

• Se determinan los tiempos de respuesta más desfavorables de tareas y mensajes.

• El tiempo de respuesta global se calcula como la suma.

• Los periodos de las tareas/mensajes deben ser armónicos.

• Permite un mejor aprovechamiento de recursos.

• No hay métodos de tolerancia a fallos suficientemente maduros.

78

Planificación basada en prioridades

Basada en prioridades dinámicas

• Las decisiones de planificación (parte) se realizan en tiempo de ejecución.

• Spring es un sistema operativo de acuerdo con este enfoque.

• Planificación integrada de procesos y recursos.

• Se considera información semántica de las tareas para la planificación.

• Planificación a cuatro niveles.• Despachador.• Planificador local.• Planificador distribuido.• Controlador metanivel.

Page 14: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

14

79

Objetivo:Planificación de STRD basados en planificación con prioridades fijasPresentar técnicas de análisis de tiempos de respuesta

Tipo de sistemas:Sistemas distribuidos débilmente acopladosNodos: planificación con prioridades fijas (RM o DM)Redes: tiempo de respuesta de los mensajes acotado

Planificación basada en prioridades fijas

80

Modelo de sistemaSistema hardware compuesto por:

Conjunto de procesadoresUnidos por redes de comunicaciones

Sistema software compuesto por:Tareas asignadas estáticamente a procesadoresMensajes asignados estáticamente a redesComunicación entre tareas:

En el mismo nodo: memoria compartidaEntre distintos nodos: paso de mensajes

Planificación basada en prioridades fijas

81

Planificación basada en prioridades fijas

Modelo lineal de sistema distribuidoUn evento genera una secuencia de accionesUna acción es una tarea o un mensaje, en secuencia.Las acciones sólo pueden ser activadas por un evento y sólo pueden activar una acción.

82

Planificación basada en prioridades fijas

Tareas periódicas con jitterEl instante crítico no es el mismo si hay jitterLas tareas periódicas no suelen tener jitterPuede haberlo si la planificación se hace con una granularidad apreciable (release jitter)El tiempo de respuesta se calcula con:

83

Planificación basada en prioridades fijas

Plazos arbitrariosSi el plazo es mayor que el período, puede haber varias activaciones pendientes en un cicloPara analizar esta situación construimos una sucesión de ventanas wi(q), donde q + 1 es el número de activaciones de τi.Para cada ventana se obtiene un valor de Ri con:

84

Planificación basada en prioridades fijas

Análisis de planificabilidadTiempo de respuesta de un mensaje (tarea)

Esta ecuación se resuelve por iteración simple.Si Ri ≤ Di, entonces el mensaje Mi (Tarea τi) es planificable.

Page 15: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

15

85

Análisis holístico de STRD

86

Análisis holístico de STRD

Desarrollado por Ken Tindell, 1994El análisis integra los procesadores y las redes.Análisis:

Todos los mensajes y tareas de una transacción se activan al mismo tiempo.Las relaciones de precedencia se modelan como jitterEl retardo en la activación de una tarea (mensaje) depende del tiempo de respuesta del mensaje (tarea) anteriorSe continúa hasta que se complete una activación.

87

Análisis holístico de STRD

88

Análisis holístico de STRD

Requisitos temporales impuestos a las acciones:

• Plazos globales: plazos de respuesta relativos a la llegada del evento externo. (D2)

• Plazos locales: plazos considerados desde el instante real en que se activó la acción en la respuesta al evento. (d2)

• Plazos de principio-a-fin (end-to-end): plazos asignados a las secuencias de respuesta completas. Coinciden con los plazos globales correspondientes a las últimas acciones en la secuencias de respuesta a eventos externos. (ED1)

89

Análisis holístico de STRD

Tiempo de respuesta global de peor caso de la acción aj generada por el evento ei

ikjhpk ik

iknij

ijijnij C

TJqw

CqBqw ∑∈∀

+

⎥⎥⎥

⎢⎢⎢

⎡ ++++=

)(

1 )()1()(

ijij Cqqw )1()(0 += )()(1 qwqw nij

nij =+

))((max ijjijij JqTqwR +−=

Problemática del jitterbijijij RRJ 11 −− −=

c.i.: c.p.:

WCGRT de aj-1 BCGRT de aj-1 90

Análisis holístico de STRD

Inicializar términos de jitter {Ji(0)} = 0

¿ {Ri(n+1)} = {Ri

(n)} ?

Calcular tiempos de respuesta {Ri(n+1)}

en función de términos {Ji(n)}

Estimar nuevos términos {Ji(n+1)}

en función de los nuevos {Ri-1(n+1)}

{Ri} = {Ri(n)}

n = 0 n = n+1

SI

NO

Algoritmo recursivo

Page 16: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

16

91

Análisis holístico de STRD

92

Tarea a1

C = 5T = 30P = Alta

Tarea a6

C = 10T = 40P = Baja

Mensaje a2

C = 2T = 30P = Baja

Mensaje a5

C = 10T = 40P = Alta

Tarea a3

C = 20T = 30P = Baja

Tarea a4

C = 5T = 40P = Alta

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 40)

e12 e23

e56 e45

Ejemplo

93

Tarea a1

Tarea a6

Mensaje a2

Mensaje a5

Tarea a3

Tarea a4

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 40)

e12 e23

e56 e45

40Baja1040a6

-Alta1040a5

40Alta540a4

50Baja2030a3

-Baja230a2

30Alta530a1

DPCTAcción

94

Cálculo del jitter de las tareas:a1 : no tiene jitter pues es una tarea periódica y su activación no depende de

otras tareas J1 = 0

a2 : su activación depende de únicamente de la tarea a1, que tiene una variabilidad en su tiempo de respuesta desde 0 (BCRT) hasta 5 (WCRT)

J2 = 5

a3 : su activación depende de a2, que tiene una variabilidad en su tiempo de respuesta desde 0 (BCRT) hasta 17 (WCRT) J3 = 17

a4 no tiene jitter pues es una tarea periódica y su activación no depende de otras tareas J4 = 0

a5 : su activación depende de únicamente de la tarea a4, que tiene una variabilidad en su tiempo de respuesta desde 0 (BCRT) hasta 5 (WCRT)

J5 = 5

a6 : su activación depende de a5, que tiene una variabilidad en su tiempo de respuesta desde 0 (BCRT) hasta 15 (WCRT) J6 = 15

Tarea a1

Tarea a6

Mensaje a2

Mensaje a5

Tarea a3

Tarea a4

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 40)

e12 e23

e56 e45

95

Cálculo del tiempo de respuesta global (WCGRT) de las tareas:

CPU-1 :

a1 : w1 = C1 = 5 R1 = 5 + 0 = 5

a6 : w6 = C6 + C1 = 10 + 5 = 15 R6 = 15 + 15 = 30

Red :

a2 : w2 = C2 + C5 = 2 + 10 = 12 R2 = 12 + 5 = 17

a5 : w5 = C5 = 10 R5 = 10 + 5 = 15

CPU-2 :

a3 : w3 = C3 + C4 = 20 + 5 = 25 R3 = 25 + 17 = 42

a4 : w4 = C4 = 5 R4 = 5 + 0 = 596

Tarea a1

Tarea a6

Mensaje a2

Mensaje a5

Tarea a3

Tarea a4

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 40)

e12 e23

e56 e45

30155

42175R

1550

1750J

Baja1040a6

Alta1040a5

Alta540a4

Baja2030a3

Baja230a2

Alta530a1

PCTAcción

Tiempos de respuesta globales, desde el instante de ocurrencia del evento (e1, e2) correspondiente

Page 17: Conceptos básicos de STRD TEMA 7 - UVajossan/doct/cystr/fich/Tema7_x6.pdfEjemplos Internet, Google, Yahoo, … Sistemas distribuidos 6 Un sistema compuesto por múltiples procesadores

17

97

Tarea a1

Tarea a6

Mensaje a2

Mensaje a5

Tarea a3

Tarea a4

CPU-1 CPU-2Red

ee11 (T = 30)

ee22 (T = 40)

e12 e23

e56 e45

30125

37125R

Baja1040a6

Alta1040a5

Alta540a4

Baja2030a3

Baja230a2

Alta530a1

PCTAcción

Tiempos de respuesta locales, desde el instante de activación de la tarea

98

a2

a6a1

a3a3

a6

a5a2 a2

a4

a1 a1a6

a3

a5

a4

e1 e1

e2 e2

e1

a3a3

a2

a6 a1

a3

a5 a2

a4

a1 a1 a6

a3 a4

e1 e1

e2 e2

e1

0 10 20 30 40 50 60

60 70 80 90 100 110 120

99


Recommended