Vous êtes sur la page 1sur 59

Support de cours Simulations

vincent.gauthier@int-evry.fr http://www-public.int-evry.fr/~gauthier/

jeudi 14 mai 2009

Simulations de Rseaux !!!!!!!!!

jeudi 14 mai 2009

Modlisation des systmes Simulation vnements discrets Intervalles de conances Les simulateurs Exemple de simulation Conseils

jeudi 14 mai 2009

Modlisation des systmes

jeudi 14 mai 2009

Intrt de la simulation ?
Quand on ne peut pas facilement observer les tats du systme, Quand on dsire analyser lenchanement des vnements dans le systme, ainsi que les relations de causes effets, Quand on dsire valider une solution analytique, Quand la complexit des interactions dans le systme est telle quelle ne peut tre tudie qu'au travers de simulations, Quand on dsire visualiser les tats d'un systme, Quand on veut tester diffrentes optimisations pour amliorer un systme dj existant.
jeudi 14 mai 2009

Les simulations sont elles toujours utiles ?


Quand il y a une solution analytique ? Quand il est plus facile de faire directement des mesures sur le systme rel ? Quand il manque trop des donnes sur les systmes tudier ? Quand on ne peut pas valider les rsultats de simulations ? Quand le systme a tudier est trop complexe ?
jeudi 14 mai 2009

Avantages /Inconvnients
Avantages Observations des tats du systmes, Etudes des points de fonctionnement d'un systme, Etudes de systmes chelle de temps variable, Etudes de l'impact des variables sur les performances du systme, Etude d'un systme sans les contraintes matrielles. Inconvnients La conception de modles peut ncessiter des comptences spciales, Une autre forme d'analyse plus proche de la ralit est peut tre ncessaire Rsultats difcilement interprtables : Rsultats pas forcment gnralisable, Rsultats sont fonction des entres du systme

jeudi 14 mai 2009

Types de modles(1/2)
Classification des modles

jeudi 14 mai 2009

Types de modles(2/2)
Simulations statiques Monte Carlo: mthode applicable seulement si le temps n'a pas d'inuence (Von Neumann & Ulam, projet Manathan), utilise des tirages alatoires et souvent uniformes

Simulations dynamiques Systme qui change dans le temps

Simulations Dterministes Qui ne contient pas de variable alatoire, une variable d'entre donne, produit toujours le mme rsultat

Simulations Stochastiques Entres et sorties sont alatoires

jeudi 14 mai 2009

Exemples
Files d'attente Variable d'tat : temps d'attente Rponse : Discret, Stochastique, Dynamique Machines de production Variable d'tat: occup, en attente, en panne Rponse : Discret, Stochastique, Dynamique Bruits d'un systmes lectronique Variable d'tat: niveau de bruit Rponse : Continue, Stochastique, Statique
jeudi 14 mai 2009

Simulation vnements discrets

jeudi 14 mai 2009

Simulations vnements discrets (1/3)


Utilisation d'un ordonnanceur comme lment de base du simulateur, Chaque vnement reprsente un changement d'tat, coupl avec une variable qui indique le temps auquel l'vnement aura lieu, Ordonnanceur, gre une liste d'vnements tris selon leurs date de dclenchement, Lorsque que l'ordonnanceur excute un vnement, il modie la variable reprsentant le temps courant.
jeudi 14 mai 2009

Simulations vnements discrets (2/3)

jeudi 14 mai 2009

Simulations vnements discrets (3/3)

L'unit de traitement ne modifie jamais le firetime

jeudi 14 mai 2009

Exemple

jeudi 14 mai 2009

Simulations vnements discrets (1/3)


Les simulateurs les plus couramment utiliss dans le domaine des rseaux, mais d'autres types de simulateurs existent : Simulateur pas xes, Simulateur de modle uide. Les simulateurs pas xes sont peu utiliss car gourmands en ressources, Simulateur de modle uide, ncessite la connaissance d'quations diffrentielles permettant de calculer les volutions du systme
jeudi 14 mai 2009

