• Aucun résultat trouvé

Exemple de modèle atomique avec entrées multiples et entrée unique

Le formalisme DEVS offre différentes structures possibles pour un modèle atomique, comme le montre la figure2.3, il est possible de créer un modèle atomique se composant d’entrées et de sorties multiples, où on associe en général une sortie par destinataire. Cependant, nous avons préféré la seconde formalisation du modèle atomique qui se compose d’un unique port d’entrée et

de sortie. S’il existe plusieurs destinataires, le message contenu par le port de sortie est dupliqué puis distribué à chacun des modèles destinataires. Ce genre de formalisation donne naissance à un graphe de modèles où les arêtes multiples sont interdites. De plus, comme le formalisme DEVS interdit la connexion d’un modèle atomique à lui-même, il est impossible de trouver des boucles au sein du graphe. Ce qui garantit à ce graphe d’être un graphe simple (voir1.3.1).

Nature du problème de partitionnement

Le partitionnement du graphe de modèle doit satisfaire les critères énoncés en section 2.1.1 pour garantir la création d’une hiérarchie optimale. La priorité recherchée lors de cette phase est de garantir une répartition équilibrée des modèles atomiques entre les clusters. Sachant que chaque sommet du graphe est un modèle atomique, cela revient à créer une partition de sommets équilibrés. Rappelons qu’une partition est équilibrée si sa balance de partitionnement, présentée en section1.3.3, est inférieure ou égale à 1.05.

Pour éviter de détériorer le gain engendré par cette répartition équitable, il est nécessaire de minimiser le coût de transfert de message entre des modèles atomiques de clusters différents. Ce transfert de message étant symbolisé par les arcs du graphe, cela revient à éviter, au maximum, de couper les arcs de poids forts lors du partitionnement. Ces arcs symbolisent de nombreux échanges de message entre les modèles. Lors d’une distribution, l’échange de message entre les clusters a un coût important qui est lié à l’utilisation du réseau. Plus les transferts sont importants et plus le coût engendré par le réseau l’est aussi. C’est pour cela qu’il est important de réduire au maximum le découpage d’arcs de poids forts. Cette contrainte correspond à la minimisation du coût de coupe présentée en section1.3.3.

Le problème de partitionnement lié à la création d’une nouvelle structure hiérarchique opti-misée se rapporte au problème de partitionnement contraint présenté en section1.3.4. Ce choix se justifie par l’ordre de priorité des contraintes à respecter. Lors du partitionnement, l’objectif principal est de créer une partition équilibrée tout en minimisant le coût de coupe. Le respect de la balance sera considéré comme notre contrainte "forte" et la minimisation du coût de coupe comme la contrainte "faible". Ceci implique que la partition doit être équilibrée même si cela est au dé-triment du coût de coupe. Cependant, il est important d’utiliser une approche conciliant au mieux les deux contraintes pour garantir une simulation optimale en temps.

2.1.3 Choix des méthodes de partitionnement

Face aux simulations de plus en plus grandes en nombre de modèles, il devient difficile d’em-ployer des méthodes de partitionnement directes sur des graphes comportant au minimum des dizaines voir des centaines de milliers de modèles. Pour certaines, le résultat n’en serait que mé-diocre, sans considérer le temps engendré par l’application de ces algorithmes.

Pour pallier ce problème, la littérature offre la méthode Multi-niveaux, présentée en section 1.5. Cette méthode, longtemps considérée comme une approche d’accélération des méthodes de partitionnement existantes, est appréciée pour son efficacité tant sur le plan théorique que pratique. Elle possède le double avantage d’offrir une partition de qualité, tout en réduisant

considérable-ment le temps lié au partitionneconsidérable-ment.

Il est donc naturel que notre choix se porte sur ce type de méthode. Comme présenté en sec-tion1.5.1, cette méthode repose sur trois phases pouvant être réalisées à partir de différents al-gorithmes. Il a donc été nécessaire de paramétrer cette méthode Multi-niveaux pour répondre au problème de partitionnement contraint, sous-jacent au problème d’optimisation de la structure hiérarchique de modèles DEVS. Notre paramétrisation est la suivante :

-Contraction: dans un premier temps, nous avons opté pour l’utilisation des méthodes

HEM et SHEM, présentées en section 1.5.2. Nous verrons dans la section2.3 que même si ces méthodes offrent une contraction de bonne qualité, elles ont le désavantage de re-poser sur un mécanisme aléatoire. Ce qui implique, que d’un Multi-niveaux à l’autre, la contraction n’est pas la même et que par conséquent la qualité de la partition peut en être affectée. Nous avons donc proposé notre propre méthode de contraction, proche de celles énoncées dans la section 1.5.2, mais supprimant l’aspect aléatoire présent dans celles-ci. Cette méthode est présentée en détail dans la section2.3.1.

