next up previous
Next: Tets et performances Up: Réalisation Previous: Réalisation

Support des communications réseau

Un des aspects les plus critiques de migration de processus parallèles est le support des communications réseau ouvertes au moment où l'un des processus est déplacé. La fermeture ou la disparition brutale de l'une des extrémités de la connexion entraîne la cassure du protocole de communication et peut rendre impossible la continuité des processus impliqués. Nous nous sommes intéressés aux processus communicant à travers le protocole TCP. La difficulté à migrer de tels processus vient de ce que TCP maintient un ensemble complexe de structures de données pour chaque connexion, et que la modification des ces données impose de modifier le code noyau TCP. Nous avons choisi une autre alternative : nous utilisons Netfilter, le module de filtrage du trafic réseau de Linux pour capturer les paquets échangés entre les processus et nous avons construit des outils au dessus de ce module pour sauvegarder et restaurer ces communications. Ce système présente plusieurs avantages : le code réseau du noyau n'est pas modifié, ce qui garantit la stabilité et la portabilité du système, la gestion des paquets réseau se fait en mode utilisateur, ce qui permet de stocker de plus grandes quantités d'informations sur les messages échangés, la possibilité de stocker les messages permet une gestion plus souple du checkpoint/restart; il n'est plus nécessaire de stopper tous les processus de l'ensemble au moment de prendre l'image de l'un d'eux. Pour retrouver un contexte cohérent par rapport au reste des processus, les messages transmis entre la dernière sauvegarde et la migration du processus sont rejoués.


next up previous
Next: Tets et performances Up: Réalisation Previous: Réalisation
Jean-Michel Nlong2 2004-05-03