Simulations vnements discrets (2/3)


Les simulateurs pas xe, scrutent l'volution du systmes entre deux incrments de temps, Ncessitent de balayer tous les intervalles de temps Beaucoup plus coteux que de sauter d'vnements en vnements Simulent le systme mme quand il ne se passe rien Trs peu utiliss de nos jours Simplicit d'utilisation
jeudi 14 mai 2009

Simulations vnements discrets (3/3)


Les simulations avec des modles uides, ne sont pas encore beaucoup dveloppes N2NSoft (Baccelli) Alcatel : rseaux d'accs ADSL TCP peut tre modlis par un systmes d'quations diffrentielles (TCP Vegas) Plus besoin de modlisation au niveau paquets pour avoir des rsultats prcis
F. BACCELLI, D. HONG Interaction of TCP flows as Billiards, IEEE/ACM Transactions on Networking (2005) 13, 4
jeudi 14 mai 2009

Simulateur de rseaux sans l

jeudi 14 mai 2009

Intervalles de conances

jeudi 14 mai 2009

Intervalles de conances

f = mx

jeudi 14 mai 2009

Intervalles de conances (iid)


X n
2 n

= = =

X1 , X2 , ....Xn 1 n
n

Xi
i=1 n i=1

1 n1

(Xi n )

Les intervalles de conances sont de :


n 2 n n
est le (1 /2) quantile de la distribution de Student tn1
jeudi 14 mai 2009

Intervalles de conances (iid)


Mthode Batch Mean divise les chantillons en b bloc de taille m
Zi Zb b 2 = = = 1 m 1 b
m

Z2(i1)+j
j=1 b

Zj
j=1 b j=1

Les intervalles de conances sont de :


Zb b 2 b

1 b1

(Zi Zb )2

est le (1 /2) quantile de la distribution de Student tb1


jeudi 14 mai 2009

Intervalles de conances (non iid)


Mthode Batch Mean, Legal avec intervalles de conances 95%
Zb T T = 4.5 b 2

b n

Ne prend pas comme hypothse que la moyenne des blocs est i.i.d, distribution queue lourde, processus avec mmoire...etc
jeudi 14 mai 2009

Exemple

jeudi 14 mai 2009

Quantile Quantile Plot ou test de conformit empirique (2/2)


Ilestparfoisncessairededtermineroudecaractriser ladistributiondesrsultatsobtenus: Estcequelesdonnessonti.i.dselonuneloinormale? VricationrapideQuantile Plot Le alpha quantile d'une distribution de probabilit est la valeur telle que la probabilit qu'une variable alatoire suivant cette distribution lui soit infrieure ou gale vaut alpha. Bien entendu, alpha doit tre compris entre 0 et 1, puisqu'il reprsente une probabilit
jeudi 14 mai 2009

Quantile Quantile Plot ou test de conformit empirique (2/2)

jeudi 14 mai 2009

Conclusion
Calculerl'intervalledeconancepermetdeconnatrela valeurdel'imprcisiondemesure, Ilpermetdestopperdessimulationsquandlaprcision voulueestatteinte(jeveuxlamoyenneavecuneprcisio nde +/0.01) Validerqualitativementlavaleurdursultatquonaobt enu, Surunechellede010j'obtiensunemoyennede5a vecunintervalledeconancede+/3!!!!!
jeudi 14 mai 2009

Simulateurs

jeudi 14 mai 2009

Simulateurs
NS-2, SNS (NS distribu) Jist + Swans (nouveau) Jsim (nouveau) Qualnet, Glomosim (performant) Opnet (nombreux modles)

jeudi 14 mai 2009

Pourquoi NS-2
NS est le systme de rfrence Un outil libre Ajout de composants la demande Dveloppement orient objets Un logiciel de simulation multicouche Interface OTcl Un noyau en C++ (scheduler...) Couches rseaux codes en C++

jeudi 14 mai 2009