-Partitionnement: cette phase repose sur deux types de méthodes utilisant chacune une

approche totalement différente. La première, et la plus importante, est la méthode Greedy Graph Growing Partitioning (GGGP) présentée en section1.4.4. Le choix de cette méthode n’est pas anodin, son processus de partitionnement repose sur un mécanisme de voisinage cherchant à créer une bissection parfaitement équilibrée. Or, dans notre contexte de par-titionnement contraint, cette recherche de l’équilibre parfait est très appréciée. Il est donc naturel de s’intéresser tout particulièrement à cette méthode. Cependant, nous verrons dans la section2.2que cette méthode théoriquement très avantageuse comporte quelques failles, que nous avons cherché à contourner dans le cadre de cette thèse. Cette section présente différentes optimisations de cette méthode pour garantir, à moindre frais, une convergence vers une partition de qualité proche de l’optimum. La seconde méthode à laquelle nous nous sommes intéressés est une méthode spectrale, présentée en section1.4.3. L’objectif de celle-ci est de pouvoir comparer les résultats obtenus par l’application de la méthode GGGP à une méthode reposant sur les mathématiques formelles.

-Affinage: pour cette phase, nous avons créé un algorithme d’optimisation locale basé sur

la différence de coût de Kernighan-Lin, présentée en section1.5.3. Le processus d’affinage cherche, en premier lieu, à respecter la balance de partitionnement. Or, si par malheur, celle-ci n’a pu être respectée lors de la phase de partitionnement, il est nécessaire d’appliquer un algorithme d’équilibrage de charge en amont de l’algorithme d’affinage. Cette démarche, ainsi que notre méthode d’affinage, sont toutes deux présentées en section2.3.2.

En fonction de la méthode de partitionnement employée, le niveau de contraction nécessaire peut varier. Dans le cadre de l’utilisation de la méthode GGGP, il est nécessaire de contracter le graphe de telle sorte que le nombre de modèles qui le compose soit inférieur à 600. Dans un cas parfait, il serait souhaitable que le nombre de modèles ne dépasse pas 200. Cependant, nous verrons dans la section2.2qu’il n’est pas toujours possible de respecter cette contrainte de taille en fonction du nombre de parties voulu. Pour l’utilisation de la méthode spectrale, seul le poids des matrices à manipuler est un frein. C’est pourquoi, il est nécessaire de réduire la taille des graphes à

manipuler de façon à réduire la taille des matrices correspondantes. Cette réduction est cependant moins forte que pour la méthode GGGP. Une contraction de l’ordre de 4000 à 1000 nœuds est nécessaire. Nous étudierons l’impact de cette réduction sur la qualité du partitionnement dans la section4.3.3.

L’optimalité de la simulation distribuée repose en grande partie sur la résolution du problème de partitionnement. Or, quel que soit le problème, la recherche de la solution optimale n’est pas simple et nécessite en général un nombre de calculs important. De plus, l’obtention de cet optimal n’est pas toujours réalisable de part la nature itérative des méthodes de bissection. La recherche de cet optimum, ou d’une solution proche, passe par un ensemble d’améliorations et procédés pour parcourir la majeure partie de l’espace de solution du problème de partitionnement contraint.

2.2 Optimisation de la méthode Greedy Graph Growing Partitioning

Les méthodes d’expansion de région, dont notamment la méthode GGGP (voir section1.4.4), offrent un bon compromis entre efficacité et rapidité. Cependant, les algorithmes tels qu’ils sont présentés dans la littérature ne permettent pas de gérer convenablement tous les cas de figure. De plus, l’utilisation récursive de ce type de méthode est un frein naturel à leur efficacité. Pour remédier à cela, nous proposons dans le cadre de cette section des améliorations à la méthode GGGP pour combler quelques lacunes des algorithmes actuels.

2.2.1 Amélioration de la méthode GGGP

L’algorithme GGGP (8) tel qu’il est construit actuellement repose exclusivement sur la notion de voisinage. Partant d’un ensemble contenant l’intégralité des sommets du graphe, la méthode commence par tirer au hasard un sommet du graphe et le déplace vers un second ensemble. La mécanique de cette méthode est simple, elle repose sur le déplacement de sommets de l’ensemble de départ vers l’ensemble d’arrivée à condition qu’ils soient adjacents à ceux présents dans l’en-semble d’arrivée. Le processus est répété jusqu’à atteindre la moitié du poids du graphe. Or, dans la pratique, il n’est pas garanti qu’il soit possible de trouver de tels sommets.

FIGURE2.4 – Exemple de partition déséquilibrée par application de la méthode GGGP sans amélioration