CORBA et réseaux haute performance
Résumé
Les codes de calcul devenant de plus en plus complexes, la modularisation est une pratique de plus en plus répandue. Les modules sont couplées à l'aide d'un "middleware", par exemple Corba. Les implémentations existantes de Corba exploitent efficacement les technologies de réseau local classiques telles que TCP/IP sur Ethernet. Les performances sont également conformes aux attentes sur des réseaux longue distance. Cependant, quand il s'agit d'exécuter différents codes couplés sur une grappe de PC, il serait intéressant que l'ORB puisse exploiter directement les réseaux haut débit tels que SCI ou Myrinet. Quelques tentatives ont été faites par le passé, mais les résultats n'étaient pas à la hauteur des espérances (par exemple, seulement 10Mb/s sur ATM). Nous avons avons réalisé un prototype reposant sur omniORB3 utilisant la bibliothèque de communications Madeleine. Les performances sont au rendez-vous. Sur IIOP/Ethernet-100, le débit plafonnait à 92Mb/s pour une latence à 150us ; quand un réseau rapide est disponible, notre implémentation réalise des transferts à 560Mb/s et 640Mb/s respectivement sur SCI et Myrinet, avec une latence abaissée à 50us.