Simulations
Support: Lan, Mobile, satellite, ATM IntServ/DiffServ Multicast Ad hoc Transport TCP Contrle de congestion Application Web cache Multimdia

jeudi 14 mai 2009

Simulations
Implmentation en C++ Scnario en Otcl Test de simulation avec Nam Rsultat, post processing : perl awk gnuplot xgraph

jeudi 14 mai 2009

Simulations
NS excute la simulation, NAM visualisation de la simulation Gnuplot, Xgraph, Tracegraph, interprtation des rsultats

jeudi 14 mai 2009

Structure de NS-2

jeudi 14 mai 2009

Les composants de NS-2


Ns, Le simulateur Nam, the network animator Visualise les chiers de trace de NS Nam editor: GUI pour gnrer des scripts NS
jeudi 14 mai 2009

Pre-processing: Gnrateur de trac et topologie (setdest) Post-processing: Analyse des chiers de trace, Awk, Perl, ou Tcl

Modle de trac: Web, FTP, telnet, constant-bit rate, real audio Protocole de la couche transport : Unicast: TCP (Reno, Vegas, etc.), UDP Multicast: SRM Routage et le dattente:
jeudi 14 mai 2009

Routage (distance vector , link state), ad hoc (dsr, aodv) Discipline de le dattente: RED, drop-tail, etc Liens physiques: Filaire (point-to-point, LANs), wireless (propagation multiple), satellite

Classes du Simulateur
Application Gnrateur de trac Agent Protocoles

Nud Nuds du rseau

Link Liens entre les noeuds

Monitor Elaboration de statistique sur un lien particulier

jeudi 14 mai 2009

Anatomie dune simulation

jeudi 14 mai 2009

Interface OTcl
Contrle la simulation Un composant du simulateur Interaction avec le simulateur Les principales classes sont dans linterprteur Manipulation (cration, connections ) des classes du simulateur
jeudi 14 mai 2009

Otcl (1/3)
Instantiation set Obj [new Class] Mthode $Obj Methode arg1 arg2 Commande [<commande>]
jeudi 14 mai 2009

Otcl (2/3)
Fonction

proc printArg {nom} { puts hello $nom }

jeudi 14 mai 2009

constructeur
Class Person # constructeur: Person instproc init {age} { $self instvar age_ set age_ $age } # mthode: Person instproc greet {} { $self instvar age_ puts $age_ years old: How are you doing? } # subclass: Class Kid - superclass Person Kid instproc greet {} { $self instvar age_ puts $age_ years old kid: Whats up, dude? } set a [new Person 45] set b [new Kid 15] $a greet $b greet

jeudi 14 mai 2009

Evenements
Cre lordonnanceur set ns [new Simulator] Ordonnance les vnements $ns at <time> <event> <event>: une commande tcl $ns at 5.0 nish Lance le lordonnanceur $ns run
jeudi 14 mai 2009

Topologie
Nuds set n0 [$ns node] set n1 [$ns node] Liens et discipline de le d'attente $ns <liens> $n0 $n1 <bande passante> <dlai> <queue> <type de lien>: duplex-link, simplex-link <type de queue>: DropTail, RED, CBQ, FQ, SFQ, DRR, diffserv RED queues
jeudi 14 mai 2009

Trac (1/3)
Exponentielle, on-off set src [new Application/Trafc/Exponential] set src [new Application/Trafc/Pareto]

UDP set udp [new Agent/UDP] set null [new Agent/Null] $ns attach-agent $n0 $udp $ns attach-agent $n1 $null $ns connect $udp $null

jeudi 14 mai 2009

Trac (2/3)
CBR set src [new Application/Trafc/ CBR] $src set packetSize_ 1500 $src set rate_ 100Kb

jeudi 14 mai 2009

Trac (2/3)
TCP set tcp [new Agent/TCP] set tcpsink [new Agent/ TCPSink] $ns attach-agent $n0 $tcp $ns attach-agent $n1 $tcpsink $ns connect $tcp $tcpsink FTP set ftp [new Application/ FTP] $ftp attach-agent $tcp

