CORBA haute performance
Abstract
Les codes de calcul étant de plus en plus complexes, il devient courant de modulariser le code en couplant des modules à l'aide d'un middleware, par exemple CORBA. Les implémentations existantes de CORBA exploitent «efficacement» les réseaux locaux et longue distance grâce à TCP/IP. Cependant, quand il s'agit d'exécuter différents codes couplés sur une grappe de PC, il serait intéressant que CORBA puisse exploiter directement les réseaux haut débit tels que SCI ou Myrinet. Cet article présente une implémentation CORBA reposant sur omniORB en utilisant la bibliothèque de communications Madeleine. Nous avons mis l'accent sur les performances et la transparence d'utilisation. Ainsi, nous intégrons à l'ORB un support de protocoles multiples avec sélection automatique, et nous maintenons l'interopérabilité avec les autres ORB. Les performances sont au rendez-vous. Sur Ethernet-100, le débit plafonne à 11.6 Mo/s (92 Mbit/s) pour une latence à 160 microsecondes ; notre implémentation réalise des transferts à 240 Mo/s (1.9 Gbit/s) sur Myrinet-2000, avec une latence abaissée à 20 microsecondes.