SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas...

45
SISTEMAS DISTRIBUIDOS DE SISTEMAS DISTRIBUIDOS DE TIEMPO REAL TIEMPO REALSistemas Distribuidos

Transcript of SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas...

Page 1: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

“SISTEMAS DISTRIBUIDOS DE SISTEMAS DISTRIBUIDOS DE TIEMPO REALTIEMPO REAL”

Sistemas Distribuidos

Page 2: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

Para la mayoría de los programas, el hecho de Para la mayoría de los programas, el hecho de que sean correctos depende sólo de la secuencia que sean correctos depende sólo de la secuencia lógica de las instrucciones ejecutadas.lógica de las instrucciones ejecutadas.

No del momento en que se ejecutan.No del momento en que se ejecutan.

Page 3: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

Si un programa en lenguaje C calcula de manera Si un programa en lenguaje C calcula de manera correcta la función raíz cuadrada en punto correcta la función raíz cuadrada en punto flotante con doble precisión en una estación de flotante con doble precisión en una estación de trabajo de 200 Mhz.trabajo de 200 Mhz.

También calculará la función de la misma manera También calculará la función de la misma manera correcta en una computadora personal de 4.77 correcta en una computadora personal de 4.77 Mhz basada en un procesador 8088, aunque más Mhz basada en un procesador 8088, aunque más lento.lento.

Page 4: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

Por el contrario, los Por el contrario, los programasprogramas (y sistemas) (y sistemas) de de tiempo realtiempo real interactúan con el mundo exterior interactúan con el mundo exterior de una manera que implica al tiempo.de una manera que implica al tiempo.

Cuando aparece un estímulo, el sistema responde Cuando aparece un estímulo, el sistema responde a éste de cierta manera y antes de cierto a éste de cierta manera y antes de cierto momento límite.momento límite.

Si se entrega la respuesta, pero después del Si se entrega la respuesta, pero después del límite, se considera que el sistema está fallando.límite, se considera que el sistema está fallando.

Page 5: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

Definición de Alan Burns y Andy Wellings:Definición de Alan Burns y Andy Wellings:

““Un sistema en Tiempo Real es cualquier sistema donde el Un sistema en Tiempo Real es cualquier sistema donde el tiempo en que se produce su salida es significante.tiempo en que se produce su salida es significante.

Esto es debido a que generalmente la entrada corresponde Esto es debido a que generalmente la entrada corresponde a algún instante del mundo físico y la salida tiene relación a algún instante del mundo físico y la salida tiene relación con ese mismo instante.con ese mismo instante.

El retrazo transcurrido entre la entrada y la salida debe ser El retrazo transcurrido entre la entrada y la salida debe ser lo suficientemente pequeño para considerarse una lo suficientemente pequeño para considerarse una respuesta puntualrespuesta puntual””

Page 6: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

El El momentomomento en que se produce la respuesta es en que se produce la respuesta es tan importante como tan importante como aquelloaquello que produce. que produce.

Muchas aplicaciones relacionadas con el mundo Muchas aplicaciones relacionadas con el mundo exterior, también son de TR de manera inherente.exterior, también son de TR de manera inherente.

Algunos ejemplos son: las computadoras incluidas Algunos ejemplos son: las computadoras incluidas con los TV’s, las grabadoras de video, los con los TV’s, las grabadoras de video, los automóviles, las computadoras que controlan los automóviles, las computadoras que controlan los alerones y demás partes de los aviones…alerones y demás partes de los aviones…

Page 7: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

¿Qué es un STR?¿Qué es un STR?

… … las computadoras militares que controlan los las computadoras militares que controlan los misiles antitanques, los sistemas computarizados misiles antitanques, los sistemas computarizados que controlan el tráfico aéreo, sistemas de frenos, que controlan el tráfico aéreo, sistemas de frenos, inyección de gas.inyección de gas.

Los experimentos científicos, desde los aceleradores Los experimentos científicos, desde los aceleradores de partículas hasta sensores o rastreadores de partículas hasta sensores o rastreadores colocados en ciertos animales, las fábricas colocados en ciertos animales, las fábricas automatizadas, los conmutadores telefónicos, los automatizadas, los conmutadores telefónicos, los robots, las unidades médicas de cuidado intensivo, robots, las unidades médicas de cuidado intensivo, los digitalizadores para tomografías, etc.los digitalizadores para tomografías, etc.

