Académique Documents
Professionnel Documents
Culture Documents
vincent.gauthier@int-evry.fr http://www-public.int-evry.fr/~gauthier/
Modlisation des systmes Simulation vnements discrets Intervalles de conances Les simulateurs Exemple de simulation Conseils
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
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
Types de modles(1/2)
Classification des modles
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 Dterministes Qui ne contient pas de variable alatoire, une variable d'entre donne, produit toujours le mme rsultat
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
Exemple
Intervalles de conances
Intervalles de conances
f = mx
= = =
X1 , X2 , ....Xn 1 n
n
Xi
i=1 n i=1
1 n1
(Xi n )
Z2(i1)+j
j=1 b
Zj
j=1 b j=1
1 b1
(Zi Zb )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
Conclusion
Calculerl'intervalledeconancepermetdeconnatrela valeurdel'imprcisiondemesure, Ilpermetdestopperdessimulationsquandlaprcision voulueestatteinte(jeveuxlamoyenneavecuneprcisio nde +/0.01) Validerqualitativementlavaleurdursultatquonaobt enu, Surunechellede010j'obtiensunemoyennede5a vecunintervalledeconancede+/3!!!!!
jeudi 14 mai 2009
Simulateurs
Simulateurs
NS-2, SNS (NS distribu) Jist + Swans (nouveau) Jsim (nouveau) Qualnet, Glomosim (performant) Opnet (nombreux modles)
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++
Simulations
Support: Lan, Mobile, satellite, ATM IntServ/DiffServ Multicast Ad hoc Transport TCP Contrle de congestion Application Web cache Multimdia
Simulations
Implmentation en C++ Scnario en Otcl Test de simulation avec Nam Rsultat, post processing : perl awk gnuplot xgraph
Simulations
NS excute la simulation, NAM visualisation de la simulation Gnuplot, Xgraph, Tracegraph, interprtation des rsultats
Structure de NS-2
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
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
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
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
Trac (2/3)
CBR set src [new Application/Trafc/ CBR] $src set packetSize_ 1500 $src set rate_ 100Kb
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
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_]
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
Simulation (1/3)
Trac CBR Protocole UDP Lien 1Mb, discipline de le dattente FIFO Dlai 10ms
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
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"
Conseils
Topologie
Dumbbell valuation de paramtres de bout en bout
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
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.
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.