tude comparative des plateformes parallles pour systmes multi-agents Bndicte HERRMANN, Christophe LANG, Alban ROUSSET Institue Femto-ST - 16 Route de Gray, Universit de Franche-Comt, 25030 Besanon cedex - France alban.rousset@femto-st.fr Rsum La simulation est devenue un outil indispensable la recherche pour explorer les systmes sans avoir recours lexprience. En fonction des caractristiques du systme la mthode de modlisation utilise pour reprsenter le systme varie. Les systmes multi-agents sont ainsi souvent utiliss pour modliser et simuler les systmes complexes. Quel que soit le type de modlisation utilise, laugmentation de la taille et de la prcision du modle fait crotre le nombre des calculs, rendant ncessaire lutilisation de systmes parallles. Dans cet article, nous nous intressons aux plateformes de simulation multi-agent parallles. Notre contribution est une tude comparative de ces diffrentes plateformes, dans un contexte de calcul intensif. Nous prsentons une analyse qualitative, partir de critres que nous avons dnis, puis un comparatif de performance, sur la base dun modle agent que nous avons implment sur chaque plateforme. Mots-cls : paralllisme, simulation multi-agent, plateforme multi-agent, comparaison de per- formances 1. Introduction Dans le domaine de la simulation, nous cherchons souvent repousser les limites, cest--dire analyser des modles plus grands et plus prcis pour se rapprocher de la ralit dun prob- lme. De ce fait, la taille croissante des modles a un impact direct sur la quantit de calcul et les ressources des systmes centraliss ne sont pas ou plus sufsantes pour simuler ces mod- les. Lutilisation de ressources parallles permet de sabstraire des limites de ressources des systmes centraliss et ainsi daugmenter la taille des modles simuls. Dans le monde de la simulation, il y a plusieurs manires de modliser un systme. Par exemple, la modlisation du comportement temporel dun grand nombre de systmes physiques repose sur des qua- tions diffrentielles. La discrtisation du modle permet de le reprsenter sous la forme dun systme linaire et dutiliser les bibliothques parallles existantes pour tirer parti dun grand nombre de nuds de calcul. A linverse, un systme complexe est un systme compos dun grand nombre dentits htrognes, o les interactions entre les entits crent de multiples niveaux de structure et dorganisation qui empchent un observateur de prvoir un comporte- ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 ment ou sa rtroaction 1 . Les systmes multi-agents sont souvent utiliss pour modliser des systmes complexes car ils reposent sur une description algorithmique dagents qui interagis- sent et reprsentent ainsi bien le comportement attendu. Du point de vue de laugmentation de la taille du systme, les systmes multi-agents sont soumis aux mmes rgles que les autres techniques de modlisation. Dans cet article, nous nous intressons aux plateformes multi-agents parallles qui sont les en- vironnements de programmation et dexcution des systmes multi-agents. Ces dernires an- nes, lintrt pour les plateformes multi-agents parallles est all croissant. Cet engouement provient du fait que les plateformes parallles offrent davantage de ressources pour excuter des simulations agents plus large chelle. Ceci permet dobtenir des rsultats ou des com- portements quil ntait pas possible de mettre en avant cause dun trop petit nombre dagents (par exemple la simulation dune ville en mouvement, linteraction entre des cellules). Notre contribution est la comparaison de diffrentes plateformes de simulation multi-agent parallles dun point de vue fonctionnel (facilit de dveloppement, prise en charge de la dis- tribution...) et dun point de vue technique (mesure de performance). Pour raliser cette com- paraison, nous avons effectu un travail de bibliographie puis implment et test notre propre modle sur toutes les plateformes. Larticle se compose de la manire suivante. Nous situons nos recherches en prsentant le con- texte des systmes multi-agents en 2 puis un tat de lart sur les plateformes dans la section 3. Dans la section 4 nous expliquons la dmarche suivie pour raliser cette tude comparative et nous dtaillons les critres de classication, dimplmentation, le concept de simulation agents. Cette section est suivie par un descriptif sur toutes les plateformes utilises dans notre com- paratif en section 5 et dune prsentation du modle utilis pour lvaluation de performances en 6. En section 7 nous prsentons nos rsultats de comparaison, quantitatifs et qualitatifs avant de conclure. 2. Contexte Le concept dagent a t lobjet de nombreuses tudes depuis plusieurs dcennies et dans diffrents domaines. Il est non seulement utilis dans les systmes base de connaissances, la robotique et dautres domaines de lintelligence articielle, mais aussi dans les domaines comme la psychologie [7, 25]. Lune des premires dnitions de lagent est due Ferber [16] : "Un agent est une entit relle ou virtuelle, voluant dans un environnement, ca- pable de le percevoir et dagir dessus, qui peut communiquer avec dautres agents, qui exhibe un comportement autonome, lequel peut tre vu comme la consquence de ses connaissances, de ses interactions avec dautres agents et des buts quil pour- suit". 2.1. Les diffrents types dagents De cette dnition, nous pouvons mettre en avant diffrentes proprits des agents telles que laction, la perception et la communication. Parmi les agents, diffrentes classes dagents sont gnralement identies. Par exemple les auteurs Chaib-draa et al. dans [9] distinguent les agents ractifs et cognitifs. Ces deux classes dagents diffrent par leurs capacits daction et de raisonnement. Un agent ractif possde un mcanisme de raction aux vnements, ne prenant en compte ni lexplicitation des buts, ni celle des mcanismes de planication. Les agents cog- nitifs disposent dune base de connaissances et sont gnralement coupls un moteur din- 1. Dnition dun systme complexe dans Complex System Society ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 frence qui leur permet de prendre des dcisions. La sparation entre ces deux classes dagents nest pas toujours nette et il existe des classes dagents, qui mlangent en fonction des besoins le ractif et le cognitif. Pour permettre un agent datteindre un but, il est parfois ncessaire quil se dplace dans son environnement. Un agent ayant la capacit de se dplacer sappelle un agent mobile, contraire- ment un agent xe qui, quant lui, se cantonne une position donne. 2.2. Les systmes multi-agents Les agents sont des entits individuelles dnies par un comportement plus ou moins limit, souvent un algorithme. Si nous regroupons un ensemble dagents et que ceux-ci mettent en commun leurs comptences et leurs connaissances en interagissant avec leur environnement ou avec les autres agents, nous obtenons un systme multi-agents. Chaib et al. dnit dans [9] un systme multi-agents comme : "Un systme distribu qui se compose dun ensemble dagents qui interagissent dans et au travers dun environnement. Lenvironnement est constitu par les en- tits en interaction." Les systmes multi-agents permettent dobserver des phnomnes ou des comportements au cours du temps par lintermdiaire de simulations. A notre connaissance, il ny a pas de systme multi-agents parallle utilisant des agents cog- nitifs. Notre tude se concentre donc sur des systmes multi-agents avec un grand nombre dagents proches du ractif dont lobjectif est de faire merger un comportement, par exemple celui dune ville en mouvement. 2.3. Les simulations multi-agents Dans la littrature [6, 17], deux types de simulation sont distingus : les simulations dites con- tinues et les simulations dites discrtes (DES). Les simulations multi-agents sont des simula- tions discrtes. Elles se dcomposent en deux grandes classes [17] : les simulations discrtes par pas de temps (time-driven) et les simulations discrtes par vnements (event-driven). Les pas de temps dans une simulation discrte (time-driven) se dnissent comme des inter- valles de temps rguliers qui sont parcourus au cours de la simulation. Le pas de temps peut prendre diffrentes units (secondes, minutes, jours...). Lors de lincrmentation dun pas de temps, tous les agents de la simulation sont mis jour et/ou excuts. En dautres termes, nous incrmentons toute la simulation dune unit de temps comme prsent dans la Figure 1-a. Pour leur part les simulations discrtes par vnements (event-driven) utilisent des listes or- donnes dvnements, et traitent donc le premier vnement qui est chronologiquement dans la liste. Ceci permet de drouler la simulation comme prsent dans la Figure 1-b. (a) pas de temps (b) vnements FIGURE 1 Les 2 types de simulations discrtes pour les simulations agents ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 Le type de simulation est gnralement dtermin par le systme que nous souhaitons mod- liser. Par exemple si nous souhaitons modliser le comportement de personnes dans une ville, il convient dutiliser la simulation par pas de temps an dobserver lvolution au cours du temps pour chaque agent et pour lensemble de la simulation. 3. Les plateformes multi-agents Il existe des plateformes qui permettent la prise en charge des fonctions de base dun simula- teur multi-agents comme la communication, le cycle de vie des agents, la perception et lenvi- ronnement. Parmi les plateformes les plus connus il y a Madkit [19], Mason [22], NetLogo [28] et Gama [1]. Cependant, ces plateformes nintgrent pas de mcanismes de paralllisme, il est ncessaire de dvelopper une sur-couche la main, pour distribuer ou parallliser une simula- tion. Un autre type de plateformes multi-agents prennent en compte nativement la paralllisa- tion comme RepastHPC [13], D-Mason [14], Pandora [2], FLAME [10], JADE [3]. Il existe quelques articles qui tablissent la comparaison de plateformes multi-agents [29, 5, 4, 20]. En revanche durant lanalyse de la littrature, nous navons eu connaissance de lexistence dautres comparatifs des diffrentes plateformes multi-agents parallles hormis celui prsent dans larticle de Coakley et al. [10]. Ce comparatif repose uniquement sur des critres qualitatifs tels que le langage dimplmentation mais ne prsente pas de comparaison de performances. Do la problmatique qui est la ntre et que nous allons exposer dans la section suivante. 4. Mthodologie Nous prsentons dans cette partie la mthodologie utilise pour cette comparaison. Une recherche bibliographique classique (mots clefs dans les moteurs de recherche sur Internet et rfrences darticles) nous a permis dtablir une liste, que nous esprons complte, des plate- formes de simulations multi-agents parallles existantes. Nous avons ensuite tabli des critres de slection pour ces diffrentes plateformes et analys les plateformes au regard de ces critres. Pour nir, nous avons valu les plateformes en procdant limplmentation dun modle sig- nicatif et son excution an de comparer les performances de chacune des plateformes. Pour raliser ce comparatif nous nous sommes intresss aux aspects qui nous ont parus signi- catifs dans la mise en uvre dune simulation multi-agents parallle : le dveloppement du modle et lexcution efcace de ce dernier. Nous avons donc dni plusieurs critres qui se d- composent en deux grandes catgories : les critres en lien avec le calcul intensif et les critres en lien avec le dveloppement dun simulateur et son excution. Nous expliquons brivement quoi correspond chaque critre. Pour le dveloppement dun modle, les plateformes imposent des contraintes. Ces contraintes auront un impact sur la programmation (facilit de dveloppement, par exemple) et sur lim- plmentation elle-mme (modles dagent, type ). Les critres retenus sont les suivants : 1. Langage de programmation : dans quel langage les simulations sont-elles dveloppes ? 2. Reprsentation des agents, canevas gnrique/modles dagents 3. Type de simulation : pas de temps (time-driven) ou vnements (event-driven) 4. Reproductibilit des simulations : plusieurs excutions dune mme simulation donnent elle le mme rsultat ? Le choix dune plateforme passe galement par lvaluation de la qualit de son environnement de dveloppement, de dploiement et sa prennit. Pour mesurer ces lments nous avons tabli une notation sur les critres suivants : ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 1. Documentation utilisateur ou dveloppeur 2. Exemples, leur nombre et la couverture 3. Tutoriaux pour comprendre le fonctionnement de la plateforme et le dveloppement dune simulation 4. Dveloppement en terme de facilit 5. Prise en main, temps pass pour comprendre la plateforme et effectuer le dveloppement 6. Communaut et sa ractivit 7. Compilation, principalement la facilit 8. Excution dans un environnement de calcul intensif Puisque nous nous intressons aux plateformes parallles, les proprits classiques suivantes, en lien avec le paralllisme, sont analyses : 1. Extensibilit de la plateforme : en termes dagents et de nuds de calcul 2. Rpartition de charge 3. Excution multi-threade 4. Bibliothque de communication utilise 5. Les Plateformes values Parmi les travaux collects au cours de la recherche bibliographique, nous avons identi 10 projets de plateformes multi-agents parallles. Pour chacune nous avons essay de tlcharger les codes sources ou excutables, de compiler et de tester les exemples et modles fournis. Cer- taines ont t abandonnes soit parce quil nexiste pas de code source ou excutable tlcharge- able (MACE3J [18], JAMES[], SWAGES [24]), soit parce que seule une dmonstration est fournie et il nest pas possible de raliser des dveloppements (PDES-MAS [23, 27]), soit car la plate- forme manque de documentation et il na pas t possible de compiler le modle dvelopp (Ecolab [26]). Ces plateformes ont fait lobjet dune analyse qualitative qui ne fait pas partie de cet article. Pour les plateformes restantes, au nombre de 5, il a t possible dimplmenter un modle, cest--dire quelles offrent toutes une plateforme multi-agent parallle fonctionnelle. 5.1. RepastHPC RepastHPC[13] est dvelopp par le laboratoire national dArgonne (USA) (http://repast. sourceforge.net/repast_hpc.html). Il fait partie de la srie de plateformes de simula- tion multi-agents RepastJ, RepastSimphony. Il est spcialement conu pour les environnements haute performance. RepastHPC reprend le core de RepastSimphony, cest--dire lutilisation des projections (grid, network) et des contextes mais en les adaptant lenvironnement par- allle et distribu. Le langage utilis pour implmenter une simulation agent est le C + + ou le ReLogo, un driv du langage Netlogo. Pour la communication, la plateforme RepastHPC utilise MPI par lintermdiaire de la librairie Boost [12]. 5.2. D-Mason D-Mason (Distributed Mason) [14] est dvelopp par luniversit de Salerne (http://isis. dia.unisa.it/projects/dmason/). D-Mason est la version distribue de la plateforme de simulation multi-agent MASON. Les auteurs ont souhait laborer la version distribue de Mason an de fournir une solution qui noblige pas les utilisateurs rcrire les simulations ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 quils ont dj dveloppes pour repousser le nombre maximal dagents. D-Mason utilise JMS ActiveMQ pour la communication, malgr le fait quelle ne soit pas la plus extensible des solu- tions dans un environnement HPC. D-Mason utilise le langage Java. 5.3. Pandora Pandora [2] est dvelopp par le groupe de recherche de simulation sociale du Centre Su- percomputing Barcelone (https://github.com/xrubio/pandora). Il a t explicitement programm pour permettre lexcution de simulations multi-agents grande chelle et il est capable, selon la littrature, de traiter des milliers dagents avec des actions complexes. Pan- dora possde un support pour un systme dinformation gographique, pour faire face des simulations dans lesquelles les coordonnes spatiales sont pertinentes, la fois en termes din- teractions de lagent et de lenvironnement. Pandora utilise le langage C + + pour dnir et implmenter un modle de simulation agent. En revanche pour la communication, Pandora gnre automatiquement du code MPI. 5.4. Flame FLAME [10] est dvelopp principalement lUniversit de Shefeld (http://www.flame. ac.uk). FLAME a t conu pour permettre une large gamme de modles dagents. FLAME fournit des spcications sous la forme dun cadre formel qui peut tre utilis par les dveloppeurs pour crer des modles et des outils. FLAME permet la paralllisation laide de MPI. Limplmentation dune simulation FLAME est base sur la dnition de X-machines [11] qui sont dnies comme des automates dtats nis avec de la mmoire. Ils peuvent, en plus, recevoir et envoyer des messages lentre et la sortie de chaque tat. 5.5. Jade JADE [3] est dvelopp par le laboratoire Tlcom Italia (http://jade.tilab.com/) et vise simplier la mise en oeuvre de systmes multi-agents distribus travers un middleware qui se conforme aux spcications de FIPA [3] et travers un ensemble doutils qui prennent en charge les phases de dbogage et de dploiement. La plateforme peut tre distribue sur plusieurs ordinateurs et la conguration peut tre contrle partir dune interface graphique distance. La conguration peut mme tre change au moment de lexcution par des agents mobile dune machine une autre en cas de besoin. Limplmentation dun agent se fait par lintermdiaire du langage Java, tandis que la communication seffectue laide de RMI. Ces descriptions succinctes permettent de voir que certaines plateformes ont dj t values, voire conu, pour des systmes parallles de type cluster alors que dautres sont plus orientes sur les systmes distribus, moins fortement coupls, de type rseaux de stations de travail. 6. Dnition du modle Pour avoir une base de comparaison quantitative et pour exhiber les performances des plate- formes, nous avons dni un modle agent qui a t implment sur chaque plateforme. Ce modle agent est quali de "stupid model" car il est simple. Il met cependant en uvre les diffrentes proprits dun agent : la mobilit, la communication avec son environnement et avec dautres agents et la perception. La gure 2 donne une reprsentation en AML [8] (Agent Modeling Language) de notre modle. Un modle AML se compose de diffrentes entits qui sont un environnement, un agent, des comportements ainsi quune ressource. Dans notre modle, lenvironnement (environment) est reprsent par une grille ayant une longueur et une largeur. Les agents (Person), sont mo- ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 FIGURE 2 Modle agent en AML biles, cest--dire quils ont la capacit de se dplacer alatoirement sur la grille et possdent un champ de vision qui leur octroie une perception, limite, de leur environnement. Chaque agent possde trois comportements a) Le comportement Walk permet le dplacement alatoire dun agent dans lenvironnement. Il y a un seul agent par position dans lenvironnement. b) Le comportement MeetSomeOne permet un agent de faire connaissance avec un agent quil ren- contre dans son champ de vision et de lajouter son carnet dadresse. c) Le comportement KeepInTouch permet de garder le contact avec dautres agents. Un agent peut alatoirement, certains pas de temps, envoyer un message tous les agents quil a rencontrs auparavant. Le comportement dun agent consiste donc excuter chacun de ces trois comportements chaque pas de temps. Le modle nous permet, en faisant varier la probabilit de communica- tion, davoir soit un modle communicant, soit un modle non-communicant. 7. Comparaison des plateformes Dans cette section nous prsentons une comparaison des plateformes au regard des critres prsents dans la section 4, lis au dveloppement des modles et leur excution. Le modle prsent prcdemment a t dvelopp pour toutes les plateformes. La majorit des plateformes utilise des langages classiques tels que C/C++ ou Java pour dnir les agents, sauf pour la plateforme Flame qui utilise le langage XMML, langage tendu du XML qui permet de dnir une X-Machine. La plateforme RepastHPC, quant elle, implmente en plus un langage connu dans le monde agent qui est Logo. Le Repast-Logo ou R-Logo est une implmentation du Logo pour C++ qui permet de simplier lcriture des simulations mais nous perdons du pouvoir dexpression par rapport au langage C++. La reprsentation des agents se ressemble dans la majorit des plateformes o agent sont d- nis comme des objets comportant des mthodes qui reprsentent les comportements. Un con- teneur dagents va ensuite regrouper tous les agents. Ce conteneur est dcoup et rparti pour lexcution parallle. Limplmentation est diffrente pour la plateforme Flame qui nutilise pas le concept dobjet pour dnir un agent mais utilise des automates (X-machine). Les comporte- ments reprsentent les tats et lordre dexcution des comportements est reprsent par les transitions. Cette diffrence change la logique de programmation mais ninduit pas de limita- tion par rapport aux autres car les agents sont, au nal, cods en C. Pour le type de simulation (cf. Table 1), toutes les plateformes utilisent le concept de simulation par pas de temps lexception de la plateforme RepastHPC. Cette plateforme fonctionne par ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 vnements (event-driven), en revanche lordonnanceur de la plateforme permet de donner une priodicit chaque vnement et ainsi dimplanter des simulations par pas de temps. Pour nir la totalit des plateformes permet aux agents de communiquer que cela soit en in- terne, avec les agents qui sont sur le mme nud, ou en externe, avec les agents qui sont sur des nuds diffrents. Certaines plateformes (D-MASON, Pandora) utilisent le concept de la programmation objet (intraction entre objets) pour communiquer avec les autres agents, cest--dire que nous pouvons appeler une mthode sur un autre agent. Les autres plateformes utilisent des messages pour communiquer entre les agents. RepastHPC D-Mason FLAME Pandora Jade Lang. progm C++/R-Logo Java XMML/C C/C++ Java Reprsentation agents Object Object [15, 21] X- Machine[10] Object Object Type simulation event-driven time-driven time-driven time-driven time-driven Reproductibilit Oui Oui Non Oui [2] Non TABLE 1 Comparatif du dveloppement et de lexcution de la simulation Nous donnons dans le tableau 2 une notation base sur notre exprience acquise par la prise en main et limplmentation du modle. Nous y avons regroup les critres sur la qualit de lenvironnement de dveloppement, du dploiement et la prennit, critres donns en section 4. La notation est base sur une suite de (+) pouvant aller de 1(+) pour le moins bon et 4(+) pour le meilleur. D-Mason RepastHPC Pandora Flame Jade Documentation ++ ++++ ++++ +++ +++ Exemples +++ +++ +++ +++ ++ Tutoriaux ++ ++++ +++ ++ ++ Dveloppement +++ +++ +++ ++++ +++ Prise en main +++ ++ +++ +++ ++ Communaut ++++ +++ + ++ + Compilation ++++ + ++ +++ ++ Excution + +++ +++ +++ + TABLE 2 Comparatif dveloppement/dploiement/excution En synthse nous pouvons dire que lensemble des cinq plateformes tudies dans cette section rpond bien aux attentes de dveloppement de simulation parallles. Chacune fournit les outils adapts pour permettre une excution sur plusieurs curs ou nuds. 8. Tests dexcution et analyse de performances Les tests dexcution nous ont permis de montrer certaines limites des plateformes. Le critre de linterface graphique na pas t cit dans la Table 2, mme si certaines plateformes offrent des interfaces graphiques de qualit. Elles ne sont pas ncessaires dans le contexte du calcul intensif o lexcution est ralise sur un cluster en mode batch. Cette interface peut mme ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 RepastHPC D-Mason FLAME Pandora Jade Extensibilit 1028 proc. [21] 36 nodes [10] 432 proc. [10] NA NA Rpartition de charges Dynamique Dynamique Statique [10] Dynamique Statique [3] Excution multi- threade Oui [10] Oui [14, 10] Non [10] Oui Oui Communication MPI [12, 13] JMS [14] MPI [21] MPI [2] RMI TABLE 3 Comparatif des critres concernant le HPC devenir bloquante lorsquil nest pas possible de sen abstraire pour lancer une simulation et quelle bloque lexcution, cest le cas de la plateforme D-Mason. La plateforme Jade semble, elle, plutt conue pour une surveillance dquipements distribus et elle ne permet pas de stopper la simulation un certains pas de temps, ce qui la rend inexploitable ici. Pour nir la plateforme Pandora narrive pas sexcuter sur notre cluster pour des raisons dinterblocages sur lesquelles nous discutons avec lquipe. Ainsi seules les plateformes Flame et RepastHPC sexcutent correctement sur un cluster en mode batch. Pour lanalyse des performances des plateformes nous avons utilis les implmentations de notre modle. Nous avons ralis plusieurs excutions pour mettre en avant, dune part, le comportement des plateformes face la monte en charge, et dautre part, face leur extensi- bilit : nous faisons varier le nombre de nuds sur lesquels la plateforme sexcute en xant le nombre dagents (10000 agents) puis nous faisons varier le nombre dagents pour un nombre de nuds xe (8 nuds) dans la simulation. Chaque excution pour chaque simulation a t ralise 10 fois. La variance est faible entre chaque rsultat, la moyenne de ces rsultats est donc signicative. (a) extensibilit (b) mont en charge FIGURE 3 Performance des plateformes, machine mmoire partage 32 curs Dans une premire exprience, nous avons excut des simulations sur une machine mmoire partage. Cette machine est compose de quatre processeurs Xeon (8*4=32 coeurs) cadencs ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 2Ghz avec 64Go de mmoire vive. Son utilisation est interactive, ce qui nous permet dutiliser la plateforme D-MASON en plus des plateformes Flame et RepastHPC. La Figure 3 prsente les rsultats de lexprience pour lextensibilit (Figure 3(a)) et pour la monte en charge (Fig- ure 3(b)). Les rsultats obtenus montrent que la plateforme Flame est la plus extensible ainsi que la moins sensible la monte en charge. Pour la plateforme RepastHPC, le comportement est proche de Flame avec des temps dexcution lgrement plus levs. En revanche pour la plateforme D-Mason, les temps dexcution sont signicativement plus levs et ne suivent pas la mme tendance. Cela sexplique par le fait que cette plateforme est plutt conue pour un support distribu (rseau de stations) plutt que parallle. Pour nir, cette plateforme sup- porte moins bien lextensibilit. Une des causes, mais qui nest pas encore vrie, peut tre lutilisation de JMS pour les communications. (a) extensibilit (b) mont en charge FIGURE 4 Performance des plateformes, cluster en mode batch Dans une seconde exprience nous avons excut la simulation de notre modle avec les plate- formes RepastHPC et Flame sur un cluster en mode batch. Le cluster est constitu de nuds bi- processeurs, avec des processeurs Xeon E5 (8*2 coeurs) cadencs 2.2Ghz et 32Go de mmoire vive. Le cluster possde un total de 764 coeurs grs par le systme de batch SGE. Les rsultats des excutions sont donns par la Figure 4 ; Figure 4(a) pour lextensibilit des plateformes et Figure 4(b) pour la monte en charge. Nous constatons, malgr une tendance identique, que Flame est plus extensible et supporte davantage la monte en charge que RepastHPC. La dif- frence de performance, entre les deux plateformes varie de 15,6% pour 4 curs 19% pour 64 curs. Le speed-up atteint est de 13 pour Flame avec 64 curs mais lamlioration entre 32 et 64 curs est peu signicative. Les simulations ralises nutilisent pas plus de 64 curs. Il faut noter que, daprs ses concepteurs RepastHpc est conu pour tre excut sur un trs grand nombre de nuds, des tests de simulation ont ainsi t raliss jusqu 1024 curs alors que le plus test de Flame a t excut avec 432 curs, ce qui peut laisser supposer une meilleure performance sur des plus gros modles. De mme les rsultats obtenus dpendent de notre modle et il est possible que les plateformes se comportent diffremment avec dautres modles. ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 9. Conclusion Dans cet article nous avons prsent un comparatif de diffrentes plateformes de simulation multi-agents parallles. Ce comparatif est ralis un niveau qualitatif, laide de critres que nous avons choisis, et un niveau quantitatif, via limplmentation et lexcution dun modle agent simple. La comparaison qualitative nous permet montrer les proprits de lensemble des plateformes que nous avons tudies. Pour la partie quantitative, cest dire lexcution des simulations, la plateforme FLAME est plus performante que les autres que cela soit en mode batch ou interactif ou non. Nous pouvons nous poser la question de savoir si cela est du lutilisation non pas du concept objet mais des X-Machines, un nombre de nuds trop faible pour percevoir le potentiel de RepastHPC ou aux mcanismes de synchronisation sur lesquels repose le paralllisme. Ainsi, dans nos travaux futurs, nous souhaitons dune part que toutes les plateformes soient fonctionnelles sur un cluster en mode batch et dautre part nous souhaitons sinterroger sur lefcacit des mcanismes de synchronisation dans les plateformes parallles. Remerciements : Lensemble des calculs ont t effectus sur le msocentre de Calcul de luni- versit de Franche-Comte. Bibliographie 1. Amouroux (E.), Chu (T.-Q.), Boucher (A.) et Drogoul (A.). Gama : an environment for implementing and running spatially explicit multi-agent simulations. In : Agent computing and multi-agent systems, pp. 359371. Springer, 2009. 2. Angelotti (E. S.), Scalabrin (E. E.) et vila (B. C.). Pandora : a multi-agent system us- ing paraconsistent logic. In Computational Intelligence and Multimedia Applications, 2001. ICCIMA 2001. Proceedings. Fourth International Conference on, pp. 352356. IEEE, 2001. 3. Bellifemine (F.), Poggi (A.) et Rimassa (G.). Jadea pa-compliant agent framework. In Proceedings of PAAMvolume 99, p. 33. London, 1999. 4. Berryman (M.). Review of software platforms for agent based models. Rapport technique, DTIC Document, 2008. 5. Bordini (R. H.), Braubach (L.), Dastani (M.), El Fallah-Seghrouchni (A.), Gomez-Sanz (J. J.), Leite (J.), OHare (G. M.), Pokahr (A.) et Ricci (A.). A survey of programming languages and platforms for multi-agent systems. Informatica (Slovenia), vol. 30, n1, 2006, pp. 3344. 6. Braubach (L.), Pokahr (A.), Lamersdorf (W.), Krempels (K.-H.) et Woelk (P.-O.). A generic time management service for distributed multi-agent systems. Applied Articial Intelligence, vol. 20, n2-4, 2006, pp. 229249. 7. Carslaw (G.). Agent based modelling in social psychology. Thse de PhD, University of Birmingham, 2013. 8.
Cervenka (R.), Tren cansk` y (I.), Calisti (M.) et Greenwood (D.). Aml : Agent modeling language toward industry-grade agent-based modeling. In : Agent-Oriented Software Engi- neering V, pp. 3146. Springer, 2005. 9. Chaib-Draa (B.), Jarras (I.) et Moulin (B.). Systmes multi-agents : principes gnraux et applications. Edition Herms, 2001. 10. Coakley (S.), Gheorghe (M.), Holcombe (M.), Chin (S.), Worth (D.) et Greenough (C.). Ex- ploitation of high performance computing in the ame agent-based simulation framework. In Proceedings of the 2012 IEEE 14th International Conference on High Performance Comput- ing and Communication & 2012 IEEE 9th International Conference on Embedded Software and ComPAS2014 : Paralllisme / Architecture / Systme Neuchtel, Suisse, du 23 au 25 avril 2014 Systems, HPCC 12, HPCC 12, pp. 538545, Washington, DC, USA, 2012. IEEE Computer Society. 11. Coakley (S.), Smallwood (R.) et Holcombe (M.). Using x-machines as a formal basis for describing agents in agent-based modelling. SIMULATION SERIES, vol. 38, n2, 2006, p. 33. 12. Collier (N.). Repast hpc manual, 2010. 13. Collier (N.) et North (M.). Repast HPC : A platform for large-scale agentbased modeling. Wiley, 2011. 14. Cordasco (G.), Chiara (R.), Mancuso (A.), Mazzeo (D.), Scarano (V.) et Spagnuolo (C.). A Framework for Distributing Agent-Based Simulations. In Euro-Par 2011 : Parallel Process- ing Workshops, Lecture Notes in Computer Science, volume 7155, pp. 460470, 2011. 15. Cowling (A. J.), Georgescu (H.), Gheorghe (M.), Holcombe (M.) et Vertan (C.). Com- municating stream x-machines systems are no more than x-machines. Journal of Universal Computer Science, vol. 5, n9, 1999, pp. 494507. 16. Ferber (J.) et Perrot (J.-F.). Les systmes multi-agents : vers une intelligence collective. In- terEditions Paris, 1995. 17. Fujimoto (R. M.). Parallel simulation : distributed simulation systems. In Proceedings of the 35th conference on Winter simulation : driving innovation, pp. 124134. Winter Simulation Conference, 2003. 18. Gasser (L.) et Kakugawa (K.). Mace3j : fast exible distributed simulation of large, large- grain multi-agent systems. In Proceedings of the rst international joint conference on Au- tonomous agents and multiagent systems : part 2, pp. 745752. ACM, 2002. 19. Gutknecht (O.) et Ferber (J.). Madkit : A generic multi-agent platform. In Proceedings of the fourth international conference on Autonomous agents, pp. 7879. ACM, 2000. 20. Heath (B.), Hill (R.) et Ciarallo (F.). A survey of agent-based modeling practices (january 1998 to july 2008). Journal of Articial Societies and Social Simulation, vol. 12, n4, 2009, p. 9. 21. Holcombe (M.), Coakley (S.) et Smallwood (R.). A general framework for agent-based modelling of complex systems. In Proceedings of the 2006 European Conference on Complex Systems, 2006. 22. Luke (S.), Ciof-Revilla (C.), Panait (L.) et Sullivan (K.). MASON : A New Multi-Agent Simulation Toolkit. Simulation, vol. 81, n7, juillet 2005, pp. 517527. 23. Oguara (T.), Theodoropoulos (G.), Logan (B.), Lees (M.) et Dan (C.). Pdes-mas : A unify- ing framework for the distributed simulation of multi-agent systems. SCHOOL OF COM- PUTER SCIENCE RESEARCH REPORTS-UNIVERSITY OF BIRMINGHAM CSR, vol. 6, 2007. 24. Scheutz (M.), Schermerhorn (P.), Connaughton (R.) et Dingler (A.). Swages-an extendable distributed experimentation system for large-scale agent-based alife simulations. Proceed- ings of Articial Life X, 2006, pp. 412419. 25. Smith (E. R.) et Conrey (F. R.). Agent-based modeling : A new approach for theory build- ing in social psychology. Personality and social psychology review, vol. 11, n1, 2007, pp. 87104. 26. Standish (R. K.) et Leow (R.). Ecolab : Agent based modeling for c++ programmers. arXiv preprint cs/0401026, 2004. 27. Suryanarayanan (V.), Theodoropoulos (G.) et Lees (M.). Pdes-mas : Distributed simula- tion of multi-agent systems. Procedia Computer Science, vol. 18, 2013, pp. 671681. 28. Tisue (S.) et Wilensky (U.). Netlogo : Design and implementation of a multi-agent mod- eling environment. In Proceedings of Agentvolume 2004, pp. 79, 2004. 29. Tobias (R.) et Hofmann (C.). Evaluation of free java-libraries for social-scientic agent based simulation. Journal of Articial Societies and Social Simulation, vol. 7, n1, 2004.