la rti 1.3ng du dod et les systèmes supports

15
1 La RTI 1.3NG du DoD et les systèmes supports Patrice Torguet IRIT

Upload: olisa

Post on 11-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

La RTI 1.3NG du DoD et les systèmes supports. Patrice Torguet IRIT. 1 – La RTI 1.3NG. L’implémentation a pris en compte l’expérience acquise lors du développement des précédentes versions de la RTI du DoD (RTI 1.0, STOW RTI, RTI 1.3…) Mais, aucun code n’a été réutilisé - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: La RTI 1.3NG du DoD et les systèmes supports

1

La RTI 1.3NG du DoD et les systèmes supports

Patrice TorguetIRIT

Page 2: La RTI 1.3NG du DoD et les systèmes supports

2

1 – La RTI 1.3NG

• L’implémentation a pris en compte l’expérience acquise lors du développement des précédentes versions de la RTI du DoD (RTI 1.0, STOW RTI, RTI 1.3…)

• Mais, aucun code n’a été réutilisé

• Objectifs de l’implantation :– Etre compatible avec la norme

– Haute performance

– Configurable

– Portable

Page 3: La RTI 1.3NG du DoD et les systèmes supports

3

1 – La RTI 1.3NG

• Compatibilité avec la norme– Un ensemble de test automatisé a été mis en place– Compatibilité au niveau du code avec la version

précédente (il suffit de recompiler)

• Haute performance– Utilisation d’un outil de benchmark– Définition de « chemins de données critiques » pour les

fonctionnalités les plus utilisées (exemple mise à jour d’attributs) => optimisation en évitant, par exemple, au maximum les copies mémoires

Page 4: La RTI 1.3NG du DoD et les systèmes supports

4

1 – La RTI 1.3NG• Configurabilité

– Abstractions => pour pouvoir changer les composants internes

– Exemples : modèle de « threading », algorithmes d’adressage et de routage des données, type de communication à utiliser (reliable = TCP ou UDPmulticast, best effort = UDPmulticast ou TCP)

– Configuration => Fichier RTI Initialization Data (RID) ou dynamiquement

• Portabilité– Windows 98, NT, 2K, Solaris, SGI IRIX, Linux, HP-

UX, AIX, DEC Digital Unix et VxWorks– Utilise ACE (Adaptative Communication Environment)

et TAO (The ACE ORB)

Page 5: La RTI 1.3NG du DoD et les systèmes supports

5

1 – La RTI 1.3NG

Presentation Layer

Internal RTIComponents

process levelcomponents

1 2

federation levelcomponents

federate levelcomponents

• publication / subscription• object attribute database• time management node• others ...

A

• FED database• communication channels• others ...

• external device access• resource management• others ...

pid

Federate 1Federation A

Federate 2Federation A

Federate 1Federation B

HLA Standard API

1

B

Interconnection Mechanisms (e.g., IP, ATM, Shared Memory, SCI)

Network Abstraction LayerAdaptive Communication Environment (ACE / TAO)

Page 6: La RTI 1.3NG du DoD et les systèmes supports

6

1 – La RTI 1.3NG• Paquetages (ensembles de classes)

– Couche Présentation • plusieurs fédérés et plusieurs fédérations dans un seul processus

– Modèle de processus• gère les différents modèles de « threading »

– Gestion des données• gère la publication, l’abonnement, la propriété et le routage des

données des fédérations

– Gestion du temps• gère la synchronisation du traitement des événements par les

fédérés d’une simulation

– Couche d’abstraction Réseau• sépare les composants internes de la RTI de tout ce qui concerne

l’OS et les mécanismes d’interconnexion

Page 7: La RTI 1.3NG du DoD et les systèmes supports

7

1 – La RTI 1.3NG

Downcall Objects

Interconnection Mechanisms

downcallstuff

Upcall Objects

upcallstuff

scheduler

criticaldata

structures

FederateCallbacks

Network Ab straction Layer

RTI ServiceInvocations

