You are on page 1of 12

ComPAS2014 : Paralllisme / Architecture / Systme

Neuchtel, Suisse, du 23 au 25 avril 2014


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.

You might also like