Page 8: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Cuando un dispositivo (por ejemplo, una Cuando un dispositivo (por ejemplo, una computadora) interactúa con un proceso real computadora) interactúa con un proceso real (mundo físico) es necesario que las acciones de (mundo físico) es necesario que las acciones de control se efectúen dentro de unos intervalos de control se efectúen dentro de unos intervalos de tiempo bien definidos.tiempo bien definidos.

Con objeto de que el estado del sistema Con objeto de que el estado del sistema controlado, que tiene su dinámica propia, no controlado, que tiene su dinámica propia, no evolucione hacia valores incorrectos o evolucione hacia valores incorrectos o indeseables.indeseables.

El tiempo en que se ejecutan las acciones del El tiempo en que se ejecutan las acciones del sistema es relevante .sistema es relevante .

Page 9: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

De manera típica, un dispositivo externo (tal vez De manera típica, un dispositivo externo (tal vez un reloj) genera un estímulo para la un reloj) genera un estímulo para la computadora, la que entonces debe realizar computadora, la que entonces debe realizar ciertas acciones antes de un momento límite.ciertas acciones antes de un momento límite.

Al terminar el trabajo solicitado, el sistema queda Al terminar el trabajo solicitado, el sistema queda inactivo hasta que llega el siguiente estímulo.inactivo hasta que llega el siguiente estímulo.

Con frecuencia, los estímulos son Con frecuencia, los estímulos son periódicosperiódicos, de , de modo que un estímulo ocurre de manera regular modo que un estímulo ocurre de manera regular cada cada TT segundos, como una computadora en un segundos, como una computadora en un televisor o videocasetera, que recibe un cuadro televisor o videocasetera, que recibe un cuadro nuevo cada 1/60 segundos. nuevo cada 1/60 segundos.

Page 10: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Otras veces, los estímulos son Otras veces, los estímulos son aperiódicosaperiódicos, lo , lo que significa que son recurrentes, pero no que significa que son recurrentes, pero no regulares.regulares.

Como en la llegada de un avión al espacio aéreo Como en la llegada de un avión al espacio aéreo de un controlador de tráfico aéreo.de un controlador de tráfico aéreo.

Por último, algunos estímulos son Por último, algunos estímulos son esporádicosesporádicos (inesperados), como el sobrecalentamiento de un (inesperados), como el sobrecalentamiento de un dispositivo.dispositivo.

Page 11: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aún en un sistema que en gran medida es Aún en un sistema que en gran medida es periódico, una complicación es que pueden existir periódico, una complicación es que pueden existir muchos tipos de eventos.muchos tipos de eventos.

Como entrada de video, entrada de audio y el Como entrada de video, entrada de audio y el control de la unidad motora, cada uno con su control de la unidad motora, cada uno con su período y acciones necesariasperíodo y acciones necesarias . .

Algunos diseñadores están experimentando con Algunos diseñadores están experimentando con la idea de colocar un microprocesador exclusivo la idea de colocar un microprocesador exclusivo al frente de cada dispositivo al frente de cada dispositivo ..

Page 12: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Colocando este dispositivo, aceptara salida de Colocando este dispositivo, aceptara salida de ésta cuando tenga algo que decir, y dar una ésta cuando tenga algo que decir, y dar una entrada con la velocidad que requiera.entrada con la velocidad que requiera.

Por supuesto, esto no hace que la característica Por supuesto, esto no hace que la característica de TR se esfume, sino que da lugar a un SDTR, de TR se esfume, sino que da lugar a un SDTR, con sus propias características y retos (por con sus propias características y retos (por ejemplo, comunicación en TR).ejemplo, comunicación en TR).

Page 13: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Los STR pueden estructurarse con frecuencia Los STR pueden estructurarse con frecuencia como sigue:como sigue:

Disp. Disp. Disp. Disp. Disp. Disp.

Red

Actor Sensor

Dispositivos Externos

Computadoras

Un sistema de cómputo distribuido de tiempo real

