ES2264749T3 - Sincronizacion del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos. - Google Patents

Sincronizacion del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos.

Info

Publication number
ES2264749T3
ES2264749T3 ES03023526T ES03023526T ES2264749T3 ES 2264749 T3 ES2264749 T3 ES 2264749T3 ES 03023526 T ES03023526 T ES 03023526T ES 03023526 T ES03023526 T ES 03023526T ES 2264749 T3 ES2264749 T3 ES 2264749T3
Authority
ES
Spain
Prior art keywords
unit
data processing
synchronization
data
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03023526T
Other languages
English (en)
Inventor
Thomas Grosch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Application granted granted Critical
Publication of ES2264749T3 publication Critical patent/ES2264749T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Método para la sincronización del procesamiento de datos en al menos dos unidades de procesamiento de datos redundantes (1a, 1b) de un sistema de procesamiento de datos (2), en el que los datos (D) se procesan en la unidad de procesamiento de datos correspondiente (1a, 1b) paralelamente mediante uno o varias unidades de ejecución (1-1a/1b hasta n-1a/1b), con una unidad de sincronización (S1-1a/1b hasta Sn-1a/1b) asignada a varias unidades de ejecución (1-1a/1b hasta n-1a/1b) que acceden a los mismos datos (D), dicha unidad de sincronización está dividida en una zona de sincronización (B) y una zona de memoria común (C), con lo que, en una de las unidades de procesamiento de datos (1a, 1b), se accede a los datos (D) mediante una de las unidades de ejecución (1-1a/1b bis n-1a/1b) en la zona de memoria común (C) de manera que, antes del acceso de la unidad de ejecución en cuestión (1-1a/1b hasta n-1a/1b) a la zona de memoria común (C), se envía, mediante la unidad de sincronización correspondiente (S1-1a/1b bis Sn-1a/1b) en la zona de sincronización (B), una petición de confirmación de acceso (ZB) a la unidad de sincronización correspondiente (S1-1a/1b hasta Sn-1a/1b) de la otra unidad de procesamiento de datos (1a, 1b), caracterizado porque, mediante una comparación de un número de identificación (I) que representa la unidad de ejecución solicitada (1- 1a/1b hasta n-1a/1b) con el número de identificación (I) de la unidad de ejecución recibida (1-1a/1b hasta n- 1a/1b) de la otra unidad de procesamiento de datos (1a, 1b), se autoriza o se bloquea el acceso.

Description