Presentation Layer

Optional RTI Tread(s): Federate Thread(s)

scheduler

• Gestion du « threading »– un seul thread => appel à une

méthode « tick » qui fait du polling réseau

– un seul thread + « tick » + thread asynchrone pour gérer la réception des données venant du réseau

– multi-thread complet (pas encore disponible apparemment) => protection des données RTI par un sémaphore global : un seul appel à la fois => ceci pourra être amélioré par la suite

Page 8: La RTI 1.3NG du DoD et les systèmes supports

8

1 – La RTI 1.3NG

• Gestion des données– publication/abonnement => filtrage classe par classe

– on définit dans le .fed la QoS (best effort/reliable et receive/timestamp order) pour chaque attribut d’objet et pour chaque interaction

– espaces de routage (DDM : Data Distribution Management) => filtrage instance par instance

– Le DDM permet de créer des régions qui sont mappées sur des canaux TCP et/ou des adresses multicast IP

• Gestion du temps– Les fédérés peuvent être contraint par rapport au temps ou non

– L’algorithme utilisé pour gérer le temps est basé sur « Mattern’s Global Virtual Time »

Page 9: La RTI 1.3NG du DoD et les systèmes supports

9

2 – ACE (Adaptive Communication Environment)

• ACE est un environnement de programmation orienté objet, open source gratuit qui implémente de nombreux « design patterns » utilisés dans les applications réparties.

• Il offre un ensemble de wrappers C++ qui permettent de rester indépendant de l’OS

• Il propose :– La gestion d’événements ; Le traitement de signaux– La communication inter processus ; – La gestion de mémoire partagée ; La synchronisation– La gestion de threads ; Le routage de messages– La (re)configuration de services répartis

Page 10: La RTI 1.3NG du DoD et les systèmes supports

10

2 – ACE (Adaptive Communication Environment)

• Porté et testé sur les plate formes suivantes :– Win32 (NT, 9x et WinCE)

– UNIX : Solaris, SGI IRIX, HP/UX, DEC Digital Unix, AIX, SCO, Linux, FreeBSD…

– OS temps réels (LynxOS, VxWorks, Chorus, QNX Neutrino et PSoS)

– CRAY UNICOS

– Java

Page 11: La RTI 1.3NG du DoD et les systèmes supports

11

2 – ACE (Adaptive Communication Environment)

Page 12: La RTI 1.3NG du DoD et les systèmes supports

12

3 – TAO (The ACE ORB)

• TAO est une implémentation open source gratuite de la spécification 2.4 de CORBA.

• TAO propose en plus des services standards :– Un service temps-réel de gestion des événements qui offre un

filtrage des événements en fonction de leur source ou de leur type, la corrélation des évènements, la distribution temps-réel des événements et l’échange d’événements avec le multicasting UDP.

– Un service temps-réel d’ordonnancement de tâches qui offre un ordonnancement statique et/ou dynamique.Ils sont en train d’implémenter un service qui se conforme à la nouvelle spécification temps-réel de CORBA et à la future spécification de l’ordonnancement dynamique.

Page 13: La RTI 1.3NG du DoD et les systèmes supports

13

3 – TAO (The ACE ORB)

Page 14: La RTI 1.3NG du DoD et les systèmes supports

14

4 – RTI et Open Source ?

• Pour l’instant RTI 1.3NG n’est pas open source• Mais elle est basée sur ACE et TAO qui eux le

sont

Page 15: La RTI 1.3NG du DoD et les systèmes supports

15

5 – Autres RTI

• MÄK technologies propose une RTI qui est compatible avec celle du DoD et sensée être plus rapide (elle n’utilise pas de RTI exécutive ou d’autre serveur central et elle peut être configurée pour faire du broadcast ou du multicast) et est disponible gratuitement mais elle n’implante pas tout

• pRTI (portable RTI) de Pitch AB (société suédoise) est une RTI commerciale qui implante toute la norme et a été totalement certifiée