Page 14: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Tienen contacto con el mundo Tienen contacto con el mundo físico a través de físico a través de sensores,sensores, mediante los cuales se mediante los cuales se recogen datos del mundo físico recogen datos del mundo físico y y actuadoresactuadores con los que se con los que se envía la información procesada envía la información procesada para la manipulación de éste.para la manipulación de éste.

El mundo físico dicta El mundo físico dicta restricciones de tiemporestricciones de tiempo que que deben ser cumplidas.deben ser cumplidas.

Los sistemas cuentan con equipos computarizados que Los sistemas cuentan con equipos computarizados que tienen dos aspectos en común:tienen dos aspectos en común:

Page 15: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Los dispositivos externos son los que producen o Los dispositivos externos son los que producen o aceptan datos o esperan ser controlados en tiempo real.aceptan datos o esperan ser controlados en tiempo real.

Las computadoras pueden ser pequeños Las computadoras pueden ser pequeños microcontroladores integrados a los dispositivos, o microcontroladores integrados a los dispositivos, o máquinas independientes.máquinas independientes.

En ambos casos, por lo general tienen sensores para En ambos casos, por lo general tienen sensores para recibir señales de los dispositivos y/o actores a los recibir señales de los dispositivos y/o actores a los cuales enviar señales.cuales enviar señales.

Los sensores y actores pueden ser digitales o Los sensores y actores pueden ser digitales o analógicos.analógicos.

Page 16: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Los STR se clasifican por lo general en dos tipos Los STR se clasifican por lo general en dos tipos dependiendo de lo serio de sus tiempos límite y de las dependiendo de lo serio de sus tiempos límite y de las consecuencias de omitir uno de ellos. Estos son:consecuencias de omitir uno de ellos. Estos son:– STR SuaveSTR Suave– STR DuroSTR Duro

El El Tiempo Real SuaveTiempo Real Suave significa que no existe significa que no existe problema si se rebasa un tiempo límite.problema si se rebasa un tiempo límite.

Por ejemplo, un conmutador telefónico bajo condiciones Por ejemplo, un conmutador telefónico bajo condiciones de sobrecarga podría perder o equivocar de ruta 105 de sobrecarga podría perder o equivocar de ruta 105 llamadas y seguir cumpliendo sus especificaciones.llamadas y seguir cumpliendo sus especificaciones.

Page 17: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Por el contrario, un tiempo límite no cumplido en un Por el contrario, un tiempo límite no cumplido en un Sistema de Tiempo Real DuroSistema de Tiempo Real Duro es inaceptable. es inaceptable.

Pues podría conducir a la pérdida de una vida o a Pues podría conducir a la pérdida de una vida o a una catástrofe ambiental.una catástrofe ambiental.

En la práctica, existen también En la práctica, existen también sistemas sistemas intermediosintermedios en los que la omisión de un tiempo en los que la omisión de un tiempo límite significa que falla toda la actividad actual, límite significa que falla toda la actividad actual, pero que la consecuencia no es fatal (por ejemplo, pero que la consecuencia no es fatal (por ejemplo, una línea de ensamblaje).una línea de ensamblaje).

Page 18: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Los STR han estado por ahí durante décadas, por lo Los STR han estado por ahí durante décadas, por lo que existe experiencia. Aunque mucha de ésta es que existe experiencia. Aunque mucha de ésta es incorrecta. Stankovic (1988) ha señalado algunas incorrecta. Stankovic (1988) ha señalado algunas de éstas:de éstas:

Mito 1: Los STR tratan de la escritura de controladores de Mito 1: Los STR tratan de la escritura de controladores de dispositivos en código ensamblador.dispositivos en código ensamblador.

Mito 2: El cómputo de TR es rápido.Mito 2: El cómputo de TR es rápido.

Un puente elevadizo controlado por computadora. Lo que Un puente elevadizo controlado por computadora. Lo que cuenta es la exactitud.cuenta es la exactitud.

Page 19: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Mito 3: Las computadoras rápidas harán que el sistema de Mito 3: Las computadoras rápidas harán que el sistema de TR sea obsoleto.TR sea obsoleto.

No. Sólo animan a las personas a construir STR que No. Sólo animan a las personas a construir STR que anteriormente estaban más allá de lo normal.anteriormente estaban más allá de lo normal.