Sincronización del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos.
La presente invención trata de un proceso para la sincronización del procesamiento de datos en al menos dos unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos y un sistema de procesamiento de datos con numerosas unidades de procesamiento de datos que están conectadas mediante una unidad de transmisión de datos, por ejemplo, un control con memoria programable para automatizar una instalación técnica, especialmente de una máquina, de una instalación de central eléctrica o fábrica.
Las instalaciones de procesamiento de datos tienen usos muy distintos en el marco de los procesos de automatización industriales. En las instalaciones técnicas complejas, se conectan la mayoría de unidades de procesamiento de datos a costosas redes de datos e informáticas mediante al menos una unidad de transmisión de datos. Para aumentar la disponibilidad del sistema de procesamiento de datos se ejecutan de manera redundante las unidades de procesamiento de datos y/o las unidades de transmisión de datos. Con la denominada redundancia del sistema, aumenta la disponibilidad del sistema completo de procesamiento de datos al ejecutar de manera redundante las unidades de procesamiento de datos y otros componentes especialmente relevantes para la seguridad como, por ejemplo, los sistemas de control descentrales, las impresoras. En este caso, los sistemas de automatización corrientes con una estructura de hardware convencional no pueden satisfacer las altas exigencias de disponibilidad. Por este motivo, se utilizan los sistemas de procesamiento de datos o de automatización con disponibilidad especialmente alta, los cuales comprenden normalmente dos unidades de procesamiento de datos con hardware y software idénticos para el procesamiento paralelo de las mismas tareas de automatización. Si se interrumpe una de las dos unidades de procesamiento de datos, la segunda unidad de procesamiento de datos puede continuar la tarea de automatización.
Esto requiere que las dos unidades de procesamiento de datos muestren en cualquier momento el mismo estado de procesamiento. Para ello se sincronizaron normalmente las dos unidades de procesamiento de datos.
Se explica detalladamente, como se representa en la figura 1, la sincronización de dos unidades de procesamiento de datos 1a y 1b de un sistema de procesamiento de datos diseñados de forma redundante 2 mediante un diagrama de operaciones. Las dos unidades de procesamiento de datos 1a y 1b están conectadas mediante una unidad de transmisión de datos 3, especialmente para la conexión de sincronización. Para el control de una instalación técnica, en las dos unidades de procesamiento de datos se llevan a cabo unidades de ejecución idénticas 1-1a hasta n-1a ó 1-1b hasta n-1b. Por ejemplo, para la unidad de procesamiento de datos 1a se activa un ciclo de sincronización Z-1a (también llamado ISR = Interrupt Service Routine) mediante un software de aplicación o una unidad de ejecución 3-1a (también llamada tarea) utilizando una alarma asincrónica A1. En el ciclo de sincronización Z-1a de la unidad de procesamiento de datos solicitada 1a, se determina primero su estado de procesamiento V-1a mediante la unidad de ejecución 3-1a activada en ese momento. Por ejemplo, la unidad de ejecución 3-1a se determina mediante el número de órdenes realizadas a través de un contador de órdenes de hardware. El estado de procesamiento actual V-1a de la unidad de procesamiento de datos 1a se transmite a través de una unidad de transmisión de datos 3 a la unidad de procesamiento de datos redundante o correspondiente 1b. Mediante el estado de procesamiento V-1a transmitido por el ciclo de sincronización Z-1a, se activa ahora un ciclo de sincronización Z-1b mediante una alarma A2 en la unidad de procesamiento de datos 1b. Mediante el ciclo de sincronización Z-1b correspondiente, se determina ahora el estado de procesamiento V-1b, es decir, la unidad de ejecución 7-1b, de la unidad de procesamiento de datos 1b.
Además, se determina, mediante el ciclo de sincronización Z-1b, una unidad de ejecución posterior 8-1a y 8-1b basada en dos unidades de procesamiento de datos 1a y 1b y se define para la sincronización como el llamado punto de retorno. En esto se transmite el estado de procesamiento actual V-1b de la unidad de procesamiento de datos recibida 1b mediante la unidad de ejecución actual 7-1b y el punto de retorno, es decir, la próxima unidad de ejecución común 8-1a y 8-1b, a la unidad de procesamiento de datos solicitada. Si las dos unidades de procesamiento de datos 1a y 1b alcanzaron el paso de procesamiento o la unidad de ejecución 8-1a o 8-1b, se activa sincrónicamente una alarma A3 también llamada interrupción de retorno.
Al saltar la alarma A3, las dos unidades de procesamiento de datos 1a y 1b se encuentran en la misma unidad de ejecución 8-1a ó 8-1b. Si al saltar la alarma A3 los datos D de la unidad de procesamiento de datos 1b deben transmitirse a la unidad de procesamiento de datos 1a o viceversa, éstos deberán transmitirse ahora. Además, las tareas necesarias para el procesamiento de la alarma A3 en las dos unidades de procesamiento de datos 1a y 1b se llevan a cabo en el ciclo de sincronización Z-1a, Z-1b mediante una gestión de sistema. Por último, la unidad de ejecución activada anteriormente 8-1a ó 8-1b se ejecuta y/o se termina en las dos unidades de procesamiento de datos 1a y 1b en el mismo estado de procesamiento V. Así los datos D introducidos en el sistema de procesamiento de datos 2 se procesan de nuevo en las dos unidades de procesamiento de datos 1a y 1b del mismo modo, es decir, las dos unidades de procesamiento de datos 1a y 1b están sincroniza-
das.
En este caso, resulta una desventaja que este tipo de proceso de sincronización ocasione inconsistencia en los datos debido a la dependencia del sistema y de la aplicación y por las diferencias en el tiempo de ejecución o el distinto orden de las unidades de ejecución. Por ejemplo, al acceder a las zonas de memoria utilizadas en común de las dos unidades de procesamiento de datos en un orden distinto, puede producirse a través de las unidades de ejecución correspondientes que las dos unidades de ejecución modifiquen la misma zona de datos, especialmente su contenido, de manera que las unidades de procesamiento de datos muestren distintos estados de procesamiento. Por lo tanto, ya no se garantiza la exigencia, en un sistema de procesamiento de datos de alta disponibilidad, de que las dos unidades de procesamiento de datos deban tener el mismo estado en cualquier momento.
La US 2002/0010880 A1 describe un sistema informático de multiprocesador tolerante a fallos que muestra un número de unidades de procesamiento. Al menos una de las unidades de procesamiento puede funcionar asincrónicamente a una segunda unidad de procesamiento. Está conectado un monitor para recibir señales de salida de las unidades de procesamiento e identificar las operaciones erróneas de estas unidades. Asimismo el monitor puede utilizarse para sincronizar el funcionamiento de las unidades de procesamiento identificando la recepción de señales de salida de unidades de procesamiento en las demás unidades de procesamiento. El monitor tampona las señales de salida de las unidades de procesamiento y transmite de manera selectiva estas señales a un bus externo. Aquí la unidad de procesamiento puede presentar uno o varios procesadores.
Por tanto, la función de la presente invención se basa en proporcionar un método para la sincronización del procesamiento de datos de al menos dos unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos, en el que la sincronización de las unidades de procesamiento de datos tiene lugar sin que influya el proceso del procesamiento de datos.
La función se soluciona según la invención mediante un proceso para la sincronización del procesamiento de datos en al menos dos unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos, en el que los datos se procesan en la unidad de procesamiento de datos correspondiente paralelamente mediante uno o varias unidades de ejecución, con una unidad de sincronización asignada a varias unidades de ejecución que acceden a los mismos datos, dicha unidad de sincronización está dividida en una zona de sincronización y una zona de memoria común, con lo que, en una de las unidades de procesamiento de datos, se accede a los datos mediante una de las unidades de ejecución en la zona de memoria común de manera que, antes del acceso de la unidad de ejecución en cuestión a la zona de memoria común, se envía, mediante la unidad de sincronización correspondiente en la zona de sincronización, una petición de confirmación de acceso a la unidad de sincronización correspondiente de la otra unidad de procesamiento de datos, con lo que mediante una comparación de un número de identificación que representa la unidad de ejecución solicitada con el número de identificación de la unidad de ejecución recibida de la otra unidad de procesamiento de datos, se autoriza o se bloquea el acceso.
La presente invención trata de la consideración de que sólo debería llevarse a cabo una sincronización de las dos unidades de procesamiento de datos para conseguir una consistencia de datos lo suficientemente exacta y segura, cuando las dos unidades de procesamiento de datos se encuentran en el mismo estado de procesamiento. Especialmente en un sistema de procesamiento de datos o de automatización ejecutado de manera redundante, en el que se llevan a cabo al mismo tiempo las funciones de regulación y control idénticas en las dos unidades de procesamiento de datos mediante unidades de ejecución, puede producirse un acceso retardado de unidades de ejecución a los mismos datos debido a un retraso en el procesamiento de datos de una de las dos unidades de procesamiento de datos. Esto provoca incompatibilidades entre las unidades de procesamiento de datos o los dispositivos de automatización que muestran los mismos datos. Para evitarlo, debe controlarse y vigilarse si cada acceso de las unidades de ejecución o tarea presentan los mismos datos en una zona de memoria común. Para ello, se incorpora, en varias unidades de ejecución que acceden a los mismos datos, una unidad de sincronización común que se divide en una zona de sincronización y en una zona de memoria común para los mismos datos. Así se incorpora una unidad de sincronización para las unidades de ejecución correspondientes en cada unidad de procesamiento de datos redundante. Mediante la unidad de sincronización se identifica, utilizando un número de identificación que representa la unidad de ejecución correspondiente, la unidad de ejecución redundante que corresponda de la otra unidad de procesamiento de datos y, por último, se autoriza el acceso a los datos. Este tipo de unidad de sincronización separada facilita un funcionamiento de sincronización superior, es decir, aislado de las unidades de ejecución.
Para una identificación segura de las unidades de ejecución que acceden a los mismos datos de las dos unidades de procesamiento de datos, se envía el número de identificación de manera controlada por el tiempo y/o un evento. Si, por ejemplo, la unidad de procesamiento de datos solicitada según un orden definido se encuentra en la segunda unidad de ejecución y la unidad de procesamiento de datos solicitada se encuentra todavía en la primera unidad de ejecución, se ejecutarán los pasos de procesamiento que todavía no se han realizado hasta la siguiente unidad de ejecución común, es decir, hasta una tercera unidad de ejecución, esto significa que no se procesarán todavía ni la primera ni la segunda unidad de ejecución de la unidad procesamiento de datos recibida. La unidad de procesamiento de datos solicitada se encuentra en modo de espera y envía el número de identificación de manera cíclica, por ejemplo, cada 2 ms, hasta que se identifica la unidad de ejecución respectiva mediante el número de identificación correspondiente y, por tanto, se asegura el mismo estado de procesamiento en las dos unidades de procesamiento de datos.
Para un control de ajuste, se envía convenientemente, después de registrar el mismo estado de procesamiento, una petición de confirmación de acceso a la otra unidad de procesamiento de datos y se supervisa una señal de autorización para el acceso común a la memoria de datos. Con el fin de implementar de la manera más fácil posible el algoritmo de sincronización en el procesamiento de datos, se ejecuta la petición de confirmación de acceso separada del acceso de datos mediante una unidad de sincronización. Después de accederse a los datos, preferiblemente se anula la petición de confirmación de acceso.
La función nombrada en segundo lugar se soluciona según la invención mediante un sistema de procesamiento de datos con al menos dos unidades de procesamiento de datos redundantes que están conectadas a través de una unidad de transmisión de datos, con lo que cada unidad de procesamiento de datos comprende para el procesamiento de datos una o varias unidades de ejecución a las que se asigna para el acceso a los mismos datos una unidad de sincronización que está dividida en una zona de sincronización y una zona de memoria común, dicha unidad de sincronización está prevista, mediante la zona de sincronización en el acceso de una de las unidades de ejecución a la zona de memoria común, para enviar una petición de confirmación de acceso a la unidad de sincronización correspondiente de la otra unidad de procesamiento de datos, y para comparar un número de identificación que representa la unidad de ejecución solicitada con el número de identificación de la unidad de ejecución recibida de otra unidad de procesamiento de datos, así como para autorizar o bloquear el acceso en función del resultado de la comparación.
Las ventajas conseguidas con la invención consisten especialmente en que, mediante la implantación de una unidad de sincronización con un ciclo de petición de dos etapas para la identificación segura del mismo estado de procesamiento de las dos unidades de procesamiento de datos utilizando los números de identificación que representan las unidades de ejecución es posible, independientemente del hardware, un algoritmo de sincronización más sencillo de transmitir al sistema operativo que desee para sincronizar aplicaciones o unidades de ejecución idénticas en unidades de procesamiento de datos que son dependientes unas de otras. Por tanto, la unidad de sincronización independientemente del sistema operativo y de hardware puede ser utilizada tanto por aplicaciones y/o sistemas operativos como por sus utilizaciones. Además, la unidad de sincronización también puede emplearse en la transición de sistemas operativos para la aplicación (= programa de usuario) sin que sea necesaria ninguna modificación del sistema operativo. Según el tipo y acondicionamiento de la comparación de los números de identificación para la identificación del estado de procesamiento de las dos unidades de procesamiento de datos, la sincronización de unidades de ejecución (también llamadas tareas) que se llevan a cabo sincrónica y/o asincrónicamente puede realizarse independientemente del hardware y del servicio. En resumen, este tipo de sistema de procesamiento de datos es especialmente económico y de eficacia temporal con respecto a su disponibilidad, así como a su uso como sistema de automatización en instalaciones en donde es importante la seguridad.
Los ejemplos de aplicación de la invención se explican detalladamente mediante las ilustraciones. Estas muestran:
Fig 2 un esquema de un sistema de procesamiento de datos redundante con dos unidades de procesamiento de datos que comprenden cada una la unidad de sincronización correspondiente y
Fig 3 un esquema de un algoritmo para la sincronización del procesamiento de datos de las dos unidades de procesamiento de datos del sistema de procesamiento de datos redundante.
En las dos figuras, las partes que corresponden una con otra están indicadas con los mismos caracteres de referencia.
La figura 2 muestra un esquema de dos unidades de procesamiento de datos redundantes 1a y 1b de un sistema de procesamiento de datos 2. Las unidades de procesamiento de datos redundantes 1a y 1b están conectadas a través de una unidad de transmisión de datos 3. El sistema de procesamiento de datos 2 es, por ejemplo, un sistema de control con memoria programable o un sistema informático conectado en red. Según el tipo y la ejecución del sistema de procesamiento de datos 2, las unidades de procesamiento de datos 1a, 1b y/o las unidades de transmisión de datos 3 pueden ejecutarse de manera redundante. En la figura 2, se representa una redundancia sencilla que muestra dos unidades de procesamiento de datos 1a, 1b diseñadas de manera redundante una con la otra. Según las exigencias de seguridad de la instalación técnica que debe controlarse mediante el sistema de procesamiento de datos 2, también puede incorporarse una redundancia múltiple, por ejemplo, una redundancia triple, y/o, además de la llamada redundancia del sistema, también puede incorporarse una redundancia de medios. La unidad de transmisión de datos 3 es una línea de transmisión estándar, por ejemplo, un cable coaxial ethernet, y muestra elementos de transmisión asimismo estándar, que no se representan, tales como amplificadores, repetidores o puentes.
En un sistema de procesamiento de datos o de automatización 2 ejecutado de manera redundante, un dispositivo de automatización o la unidad de procesamiento de datos 1a funciona adecuadamente como el llamado maestro y otro dispositivo de automatización y la unidad de procesamiento de datos 1b, como el llamado esclavo. Dependiendo de las funciones de regulación y/o control idénticas que se llevan a cabo en varias unidades de procesamiento de datos 1a, 1b de un sistema redundante, pueden existir al mismo tiempo peticiones para acceder a los mismos datos D de varias unidades de ejecución 1-1a hasta 4-1a ó 1-1b hasta 4-1b. En otras palabras, con el fin de regular y controlar y de este modo automatizar una instalación técnica que deba controlarse y/o debe regularse, por ejemplo, una fábrica, cada unidad de procesamiento de datos 1a, 1b comprende, para el procesamiento de datos D, una o varias unidades de ejecución 1-1a hasta n-1a ó 1-1b hasta n-1b (abreviado como 1-1a/1b hasta n-1a/1b). Las unidades de ejecución 1-1a/1b hasta n-1a/1b son las llamadas tareas que procesan señales de procesamiento como elementos del sistema y/o de la aplicación de la instalación técnica para generar señales de control de la instalación técnica. Las unidades de ejecución 1-1a/1b hasta n-1a/1b pueden ser distintos programas de procesamiento de datos que se asignan a un sistema operativo y a una aplicación de usuario.
En el ejemplo según la figura 2, el programa de procesamiento de datos correspondiente idéntico a las unidades de procesamiento de datos 1a y 1b comprende cuatro tareas idénticas o cuatro unidades de ejecución idénticas 1-1a hasta 4-1a y 1-1b hasta 4-1b. Para identificar qué unidad de ejecución 1-1a/1b hasta n-1a/1b se ejecuta en qué unidad de procesamiento de datos 1a ó 1b, las unidades de ejecución 1-1a/1b hasta n-1a/1b se complementan con el índice 1a ó 1b que caracteriza la unidad de procesamiento de datos correspondiente 1a ó 1b, es decir, la unidad de procesamiento de datos 1a comprende las unidades de ejecución 1-1a hasta n-1a y la unidad de procesamiento de datos correspondiente 1b, las unidades de ejecución idénticas 1-1b hasta n-1b.
Para la sincronización del procesamiento de datos de las unidades de procesamiento de datos diseñadas con hardware y software idénticos 1a y 1b, especialmente para el acceso de las unidades de ejecución 1-1a hasta 4-1a ó 1-1b hasta 4-1b a los mismos datos D, se asigna una unidad de sincronización S1-1a y S1-1b ó S2-1a y S2-1b a cada unidad de ejecución 1-1a y 2-1a ó 1-1b y 2-1b ó3-1a y 4-1a ó 3-1b y 4-1b correspondiente, es decir, que procesa los mismos datos D- La unidad de sincronización respectiva S1-1a, S2-1a y S1-1b, S2-1b de las unidades de procesamiento de datos redundantes 1a ó 1b está dividida en una zona de sincronización B y una zona de memoria C para los datos D. El proceso de sincronización realizado mediante la unidad de sincronización en cuestión 1-1a ó 2-1a y la unidad de sincronización correspondiente 1-1b ó 2-1b del procesamiento de datos de las dos unidades de datos redundantes 1a y 1b se describe en la figura 3.
El proceso de sincronización puede implementarse independientemente del número de redundancias y del hardware y software en que se basa y, por tanto, independientemente del sistema operativo y/o de la aplicación de usuario.
Para sincronizar las dos unidades de procesamiento de datos 1a y 1b, se asigna, en un acceso de varias unidades de ejecución 1-1a/1b hasta n-1a/1b, la unidad de sincronización común S1-1a, S1-1b, S2-1a o S2-1b a aquellas unidades de ejecución 1-1a y 2-1a ó 1-1b y 2-1b ó 3-1a y 4-1a ó 3-1b y 4-1b que acceden a la zona de memoria común C.
En la sincronización, por ejemplo, la unidad de ejecución correspondiente 1-1a y 2-1a ó 1-1b y 2-1b accede a la unidad de sincronización correspondiente S1-1a ó S1-1b. En la figura 3, se representa un ejemplo del algoritmo de una de las unidades de sincronización S1-1a hasta S1-1b. Aquí el algoritmo realizado en la unidad de sincronización S1-1a ó S1-1b es independiente de la unidad de procesamiento de datos correspondiente 1a ó 1b y está creada independientemente de la unidad de ejecución 1-1a, 2-1a ó 1-1b, 2-1b que accede a la unidad de sincronización S1-1a ó S1-1b.
Para ello, se identifica mediante la unidad de sincronización S1-1a ó S1-1b en el primer paso S1 si se trata de una unidad maestro o de una unidad de modo de espera (también llamada unidad esclavo) en la unidad de procesamiento de datos solicitada 1a. Esto significa que primero se identifica en qué unidad de procesamiento de datos 1a o 1b se lleva a cabo la respectiva unidad de ejecución 1-1a/1b hasta n-1a/1b (por ejemplo, la unidad de ejecución 1-1a ó 1-1b)
Según el tipo de unidad de procesamiento de datos correspondiente identificada 1a, por ejemplo, una unidad maestro, se comprueba en el segundo paso S2 si, por ejemplo, la unidad de ejecución correspondiente 1-1a (también llamada tarea 1) es la primera unidad de ejecución 1-1a hasta n-1a que accede en esta secuencia de accesos a los datos comunes D de la unidad de sincronización 1-1a. En el caso de que sea así, la unidad de ejecución correspondiente 1-1a envía primero en el paso S3 el número de identificación correspondiente I a la unidad de ejecución 1-1b correspondiente, especialmente interlocutora, de la otra unidad de procesamiento de datos 1b (= unidad de modo de espera).
El número de identificación I (también llamado ID de tarea) es un identificador exclusivo que representa cada unidad de ejecución 1-1a/1b hasta n-1a/1b, donde las unidades de ejecución que correspondan preferiblemente 1-1a y 1-1b ó 2-1a y 2-1b, etc., muestran números de identificación idénticos. En otras palabras, los números de identificación idénticos I se asignan a las unidades de ejecución 1-1a y 1-1b que deban sincronizarse de las dos unidades de procesamiento de datos. Como alternativa, en lugar de esta asignación en pares de números de identificación I a las unidades de ejecución correspondientes 1-1a y 1-1b, se lleva a cabo una asignación adicional mediante un identificador exclusivo. Durante el procesamiento de la función de sincronización mediante la unidad de sincronización S1-1a, los accesos de otras unidades de ejecución, por ejemplo, 3-1a ó 4-1a se trasladan a un llamado estado de espera.
En el cuarto paso S4, la unidad de sincronización S1-1a envía una petición de confirmación de acceso ZB a la unidad de sincronización correspondiente S1-1b de la otra unidad de procesamiento de datos 1b (= unidad de modo de espera). En el quinto paso S5, la unidad de sincronización S1-1a espera la recepción de la petición de confirmación de acceso ZB.
Según el tipo y la ejecución del proceso de sincronización, se accede paralelamente o de forma retardada a la unidad de sincronización S1-1b correspondiente en la unidad de procesamiento de datos correspondiente 1-1b (= unidad de modo de espera). En esto no se asegura que el acceso a la unidad de sincronización S1-1b se lleve a cabo a través de la unidad de ejecución correspondiente 1-1b. Con el fin de sincronizar las dos unidades de procesamiento de datos 1a y 1b, se identifica primero en el paso S6 si éste es el primer acceso en la secuencia de accesos. Si se trata del primer acceso en esta secuencia de accesos, la unidad de sincronización S1-1b espera en el paso S7 a la recepción del número de identificación I de la unidad de ejecución 1-1a de la unidad maestro o unidad de procesamiento de datos 1a. Después de recibir el número de identificación I o en el siguiente acceso más próximo de la secuencia de accesos, en el paso S8 se compara el número de identificación I de la unidad de ejecución 1-1b a la que se accede con el número de identificación I recibido o recibido anteriormente de la unidad de ejecución correspondiente 1-1a. En el caso de que los números de identificación I sean iguales, se efectúan también, analógicamente a los pasos S3 a S5 de la unidad de sincronización S1-1a de la unidad maestro, estos pasos S3 a S5 de la unidad de unidad de sincronización S1-1b de la unidad de modo de espera.
Después de recibir la petición de confirmación de acceso ZB a través de la unidad de procesamiento de datos 1a o a través de la unidad de procesamiento de datos correspondiente 1b, mediante la unidad de ejecución respectiva 1-1a ó 1-1b se lleva a cabo en el paso S9 el acceso a la zona de memoria común C.
En el caso de que no coincidan los dos números de identificación I, la unidad de ejecución 3-1b hasta n-1b que accede a la unidad de modo de espera o a la unidad de procesamiento de datos 1b se traslada en el paso S10 al estado de espera. Esto significa que el procesamiento de datos se detiene e interrumpe a través de la unidad de ejecución correspondiente 3-1b hasta n-1b en la unidad de procesamiento de datos 1b. Por tanto, otra unidad de ejecución 1-1b hasta 2-1b puede acceder en el paso S11 a la unidad de sincronización S1-1b. Aquí puede determinarse previamente la próxima unidad de ejecución 1-1b hasta n-1b, por ejemplo, a través de un control de sistema. Cada unidad de ejecución 1-1b hasta n-1b realiza la misma secuencia de pasos de S1, S6 a S8 y de S10 a S11 hasta que el resultado de la comparación de los números de identificación I en el paso S8 sea positivo. Esto significa que, las unidades de ejecución 1-1a y 1-1b ó 2-1a y 2-1b correspondientes o idénticas en pares a las dos unidades de procesamiento de datos 1a y 1b acceden a la zona de memoria común C, de modo que el estado cambia de la misma manera mediante el acceso en las dos unidades de procesamiento de datos 1a y 1b. Esto significa que las dos unidades de procesamiento de datos 1a y 1b funcionan sincrónicamente en el paso S9.
Después de concluir el acceso común de las unidades de ejecución correspondientes 1-1a y 1-1b a la zona de memoria común C, finaliza en el paso S12 el acceso a la unidad de sincronización S1-1a ó S1-1b a través de las unidades de ejecución correspondientes 1-1a y 1-1b, con lo cual en el paso S13 se autorizan todas las unidades de ejecución 1-1a/1b hasta n-1a/1b establecidas en el estado de espera o inactividad, y en el paso S14 termina el acceso a la zona de memoria común C y la función basada en este acceso.
Este tipo de algoritmo de sincronización ejecutado mediante una unidad de sincronización común S1-1a hasta Sn-1b asegura que se consiga, en una zona de memoria común C (= zona de memoria compartida), un acceso para cada una de las dos unidades de procesamiento de datos 1a y 1b en el mismo orden mediante las mismas unidades de ejecución 1-1a/1b hasta n-1a/1b (= tareas). De este modo se asegura que las aplicaciones en las dos unidades de procesamiento de datos 1a y 1b sean y permanezcan siempre en el mismo estado de procesamiento.
En resumen, la invención trata de un proceso para la sincronización del procesamiento de datos en al menos dos unidades de procesamiento de datos redundantes 1a, 1b de un sistema de procesamiento de datos 2 y un sistema de procesamiento de datos 2 con varias unidades de procesamiento de datos 1a, 1b. En éste los datos D se procesan en la unidad de procesamiento de datos correspondiente 1a, 1b paralelamente mediante uno o varias unidades de ejecución 1-1a/1b hasta n-1a/1b, con una unidad de sincronización S1-1a/1b hasta Sn-1a/1b asignada a varias unidades de ejecución 1-1a/1b hasta n-1a/1b que acceden a los mismos datos D, dicha unidad de sincronización está dividida en una zona de sincronización B y una zona de memoria común C, con lo que, en una de las unidades de procesamiento de datos 1a, 1b, se accede a los datos D mediante una de las unidades de ejecución 1-1a/1b bis n-1a/1b en la zona de memoria común C de manera que, antes del acceso de la unidad de ejecución en cuestión 1-1a/1b hasta n-1a/1b a la zona de memoria común C, se envía, mediante la unidad de sincronización correspondiente S1-1a/1b bis Sn-1a/1b en la zona de sincronización B, una petición de confirmación de acceso ZB a la unidad de sincronización correspondiente S1-1a/1b hasta Sn-1a/1b de la otra unidad de procesamiento de datos 1a, 1b, y mediante una comparación de un número de identificación I que representa la unidad de ejecución solicitada 1-1a/1b hasta n-1a/1b con el número de identificación I de la unidad de ejecución recibida 1-1a/1b hasta n-1a/1b de la otra unidad de procesamiento de datos 1a, 1b, se autoriza o se bloquea el acceso.

