• Aucun résultat trouvé

Il existe d´ej`a plusieurs platformes dans le domaine des simulations r´eparties (table A.1). N´eanmoins, toutes ces plateformes reposent sur une synchronisa- tion forte. Selon les impl´ementations, cette synchronisation est g´er´ee au tra- vers d’un intergiciel, d’un machine virtuelle d´edi´ee ou au travers de m´emoire partag´ee entre machines virtuelles. Certaines utilisent plutˆot une approche orient´ee maˆıtre/esclave avec synchronisation forte au niveau du maˆıtre. Nous ne pouvions donc pas ais´ement utiliser l’une d’entre elles pour d´efinir et ´etu- dier d’autres formes de synchronisation.

Pour ´evaluer les politiques de synchronisation forte et flexible, nous avons d´evelopp´e un simulateur distribu´e qui repose sur la r´epartition de parcelles d’environnement ou des agents sur les machines d’un r´eseau. Ainsi, chaque nœuds est constitu´e d’une machine g´erant un sous-ensemble de l’environne- ment avec les agents s’y trouvant. L’ensemble des nœuds sont totalement connect´es. Le simulateur peut s’ex´ecuter selon trois modes : en synchro- nisation forte, avec une fenˆetre de temps finie ou avec une fenˆetre infinie (c’est-`a-dire sans aucune synchronisation entre les diff´erents nœuds).

Les figures A.3 & A.4 illustre une simulation r´epartie sur 4 nœuds et sch´e- matise l’architecture de la plateforme. Chaque nœuds de calcul est constitu´e d’une couche de communication, d’une simulation locale et d’un environne- ment partiel avec ses agents. La simulation locale est l’´el´ement principal du nœuds et a pour charge de g´erer l’ensemble de la dynamique de simulation : les interactions entre les agents, l’envoi des informations concernant les zones situ´ees `a la fronti`ere de diff´erents nœuds ainsi que la gestion de la visualisa- tion. La couche de communication g`ere les connections r´eseaux avec les autres nœuds, permet les ´echanges de messages et transmet aussi les informations li´ees au pas de temps courant du nœuds.

Lors de chaque pas de temps, les ´etapes suivantes sont effectu´ees : • le nœuds envoie les informations concernant ses agents se trouvant `a

proximit´e des fronti`eres de son environnement aux nœuds correspon- dants,

• le nœuds attend la r´eception des informations transmises par les autres nœuds concernant leurs agents proches des fronti`eres,

A.6. PLATEFORME D’ ´EVALUATION 135

Table A.2 – Temps d’ex´ecution de proies pr´edateurs sur 4 nœuds.

Pas de temps 2000 4000 6000 8000 10000

Synchronisation forte 1h 2h30 3h30 4h45 6h

Sans synchronisation 50mn 1h20 2h 2h45 3h20

• les interactions faisant intervenir des agents se trouvant sur d’autres nœuds sont transmises aux nœuds concern´es,

• le nœuds g`ere les interactions externes des autres nœuds,

• les interactions sont ex´ecut´ees et les migrations d’agents sont effectu´ees, • finalement, chaque nœuds met `a jour son affichage et se synchronise avec les autres machines avant de pouvoir passer au prochain pas de temps.

Les diff´erentes politiques de synchronisation partagent la majorit´e des ´etapes d´ecrites ci-dessus avec de l´eg`eres diff´erences. En synchronisation forte, tous les envois de messages entre nœuds reposent sur des accus´es de r´eception. Particuli`erement lors de l’´etape 7 qui garantit la synchronisation de tous les nœuds avant d’autoriser la transition au pas de temps suivant. Pour la politique exploitant les fenˆetres de temps, tant que le nœuds n’est pas trop en avance par rapport au nœuds le plus lent, il peut passer directement au pas de temps suivant. Si ce n’est pas le cas, le nœuds se met en attente de la progression de la machine la plus lente. Par contre, les interactions entre agents situ´es sur deux machines diff´erentes n’ont plus qu’une probabilit´e tr`es faible de se produire (point d´etaill´e dans les exp´erimentations). Avec la politique utilisant une fenˆetre infinie, c’est-`a-dire lorsqu’il n’y a plus de synchronisation, les nœuds progressent ind´ependamment et quasiment toutes les interactions sont temporellement incoh´erentes (ie. se produisent entre des agents appartenant `a des pas de temps diff´erents).

Pour tester la mont´ee en charge de notre environnement d’´evaluation, nous avons d´evelopp´e une application illustrant un comportement de flocking similaire `a celui de Reynolds [Reynolds, 1987] et l’avons r´eparti sur 50 nœuds, chacun prenant en charge 100000 agents au d´ebut de la simulation (figure A.6).

Figure A.6 – Simulation du ph´enom`ene de flocking avec 5 millions d’agents sur 50 nœuds.

A.7

Evaluation de l’efficacit´´

e des deux types

de r´epartition

L’efficacit´e des diff´erents types de r´epartition propos´es pr´ec´edemment est n´e- cessairement d´ependante de la nature des simulations effectu´ees. En effet, le fait de se placer dans le cadre des simulations d’agents situ´es induit des in- terrogations par rapport `a l’´evolution des volumes de population, mais aussi et surtout de leurs dynamique de d´eplacement. Dans cette section, nous ´etu- dions les deux types de r´epartition sur deux cas classiques de simulations d’agents situ´es : un mod`ele de flocking et un mod`ele proies pr´edateurs.

A.7.1

Un mod`ele de flocking

Le mod`ele de comportement de flocking propos´e par [Reynolds, 1987] est constitu´e d’un ensemble d’oiseaux qui volent en groupe. Chaque oiseau d´e- termine sa direction en fonction des oiseaux dans son champs de perception. Du point de vue de l’environnement, la r´epartition des agents, mˆeme si elle est homog`ene initialement, devient rapidement h´et´erog`ene avec la constitution de diff´erents groupements d’agents se d´epla¸cant en nu´ee. Cette dynamique

A.8. R ´ESULTATS EXP ´ERIMENTAUX 137

Documents relatifs