Por ejemplo, el escaneo y visualización del ritmo Por ejemplo, el escaneo y visualización del ritmo respiratorio y cardiaco.respiratorio y cardiaco.

Los sistemas de realidad virtual, que necesitan recrear Los sistemas de realidad virtual, que necesitan recrear ambientes virtuales lo más rápido posible.ambientes virtuales lo más rápido posible.

Page 20: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Sistemas activados por eventos vs. Sistemas activados Sistemas activados por eventos vs. Sistemas activados por el tiempopor el tiempo..

En un En un STR activado por eventosSTR activado por eventos, cuando ocurre un , cuando ocurre un evento significativo en el mundo exterior, es evento significativo en el mundo exterior, es detectado por algún sensor, lo que entonces provoca detectado por algún sensor, lo que entonces provoca que el CPU conectado tenga una interrupción.que el CPU conectado tenga una interrupción.

Los sistemas activados por eventos están controlados Los sistemas activados por eventos están controlados por las interrupciones.por las interrupciones.

La mayor parte de los STR funcionan de esta manera.La mayor parte de los STR funcionan de esta manera.

Page 21: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

El principal problema con los sistemas activados El principal problema con los sistemas activados por eventos es que pueden fallar bajo condiciones por eventos es que pueden fallar bajo condiciones de carga pesada.de carga pesada.

Es decir, cuando muchos eventos ocurren a la Es decir, cuando muchos eventos ocurren a la vez.vez.

Por ejemplo, consideremos lo que ocurre cuando Por ejemplo, consideremos lo que ocurre cuando un tubo se rompe en un reactor nuclear un tubo se rompe en un reactor nuclear controlado por una computadora.controlado por una computadora.

Page 22: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Las alarmas de temperatura, de presión, de Las alarmas de temperatura, de presión, de radioactividad y demás alarmas se activarán al radioactividad y demás alarmas se activarán al mismo tiempo, lo que provoca una interrupción mismo tiempo, lo que provoca una interrupción masiva.masiva.

Esta lluvia de eventosEsta lluvia de eventos puede sobrecargar el puede sobrecargar el sistema de cómputo y hacer que falle.sistema de cómputo y hacer que falle.

Lo que potencialmente causaría problemas mucho Lo que potencialmente causaría problemas mucho más serios que la ruptura de un solo tubo.más serios que la ruptura de un solo tubo.

Page 23: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Un diseño alternativo, es el Un diseño alternativo, es el STR activado por el STR activado por el tiempotiempo..

En este tipo de sistema, ocurre una interrupción de En este tipo de sistema, ocurre una interrupción de reloj cada reloj cada TT milisegundos. milisegundos.

En cada marca de reloj (ciertos) sensores se En cada marca de reloj (ciertos) sensores se muestrean y (ciertos) actores se controlan.muestrean y (ciertos) actores se controlan.

No hay más interrupciones que las marcas de reloj.No hay más interrupciones que las marcas de reloj.

Page 24: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

En el ejemplo anterior del tubo roto, el sistema sería En el ejemplo anterior del tubo roto, el sistema sería consciente del problema en la primera marca del reloj consciente del problema en la primera marca del reloj posterior al evento.posterior al evento.

Pero la carga de interrupciones no modificaría ni Pero la carga de interrupciones no modificaría ni contaría para el problema, de modo que el sistema no contaría para el problema, de modo que el sistema no se sobrecargaría.se sobrecargaría.

Operar normalmente en tiempos de crisis aumenta la Operar normalmente en tiempos de crisis aumenta la posibilidad de tratar con éxito dicha crisis.posibilidad de tratar con éxito dicha crisis.

Page 25: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

No hay que decir que No hay que decir que TT debe elegirse con mucho debe elegirse con mucho cuidado.cuidado.

Si es muy pequeño, el sistema tendrá muchas Si es muy pequeño, el sistema tendrá muchas interrupciones de reloj y desperdiciará mucho interrupciones de reloj y desperdiciará mucho tiempo durante las revisiones.tiempo durante las revisiones.

Si es muy grande, los eventos serios no serían Si es muy grande, los eventos serios no serían notados hasta que fuese muy tarde.notados hasta que fuese muy tarde.