Telnet set telnet [newApplication/Telnet] $telnet attach-agent $tcp

jeudi 14 mai 2009

Monitor (1/2)
Monitor ow $tcp d_ 1; set owmon [$ns makeowmon Fid] set lien [$ns link $n0 $n1] $ns attach-fmon $lien $owmon set fcl [$owmon classier] %%% dans FINISH %%% set stats_tcp [$fcl lookup auto 0 0 1] set bw [$stats_tcp set bdepartures_]

jeudi 14 mai 2009

Monitor (2/2)
Monitor queue set monitor [ $ns queue-monitor $n0 $n1 stdout] puts stdout [ $monitor set pdepartures_ ] puts stdout [ $monitor set barrivals_ ] puts stdout [ $monitor set pdrops]
jeudi 14 mai 2009

Exemple de simulation

jeudi 14 mai 2009

Simulation (1/3)

Trac CBR Protocole UDP Lien 1Mb, discipline de le dattente FIFO Dlai 10ms

jeudi 14 mai 2009

Simulation (2/3)
#creation de l instance de simulation set ns [new Simulator] #creation des fichier de trace set nf [open out.nam w] $ns namtrace-all $nf proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } #scheduler $ns at 5.0 "finish" #lancement de la simulation $ns run

jeudi 14 mai 2009

Simulation (3/3)
set n0 [$ns node] set n1 [$ns node] $ns duplex-link $n0 $n1 1Mb 10ms DropTail set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop"

jeudi 14 mai 2009

Conseils

jeudi 14 mai 2009

Topologie
Dumbbell valuation de paramtres de bout en bout

Parking Lot valuation de paramtres changeant, RTT, quit ...etc

jeudi 14 mai 2009

Conseils
Paramtres importants taille de la fentre TCP, MAX RTT ne doit pas tre limitatif TCP avor Taille des les d'attente (delais*BP) Active queue Management Problmes Dure des simulations Topologie RTT

jeudi 14 mai 2009

Rfrences
[1] Mark Allman, Aron Falk, On the Effective Evaluation of TCP, ACM Computer Communication review, vol. 25, no. 5, pp. 59 - 70, 1999. [2] Sally Floyd and Vern Paxson, Difculties of simulating the Internet, IEEE/ACM transaction on networking, vol. 9, no. 4, pp 392-403, 2001. [3] Sally oyd and Eddie Kohler, Internet Research Needs Better Models, ACM Hotnets-1, October, 2002. [4] http://www.icir.org/models/bettermodels.html [5] V. Gauthier, S. Gam, "Les simulateurs", Chapter of the book "Simulations des Rseaux (Trait IC2, srie Rseaux et tlcoms)", Editor: Monique Becker, Andre Luc Beylot, chapter 7, Hermes, 2006, ISBN 2-7462-1166-1.

jeudi 14 mai 2009

Rfrences
[6] S. Kurkowski, T. Camp and M. Colagrosso, "MANET simulation studies: the incredibles," in SIGMOBILE Mobile Computer Communication Revenue, vol. 9, no. 4, pp. 50 - 61, 2005. [7] D. Cavin, Y. Sasson and A. Schiper, "On the accuracy of MANET simulators," In Proc of the Workshop on Principles of Mobile Computing (POMC02), Toulouse, France, October , 2002, pp. 38-43. [8] Jean-Yves Le Boudec, "Performance Evaluation Lecture Notes (Methods, Practice and Theory for the Performance Evaluation of Computer and Communication Systems)", http://icawww.ep.ch/ perfval/lectureNotes.html [9] Averill M. Law and W. David Kelton, "Simulation Modeling and Analysis, 3/e, Mac Graw Hill, 2000. [10] F. Baccelli, D. Hong, "Interaction of TCP ows as Billiards," IEEE/ ACM Transactions on Networking, vol. 13, no. 4, 2005.

jeudi 14 mai 2009