Claims (5)

1. Método para la sincronización del procesamiento de datos en al menos dos unidades de procesamiento de datos redundantes (1a, 1b) de un sistema de procesamiento de datos (2), en el que los datos (D) se procesan en la unidad de procesamiento de datos correspondiente (1a, 1b) paralelamente mediante uno o varias unidades de ejecución (1-1a/1b hasta n-1a/1b), con una unidad de sincronización (S1-1a/1b hasta Sn-1a/1b) asignada a varias unidades de ejecución (1-1a/1b hasta n-1a/1b) que acceden a los mismos datos (D), dicha unidad de sincronización está dividida en una zona de sincronización (B) y una zona de memoria común (C), con lo que, en una de las unidades de procesamiento de datos (1a, 1b), se accede a los datos (D) mediante una de las unidades de ejecución (1-1a/1b bis n-1a/1b) en la zona de memoria común (C) de manera que, antes del acceso de la unidad de ejecución en cuestión (1-1a/1b hasta n-1a/1b) a la zona de memoria común (C), se envía, mediante la unidad de sincronización correspondiente (S1-1a/1b bis Sn-1a/1b) en la zona de sincronización (B), una petición de confirmación de acceso (ZB) a la unidad de sincronización correspondiente (S1-1a/1b hasta Sn-1a/1b) de la otra unidad de procesamiento de datos (1a, 1b), caracterizado porque, mediante una comparación de un número de identificación (I) que representa la unidad de ejecución solicitada (1-1a/1b hasta n-1a/1b) con el número de identificación (I) de la unidad de ejecución recibida (1-1a/1b hasta n-1a/1b) de la otra unidad de procesamiento de datos (1a, 1b), se autoriza o se bloquea el acceso.
2. Método según la reivindicación 1, caracterizado porque el número de identificación (I) se envía de manera controlada por el tiempo y/o un evento.
3. Método según la reivindicación 1 ó 2, caracterizado porque, después del acceso a los datos (D), se anula la petición de confirmación de acceso (ZB).
4. Método según una de las reivindicaciones 1 a 3, caracterizado porque, mediante la unidad de sincronización (S1-1a/1b hasta Sn-1a/1b), la petición de confirmación de acceso (ZB) se ejecuta separadamente del acceso a datos.
5. Sistema de procesamiento de datos (2) con al menos dos unidades de procesamiento de datos redundantes (1a, 1b) que están conectadas mediante una unidad de transmisión de datos (3), con lo que cada unidad de procesamiento de datos (1a, 1b) comprende para el procesamiento de datos (D) una o varias unidades de ejecución (1-1a/1b hasta n-1a/1b) a las que se asigna para el acceso a los mismos datos (D) una unidad de sincronización (S1-1a/1b hasta Sn-1a/1b) que está dividida en una zona de sincronización (B) y una zona de memoria común (C), dicha unidad de sincronización (S1-1a/1b hasta Sn-1a/1b) está prevista, mediante la zona de sincronización (B) en el acceso de una de las unidades de ejecución (1-1a/1b hasta n-1a/1b) a la zona de memoria común (C), para enviar una petición de confirmación de acceso (ZB) a la unidad de sincronización correspondiente (S1-1a/_1b hasta Sn-_1a/_1b) de otra unidad de procesamiento de datos (1a, 1b), caracterizado porque la unidad de sincronización está prevista para comparar un número de identificación (I) que representa la unidad de ejecución solicitada (1-1a/1b bis n-1a/1b) con el número de identificación (I) de la unidad de ejecución recibida (1-1a/1b bis n-1a/1b) de la otra unidad de procesamiento de datos (1a, 1b), así como para autorizar o bloquear el acceso en función del resultado de la comparación.
ES03023526T 2002-11-07 2003-10-15 Sincronizacion del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos. Expired - Lifetime ES2264749T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10251912 2002-11-07
DE10251912A DE10251912A1 (de) 2002-11-07 2002-11-07 Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems

Publications (1)

Publication Number Publication Date
ES2264749T3 true ES2264749T3 (es) 2007-01-16

Family

ID=32115355

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03023526T Expired - Lifetime ES2264749T3 (es) 2002-11-07 2003-10-15 Sincronizacion del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos.

Country Status (4)

Country Link
EP (1) EP1426862B1 (es)
AT (1) ATE329310T1 (es)
DE (2) DE10251912A1 (es)
ES (1) ES2264749T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516355B2 (en) 2011-02-16 2013-08-20 Invensys Systems, Inc. System and method for fault tolerant computing using generic hardware
US8745467B2 (en) 2011-02-16 2014-06-03 Invensys Systems, Inc. System and method for fault tolerant computing using generic hardware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
DE4219005A1 (de) * 1992-06-10 1993-12-16 Siemens Ag Rechnersystem
US6247143B1 (en) * 1998-06-30 2001-06-12 Sun Microsystems, Inc. I/O handling for a multiprocessor computer system
FR2803057B1 (fr) * 1999-12-22 2002-11-29 Centre Nat Etd Spatiales Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme

Also Published As

Publication number Publication date
EP1426862A3 (de) 2005-01-26
DE10251912A1 (de) 2004-05-19
EP1426862B1 (de) 2006-06-07
ATE329310T1 (de) 2006-06-15
EP1426862A2 (de) 2004-06-09
DE50303669D1 (de) 2006-07-20