Decidir qué sensores deben verificarse en cada Decidir qué sensores deben verificarse en cada marca de reloj, y cuáles verificar en otra marca marca de reloj, y cuáles verificar en otra marca de reloj, etc., son críticas.de reloj, etc., son críticas.

Page 26: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Por último, algunos eventos podrían ser más Por último, algunos eventos podrían ser más cortos que una marca de reloj, por lo que deberán cortos que una marca de reloj, por lo que deberán guardarse para no ser omitidos.guardarse para no ser omitidos.

Se pueden preservar eléctricamente mediante Se pueden preservar eléctricamente mediante ciertos circuitos o mediante microprocesadores ciertos circuitos o mediante microprocesadores integrados a los dispositivos externos.integrados a los dispositivos externos.

Page 27: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Como ejemplo de la diferencia entre estos dos Como ejemplo de la diferencia entre estos dos métodos, consideremos el diseño de un controlador métodos, consideremos el diseño de un controlador de elevador en un edificio de 100 pisos.de elevador en un edificio de 100 pisos.

Supongamos que el elevador está en el piso 60, Supongamos que el elevador está en el piso 60, esperando clientes.esperando clientes.

Entonces alguien oprime el botón de llamada en el Entonces alguien oprime el botón de llamada en el primer piso.primer piso.

Justo 100 milisegundos después, alguien más Justo 100 milisegundos después, alguien más oprime el botón de llamada en el piso 100.oprime el botón de llamada en el piso 100.

Page 28: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

En un sistema activado por eventosEn un sistema activado por eventos, la primera , la primera llamada genera una interrupción, lo que provoca llamada genera una interrupción, lo que provoca el descenso del elevador.el descenso del elevador.

La segunda llamada llega después de tomar la La segunda llamada llega después de tomar la decisión de bajar, por lo que se anota como decisión de bajar, por lo que se anota como referencia futura, pero el elevador continúa referencia futura, pero el elevador continúa descendiendo.descendiendo.

Page 29: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Consideremos ahora un controlador de elevador, Consideremos ahora un controlador de elevador, activado por el tiempoactivado por el tiempo..

Que muestrea cada 500 milisegundos.Que muestrea cada 500 milisegundos.

Si ambas llamadas caen dentro de un período de Si ambas llamadas caen dentro de un período de muestreo, el controlador deberá tomar una muestreo, el controlador deberá tomar una decisión.decisión.

Por ejemplo, utilizar la regla de atender primero al Por ejemplo, utilizar la regla de atender primero al cliente más cercano, en cuyo caso irá hacia arriba.cliente más cercano, en cuyo caso irá hacia arriba.

Page 30: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

En resumen:En resumen:

– Los Los diseños activados por eventosdiseños activados por eventos dan respuesta rápida dan respuesta rápida con carga baja, pero tienen mayor costo y probabilidad de con carga baja, pero tienen mayor costo y probabilidad de fallar con carga alta.fallar con carga alta.

– Los Los diseños activados por el tiempodiseños activados por el tiempo tienen las tienen las propiedades opuestas y sólo son adecuados en un ambiente propiedades opuestas y sólo son adecuados en un ambiente relativamente estático en donde se conozca mucho y de relativamente estático en donde se conozca mucho y de antemano acerca del comportamiento del sistema.antemano acerca del comportamiento del sistema.

Cuál de ellos será el mejor, dependerá de la Cuál de ellos será el mejor, dependerá de la aplicación.aplicación.

Page 31: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

PredictibilidadPredictibilidad

Una de las propiedades más importantes de Una de las propiedades más importantes de cualquier STR es que su comportamiento sea cualquier STR es que su comportamiento sea predecible.predecible.

De manera ideal, debe ser claro en el momento De manera ideal, debe ser claro en el momento del diseño que el sistema cumple con todos sus del diseño que el sistema cumple con todos sus tiempos límite, incluso con carga pico.tiempos límite, incluso con carga pico.

Page 32: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Tolerancia de fallasTolerancia de fallas– En un sistema donde la seguridad es crítica, es de En un sistema donde la seguridad es crítica, es de

particular importancia que el sistema pueda controlar el particular importancia que el sistema pueda controlar el peor de los escenarios.peor de los escenarios.

