Les échanges de données entre les processeurs s’effectuent via une mémoire partagée, seulement entre équipements distants, ce type d’échanges n’est plus possibles. Arion y remédie par une distribution de la mémoire.
Dans un équipement, les échanges de données entre les processeurs s’effectuent via une mémoire partagée sous le contrôle du système d’exploitation. Seulement, lorsque la communication se passe entre équipements distants, les échanges par mémoire partagée ne sont plus possibles.
Avec son coprocesseur, la société Arion y remédie par une distribution de la mémoire. Sa spécificité étant de traiter la structure d’accueil et les protocoles de communication au niveau matériel et non au niveau logiciel comme c’est le cas dans une architecture traditionnelle.
L’Arion 100 est un composant qui s’insère entre le processeur et le réseau. Il se comporte comme un coprocesseur de communication et prend en charge les transmissions de données dans les applications temps réel. Il permet dans une architecture distribuée de voir toutes les CPU des équipements interconnectés comme une seule et unique unité de traitement, tout en respectant les contraintes temporelles.
Associé à un réseau Ethernet à 100 Mbits/sec, le débit utile est de 85 Mbits/sec en diffusion, et la précision de synchronisation de l’ensemble des équipements est de l’ordre de la microseconde. Le modèle de communication retenu associé à une méthode d’accès multimaitre supporte un trafic cyclique, événementiel et isochrone.
Le principe est basé sur une communication « objet » avec une interface d’application de type Read () Write (). Cette communication objet met en œuvre des méthodes d’accès aux données garantissant leur intégrité, mais surtout elle propose des services à l’application comme la datation ou la synchronisation en fonction des propriétés des données.
Le coprocesseur distribue les données dans l’application. Il utilise pour ce faire une mécanique de « miroring » pour garantir la cohérence temporelle et spatiale des données. Parmi les caractéristiques, on notera que la topologie est libre et que la redondance active de la couche physique est supportée.
Une structure en couches
La structure interne comprend plusieurs couches. Au niveau de l’application, l’Arion 100 permet les échanges de données temps réel par accès direct à la base de données, et non temps réel par utilisation des librairies de communication du système d’exploitation (TCP/UDP-IP).
Au niveau de l’équipement une HAL (Hardware Abstraction Layer) autorise la connexion à divers systèmes d’exploitation (Windows XP/Ce, Linux, VxWorks…), par modification du driver, le coprocesseur s’adapte également au bus de fond de panier tel que PCI, VME, PMC…
Au niveau du réseau, la CAL (Communication Abstraction Layer) assure la portabilité sur différents protocoles (Ethernet, Can, …) et différents supports physiques (électrique ou optique).
Le réseau Arion doit être paramétré, les données nécessaires sont d’une part la liste des équipements connectés sur le réseau et d’autre part la liste des données devant être échangées dans l’application. Pour simplifier l’utilisation c’est le format XML qui a été privilégié comme interface avec l’utilisateur.
Pour l’instant les premières applications fonctionnent sur le Banc de simulation global des avions de Dassault Aviation ou concerne la transmission d’information via un support radio assurant la transmission entre équipements mobiles pour un projet d’automatisation dans le domaine ferroviaire.
Un groupement d’industriels, parmi lesquels Alera, Hirchmann et WindRiver, propose une solution intégrée permettant à partir d’une plate-forme de spécifier, architecturer, concevoir, réaliser et tester des applications distribuées dans un environnement hétérogène. Le coprocesseur est également disponible sous la forme de propriété intellectuelle (IP), chaque industriel, au travers d’un programme OpenCore a la possibilité d’en devenir propriétaire et de l’intégrer dans ses propres designs.
Pour le futur, les projets s’étendent sur deux axes, la réalisation d’un microprocesseur intégrant un niveau de sécurité Sil4 qui sera disponible premier semestre 2006 et l’extension de la gamme avec l’utilisation de réseaux optiques pour la transmission à 1 Gbits/sec qui sera présenté en 2007.
Schéma à scanner
Encadré
Communication entre processus
La communication entre processus locaux
– Mémoire physiquement et logiquement partagée : le passage de données entre les processus est réalisé via une même zone mémoire connue des deux processus et partagée physiquement entre les processus (exemple : un système réalisé autour d’un bus VME)
– Mémoire physiquement partagée et logiquement disjointe : l’échange de données entre processus se fait sous le contrôle du système d’exploitation garant de l’intégrité des données, via des IPC (inter processus communication) et des appels de fonctions livrées dans les librairies associés.
La communication entre processus distants
– Mémoire physiquement et logiquement disjointe : l’échange des données entre processus distants est réalisée par l’envoi de messages via des moyens de communication faisant référence à un profil, normalisé ou non, déployé sur toutes les machines distantes (par exemple un ensemble de calculateurs reliés entre eux par un moyen de communication de type TCP-IP…).
– Mémoire physiquement disjointe et logiquement partagée : l’échange de données entre processus distants se fait par l’envoi d’un message en diffusion dans lequel on a pris soin d’encapsuler la donnée avec un identifiant unique. Le message est reçu par tous les équipements qui après filtrage, ne gardent que les données utiles aux processus instanciés sur les dits équipements. C’est ce mécanisme qui est utilisé dans les réseaux locaux industriels comme Can et Fip.
j43p3637
Dans un équipement, les échanges de données entre les processeurs s’effectuent via une mémoire partagée sous le contrôle du système d’exploitation. Seulement, lorsque la communication se passe entre équipements distants, les échanges par mémoire partagée ne sont plus possibles.
Avec son coprocesseur, la société Arion y remédie par une distribution de la mémoire. Sa spécificité étant de traiter la structure d’accueil et les protocoles de communication au niveau matériel et non au niveau logiciel comme c’est le cas dans une architecture traditionnelle.
L’Arion 100 est un composant qui s’insère entre le processeur et le réseau. Il se comporte comme un coprocesseur de communication et prend en charge les transmissions de données dans les applications temps réel. Il permet dans une architecture distribuée de voir toutes les CPU des équipements interconnectés comme une seule et unique unité de traitement, tout en respectant les contraintes temporelles.
Associé à un réseau Ethernet à 100 Mbits/sec, le débit utile est de 85 Mbits/sec en diffusion, et la précision de synchronisation de l’ensemble des équipements est de l’ordre de la microseconde. Le modèle de communication retenu associé à une méthode d’accès multimaitre supporte un trafic cyclique, événementiel et isochrone.
Le principe est basé sur une communication « objet » avec une interface d’application de type Read () Write (). Cette communication objet met en œuvre des méthodes d’accès aux données garantissant leur intégrité, mais surtout elle propose des services à l’application comme la datation ou la synchronisation en fonction des propriétés des données.
Le coprocesseur distribue les données dans l’application. Il utilise pour ce faire une mécanique de « miroring » pour garantir la cohérence temporelle et spatiale des données. Parmi les caractéristiques, on notera que la topologie est libre et que la redondance active de la couche physique est supportée.
Une structure en couches
La structure interne comprend plusieurs couches. Au niveau de l’application, l’Arion 100 permet les échanges de données temps réel par accès direct à la base de données, et non temps réel par utilisation des librairies de communication du système d’exploitation (TCP/UDP-IP).
Au niveau de l’équipement une HAL (Hardware Abstraction Layer) autorise la connexion à divers systèmes d’exploitation (Windows XP/Ce, Linux, VxWorks…), par modification du driver, le coprocesseur s’adapte également au bus de fond de panier tel que PCI, VME, PMC…
Au niveau du réseau, la CAL (Communication Abstraction Layer) assure la portabilité sur différents protocoles (Ethernet, Can, …) et différents supports physiques (électrique ou optique).
Le réseau Arion doit être paramétré, les données nécessaires sont d’une part la liste des équipements connectés sur le réseau et d’autre part la liste des données devant être échangées dans l’application. Pour simplifier l’utilisation c’est le format XML qui a été privilégié comme interface avec l’utilisateur.
Pour l’instant les premières applications fonctionnent sur le Banc de simulation global des avions de Dassault Aviation ou concerne la transmission d’information via un support radio assurant la transmission entre équipements mobiles pour un projet d’automatisation dans le domaine ferroviaire.
Un groupement d’industriels, parmi lesquels Alera, Hirchmann et WindRiver, propose une solution intégrée permettant à partir d’une plate-forme de spécifier, architecturer, concevoir, réaliser et tester des applications distribuées dans un environnement hétérogène. Le coprocesseur est également disponible sous la forme de propriété intellectuelle (IP), chaque industriel, au travers d’un programme OpenCore a la possibilité d’en devenir propriétaire et de l’intégrer dans ses propres designs.
Pour le futur, les projets s’étendent sur deux axes, la réalisation d’un microprocesseur intégrant un niveau de sécurité Sil4 qui sera disponible premier semestre 2006 et l’extension de la gamme avec l’utilisation de réseaux optiques pour la transmission à 1 Gbits/sec qui sera présenté en 2007.
Schéma à scanner
Encadré
Communication entre processus
La communication entre processus locaux
– Mémoire physiquement et logiquement partagée : le passage de données entre les processus est réalisé via une même zone mémoire connue des deux processus et partagée physiquement entre les processus (exemple : un système réalisé autour d’un bus VME)
– Mémoire physiquement partagée et logiquement disjointe : l’échange de données entre processus se fait sous le contrôle du système d’exploitation garant de l’intégrité des données, via des IPC (inter processus communication) et des appels de fonctions livrées dans les librairies associés.
La communication entre processus distants
– Mémoire physiquement et logiquement disjointe : l’échange des données entre processus distants est réalisée par l’envoi de messages via des moyens de communication faisant référence à un profil, normalisé ou non, déployé sur toutes les machines distantes (par exemple un ensemble de calculateurs reliés entre eux par un moyen de communication de type TCP-IP…).
– Mémoire physiquement disjointe et logiquement partagée : l’échange de données entre processus distants se fait par l’envoi d’un message en diffusion dans lequel on a pris soin d’encapsuler la donnée avec un identifiant unique. Le message est reçu par tous les équipements qui après filtrage, ne gardent que les données utiles aux processus instanciés sur les dits équipements. C’est ce mécanisme qui est utilisé dans les réseaux locaux industriels comme Can et Fip.