Similar Documents

Publication Publication Date Title
US4539655A (en) Microcomputer based distributed control network
EP0106084B1 (en) Modular computer system
US5675830A (en) Addressing scheme for control network having remote address request device
EP0318221B1 (en) Controlling responding by users of an intercommunications bus
US7428659B2 (en) Programmable controller with CPU units and special-function modules and method of doubling up
US9356800B2 (en) Communication method for the transmission of TT ethernet messages in a distributed real time computer system
US20050060606A1 (en) Safety controller providing for execution of standard and safety control programs
AU604345B2 (en) Interrupting node for providing interrupt requests to a pended bus
AU604959B2 (en) Servicing interrupts using a pended bus
US7287184B2 (en) High speed synchronization in dual-processor safety controller
US20090193229A1 (en) High-integrity computation architecture with multiple supervised resources
EP2153328A1 (en) Data processing system, data processing method, and apparatus
US7206877B1 (en) Fault tolerant data communication network
ES2264749T3 (es) Sincronizacion del procesamiento de datos en unidades de procesamiento de datos redundantes de un sistema de procesamiento de datos.
US5051946A (en) Integrated scannable rotational priority network apparatus
US5038274A (en) Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
EP1977566B1 (de) Zeitgesteuerte sichere kommunikation
US7228390B2 (en) Safety controller with hardware memory lock
RU2595507C2 (ru) Платформа интегрированной модульной авионики боевых комплексов
EP0251234B1 (en) Multiprocessor interrupt level change synchronization apparatus
ES2252664T3 (es) Procedimiento para la proyeccion y/o configuracion de un proyecto.
Färber Principles and applications of decentralized process control computer systems
GB2146810A (en) Achieving redundancy in a distributed process control system
KR0120012B1 (ko) 송신버스 점유 예약방법
KR100718082B1 (ko) 멀티포트 i2c 컨트롤러 및 그의 동작제어방법