– No basta decir que la probabilidad de que tres No basta decir que la probabilidad de que tres componentes fallen al mismo tiempo es tan baja que componentes fallen al mismo tiempo es tan baja que puede ignorarse.puede ignorarse.

– Las fallas no siempre son independientes.Las fallas no siempre son independientes.

– En consecuencia, los STR tolerantes de fallas deben poder En consecuencia, los STR tolerantes de fallas deben poder enfrentar el número máximo de fallas y la carga máxima enfrentar el número máximo de fallas y la carga máxima al mismo tiempo.al mismo tiempo.

Page 33: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Comunicación en tiempo realComunicación en tiempo real– La comunicación en los SD de tiempo real es diferente a la La comunicación en los SD de tiempo real es diferente a la

comunicación en los demás.comunicación en los demás.

– Lograr la predictibilidad en un SD significa que la Lograr la predictibilidad en un SD significa que la comunicación entre los procesadores también debe ser comunicación entre los procesadores también debe ser predecible.predecible.

– Los protocolos LAN que son inherentemente estocásticos, Los protocolos LAN que son inherentemente estocásticos, como Ethernet, son inaceptables.como Ethernet, son inaceptables.

– Una máquina que desea enviar un paquete en Ethernet Una máquina que desea enviar un paquete en Ethernet puede chocar con una o más máquinas, y en otro intento puede chocar con una o más máquinas, y en otro intento puede volver a chocar.puede volver a chocar.

Page 34: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Comunicación en tiempo realComunicación en tiempo real– Consideremos una LAN con un anillo de fichas.Consideremos una LAN con un anillo de fichas.

– Siempre que un procesador tenga un paquete por Siempre que un procesador tenga un paquete por enviar, espera que le pasen la ficha en circulación.enviar, espera que le pasen la ficha en circulación.

– Captura la ficha, envía su paquete y coloca de nuevo la Captura la ficha, envía su paquete y coloca de nuevo la ficha en el anillo, de modo que la siguiente máquina en ficha en el anillo, de modo que la siguiente máquina en el flujo tenga la oportunidad de recuperarla.el flujo tenga la oportunidad de recuperarla.

– Los anillos de fichas también pueden controlar el tráfico Los anillos de fichas también pueden controlar el tráfico consistente en varias clases de prioridadesconsistente en varias clases de prioridades..

Page 35: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Aspectos de diseño.Aspectos de diseño.

Comunicación en tiempo realComunicación en tiempo real

– El objetivo en este caso es garantizar que si un paquete El objetivo en este caso es garantizar que si un paquete de alta prioridad espera ser transmitido, será enviado de alta prioridad espera ser transmitido, será enviado antes que todos los paquetes de menor prioridad de sus antes que todos los paquetes de menor prioridad de sus vecinos.vecinos.

Todos estos puntos son observaciones o Todos estos puntos son observaciones o recomendaciones sobre el diseño de un STR, que recomendaciones sobre el diseño de un STR, que abarca incluso el diseño de SDTR.abarca incluso el diseño de SDTR.

Page 36: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

STR en MéxicoSTR en México

Comisión Federal de Electricidad (CFE)Comisión Federal de Electricidad (CFE)..

– Utiliza un sistema de monitoreo y control ubicado en el Utiliza un sistema de monitoreo y control ubicado en el Centro Nacional de Control de la Energía (CENACE), donde Centro Nacional de Control de la Energía (CENACE), donde se supervisa y controla en Tiempo Real gran parte del se supervisa y controla en Tiempo Real gran parte del sistema de transmisión eléctrica nacional. sistema de transmisión eléctrica nacional.

Compañía de Luz y Fuerza del Centro (CLyFC)Compañía de Luz y Fuerza del Centro (CLyFC)..

– Cuenta con un sistema de supervisión en Tiempo Real a Cuenta con un sistema de supervisión en Tiempo Real a través del Centro de Operación y Control (COC). Monitorea través del Centro de Operación y Control (COC). Monitorea las fallas remotas en las subestaciones de potencia.las fallas remotas en las subestaciones de potencia.

Page 37: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

STR en MéxicoSTR en México Sistema de Transporte Colectivo “Metro” (STC)Sistema de Transporte Colectivo “Metro” (STC)..

– Para lograr un tránsito fluido, eficiente y sin demoras, es Para lograr un tránsito fluido, eficiente y sin demoras, es necesario un sistema de señalización de tráfico.necesario un sistema de señalización de tráfico.

– Que está instalado en el Puesto de Control Central Que está instalado en el Puesto de Control Central (PCC), donde se realiza el monitoreo en Tiempo Real de (PCC), donde se realiza el monitoreo en Tiempo Real de los trenes en cada una de las líneas. los trenes en cada una de las líneas.

Page 38: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Interfaz creada en simulink, que permite especificar el Interfaz creada en simulink, que permite especificar el sistema distribuidosistema distribuido

Page 39: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

INVESTIGACIONESINVESTIGACIONES En los últimos 10 años se ha dado una evolución importante En los últimos 10 años se ha dado una evolución importante

tanto en el software como en el hardware de Autómatas tanto en el software como en el hardware de Autómatas Programables Industriales (APIs), tarjetas basadas en PC e Programables Industriales (APIs), tarjetas basadas en PC e instrumentación inteligente (smart sensors, smart actuators).instrumentación inteligente (smart sensors, smart actuators).

Este avance, unido al estado del arte en algoritmos de Este avance, unido al estado del arte en algoritmos de control avanzados, ofrece grandes posibilidades para diseñar control avanzados, ofrece grandes posibilidades para diseñar sistemas distribuidos flexibles, fiables y de altas sistemas distribuidos flexibles, fiables y de altas prestaciones.prestaciones.

El diseño y desarrollo de sistemas distribuidos conlleva la El diseño y desarrollo de sistemas distribuidos conlleva la integración de fases de análisis y simulación desde integración de fases de análisis y simulación desde diferentes puntos de vista:diferentes puntos de vista:– Desde el diseño de los propios algoritmos de control.Desde el diseño de los propios algoritmos de control.– Hasta el diseño de la arquitectura software del sistema o Hasta el diseño de la arquitectura software del sistema o

estudios de cumplimiento funcional y de requisitos temporales. estudios de cumplimiento funcional y de requisitos temporales.

Page 40: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Esta integración debería implicar en alguna medida que el Esta integración debería implicar en alguna medida que el equipo de trabajo colabore conjuntamente en el diseño de todos equipo de trabajo colabore conjuntamente en el diseño de todos los aspectos del sistema.los aspectos del sistema.

Ya que muy probablemente decisiones en un determinado Ya que muy probablemente decisiones en un determinado ámbito, por ejemplo, la decisión del número de nodos de la ámbito, por ejemplo, la decisión del número de nodos de la arquitectura, influya de manera determinante en la realización arquitectura, influya de manera determinante en la realización de los algoritmos de control, o en las prestaciones de tolerancia de los algoritmos de control, o en las prestaciones de tolerancia a fallos.a fallos.

El diseño de sistemas distribuidos con requisitos de tiempo real El diseño de sistemas distribuidos con requisitos de tiempo real en muchas ocasiones posee requerimientos críticos en términos en muchas ocasiones posee requerimientos críticos en términos de comportamiento temporal, prestaciones y seguridad.de comportamiento temporal, prestaciones y seguridad.

Este tipo de aplicaciones puede encontrarse en campos tan Este tipo de aplicaciones puede encontrarse en campos tan diversos como línea blanca, automatización de procesos de diversos como línea blanca, automatización de procesos de fabricación, la industria aeroespacial o en sistemas de fabricación, la industria aeroespacial o en sistemas de transporte (control de automóviles, ferrocarriles, etc.). transporte (control de automóviles, ferrocarriles, etc.).

Page 41: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Incluso en el campo de control de procesos industriales Incluso en el campo de control de procesos industriales existen aplicaciones en que un conjunto de subsistemas existen aplicaciones en que un conjunto de subsistemas deben cooperar y un subconjunto de ellos deben cumplir deben cooperar y un subconjunto de ellos deben cumplir ciertos requisitos temporales o de seguridad.ciertos requisitos temporales o de seguridad.

Para abordar el diseño de este tipo de sistemas resulta Para abordar el diseño de este tipo de sistemas resulta fundamental el disponer de herramientas que abarquen fundamental el disponer de herramientas que abarquen todas las fases del diseño (desde la especificación, análisis, todas las fases del diseño (desde la especificación, análisis, diseño hasta la generación de código de la aplicación).diseño hasta la generación de código de la aplicación).

De hecho, existen fabricantes de software que están De hecho, existen fabricantes de software que están adoptando la opción de integración de herramientas con el adoptando la opción de integración de herramientas con el objetivo de cubrir las etapas del diseño. objetivo de cubrir las etapas del diseño.

Page 42: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

El mercado actual ofrece herramientas potentes y bien El mercado actual ofrece herramientas potentes y bien conocidas en el ámbito del control que intercambian conocidas en el ámbito del control que intercambian información con otras que cubren aspectos de diseño.información con otras que cubren aspectos de diseño.

Por ejemplo, Xmath y Statemate se pueden conectar a nivel Por ejemplo, Xmath y Statemate se pueden conectar a nivel de código y un interfaz permite la simulación conjunta en de código y un interfaz permite la simulación conjunta en entorno Statemate.entorno Statemate.

El entorno Matlab / Simulink / StateFlow ofrece interfaces El entorno Matlab / Simulink / StateFlow ofrece interfaces gráficos que permiten la simulación conjunta de modelos gráficos que permiten la simulación conjunta de modelos simulink y stateflow.simulink y stateflow.

Algunas de estas herramientas ofrecen generación Algunas de estas herramientas ofrecen generación automática de código pero no soportan otros tipos de automática de código pero no soportan otros tipos de análisis o simulación, como por ejemplo, del análisis o simulación, como por ejemplo, del comportamiento temporal o tolerancia a fallos. comportamiento temporal o tolerancia a fallos.

Page 43: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Por otro lado, el desarrollo e integración de sistemas Por otro lado, el desarrollo e integración de sistemas distribuidos se está llevando a cabo mediante distribuidos se está llevando a cabo mediante herramientas propietarias que permiten la programación herramientas propietarias que permiten la programación de elementos individuales.de elementos individuales.

Sin embargo, son específicas de fabricante, por lo que el Sin embargo, son específicas de fabricante, por lo que el código que generan no puede ser reutilizado en código que generan no puede ser reutilizado en equipamiento de otro fabricante.equipamiento de otro fabricante.

Esto hace que los desarrolladores se deban supeditar a Esto hace que los desarrolladores se deban supeditar a ciertos fabricantes con lo que los desarrollos no ciertos fabricantes con lo que los desarrollos no constituyen sistemas realmente abiertos.constituyen sistemas realmente abiertos.

Page 44: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

SISTEMAS DE TIEMPO REALSISTEMAS DE TIEMPO REAL

Lo deseable para el desarrollador sería disponer de Lo deseable para el desarrollador sería disponer de herramientas de soporte para Sistemas Abiertos, herramientas de soporte para Sistemas Abiertos, herramientas basadas en estándares abiertos (de forma herramientas basadas en estándares abiertos (de forma que puedan ‘entenderse’ entre sí) y que permitieran que puedan ‘entenderse’ entre sí) y que permitieran implementaciones también basadas en estándares abiertos implementaciones también basadas en estándares abiertos (lenguajes de programación, protocolos de comunicación).(lenguajes de programación, protocolos de comunicación).

Actualmente, aún son muchas las herramientas Actualmente, aún son muchas las herramientas propietarias cerradas y tienen predominio absoluto en propietarias cerradas y tienen predominio absoluto en algunos campos.algunos campos.

Por lo que deben ser tomadas en cuenta en una solución Por lo que deben ser tomadas en cuenta en una solución global para no despegarse de la realidad del mercado. global para no despegarse de la realidad del mercado.

Page 45: SISTEMAS DISTRIBUIDOS DE TIEMPO REAL “ SISTEMAS DISTRIBUIDOS DE TIEMPO REAL ” Sistemas Distribuidos.

“SISTEMAS DISTRIBUIDOS DE SISTEMAS DISTRIBUIDOS DE TIEMPO REALTIEMPO REAL”

Sistemas Distribuidos

““FINFIN””