Vous êtes sur la page 1sur 46

Simulation

Introduction
Objectif : valuation de performance et prdiction dun systme
informatique ,dun systme de communication , dun systme de production
, etc...
Description dun systme :
Ensemble dlments (entits identifier)
Ensemble dattributs ( dterminer)
Ensemble dactivits (spcifier le comportement)
Modle : reprsentation simplifie et abstraite dun systme rel ou
imaginaire dans le but dexpliquer , de prdire et dvaluer certains aspects
de son comportement.
Rsolution du modle :
Analytique : relations mathmatiques exprimant les lois des diffrentes
composantes
Simulation : suivre pas pas les composantes et leur comportement en
utilisant des algorithmes

Modles analytiques
Thorie de files dattente
Processur et chane de markov
Analayse oprationnelle
Limites : Plus le systme est complexe , plus les mthodes analystiques sont
limites
Le temps nest pas explicitement pris en compte : rgime permanent
Les interactions ne sont pas bien modlises
Les alas ne sont pas toujours bien reprsentables : moyennes
Les hypoths sont en gnral restrictives (lois de distribution , ngliger
certaines probabilits, etc.)
Solution coteuse en temps de conception ou de calcul

Dispositif capable de reproduire le comportement dun systme


Description du fonctionnement du systme pas pas dans le temps sous
forme dalgorithmes
Buts :
tude du fonctionnement et du comportement dun systme
tude des performances dun systme
Dimensionnement/optimisation dun systme
valuation des stratgies dordonnacement
Enseignement de lutilisation dun systme (simulateur de vol , ...)

La simutation est trs utile dans les cas suivants :


Le systme nest pas dcomposable en sous-systmes plus simples et
indpendants
Le systme nexiste pas (phase prliminaire de dimensionnement dun
rseau)
Les expriences sur le systme rel cotent cher voir impossible
(modification du rythme cardiaque , crash dun avion , ...)
Le systme est inaccessible (le systme circulatoire)
Les temps dobservation ncessaires sur le systme rel sont
incompatibles avec les besoins
Les expriences sur le systme rel sont dangereuses

Avantages
Mieux comprendre les anciens problmes et dtecter les nouveaux
Excelent moyen de comparaison et damlioration
Prvention de risques
Rduction des cots
Possibilit de vrifier les solutions des modles thoriques : validation
Limites
Exprimentation sur un modle (qui prsente des erreurs)
Pas prcise par nature
La soluttion optimale nest pas toujours trouve
Solutions gnrales obtenues par induction partir des rsulats
numriques

Systmes rel

Modle
dexploitation

Modle
conceptuel

Modle
informatique

Quel est le but de ltude ?


Quelles sont les hypothses simplificatrices quil est raisonnable de faire ?
Combien de temps faut-il observer le modle afin de tirer des conclusions
valables pour le systme ?
Que doit-on valuer avec le modle, et sous quelle forme doit-on rendre
les rsultats?
Comment peut-on sassurer que le modle obtenu est correct ?

tapes dune simulation

Analyse du problme : dfinition du problme et des objectifs


Modlisation du systme
Cueillette des donnes
Implmentation du modle
Conception des exprimentations
Excution des exprimentations
Vrification et validation du modle
Analyse et interprtation des rsultats
Documentation , recommandation,...

Les changements dans le comporteent du systme ou vnements vont se


faire des instants (t)i dans N
Ces instatns de changement dtat sont appels temps doccurence des
vnements ou dates dvnements
Les variables que nous dsirons connatre tout instant sont discrtes :
variable dtat.
Lensemble de ces variable dtat : espace dtat
Exemple :

Nombre de clients : variable dtat du systme


Temps de rponse : variable continue (pas variable dtat) , dduite de la
simulation (connue seuelement aux dates dvnements ).
Les changements dtat : arrive : arrive , dpart , entre en service

Simulation vnements discrets


Le temps de simulation est gr partir dune liste trie par ordre
dapparition des vnements caractristiques du systmes : chancier
Il faut tre capable de dfinir linstant du prochain vnement : gnration
de dates alatoires selon une loi approprie
Exemple : arrive constante (toutes les 2 s) , service constant (1s)

Les entres dun simulateur


Une simulation fructueuse
Modlisation correcte du systme tudi
Accsessiblit des donnes appropries
Comment ont t prvleves , rassembles et traites
Comment ont t fournies au simulateur
Donnes dcrivant lenvironnement du systme : temps inter-arrive
Donnes dcrivant le fonctionnement du sytme : temps de service
dun lment du systme

Simulateur

Variable dentre

variable de sortie

Les chantillons et leur analyse statistique

variable dentre

Simulateur = {vnements
temporels}

variables de sortie

Simulations de faisabilit : sassurer de la faisablit dun mcanisme ou


dun systme et de la correction de son fonctionnement (interblocage)
Simulations qui se terminent : la simulation sarrte lapparition dun
vnement spcial (Exemple : panne lors du test dun matriel)
Simulations infinies : des mesures sont prleves durant la simulation qui
est arrte lors de latteinte dune prcision statistique donne ->
excuter la simulation jusqu atteindre ltat permanent

Simulation infinie

Simulation infinie :
Complexe , car il faut attendre le systme quil atteingne le rgime permanent
valuation de la phase transitoire
Influence de lauto-corrlation
Influence de ltat initial sur la dure de ltat transitoire
Dure de simulation suffisante pour obtenir des mesures satisfaisantes
(intervalle de confiance donne)
Une FA (file dattente) M/M/1 :
N-1 clients en attente , et un client en service
Variable dtats : nombre n de clients dans le systme
N <- N+1 (arrive)
N <- N-1 (dparts)
On peut calculer N chaque occurence dun venement
Calculer le nombre moyen de N ?

Exemples de simulateurs rseaux

Il existe plusieurs logiciels de simulation :


Opnet.
Omnet
sensorSim
Jsim
GlomoSim
Network Simulator (NS-2 , NS-3)

Exemples de simulateurs rseaux

Opnet :
Utilis sur les plates-formes Windows et solaris
License payante
crit en C++
Simulation des rseaux LAN et WAN
Recherche de dveloppement des protocoles et architecture des
communication
tude de lordonnancement et la Qualit de Service (QOS)
Rseaux satellitaires.

Exemples de simulateurs rseaux

Omnet :
Logiciel de simulation vnements discrets
Logiciel de source publique
Plate-forme Unix
License gratuite pour les tudiants
Architecture :
Modulaire
Gnrique
Flexible
Simulation du rseau Internet
Simulation des rseaux ad-hoc et des rseaux mobiles

Exemples de simulateurs rseaux

SensorSim :
Simulateur destin pour les rseaux de capteurs
Bas sur le simulateur Network simulateur (NS)
Modlisation de lnergie : batterie , radio....
Simulation hybride :
Interaction avec des noeuds capteurs rels.

Exemples de simulateurs rseaux


Jsim :
Simulateur dvelopp en JAVA
Possibilit dutilisation de diffrents langages de script : Perl , Tcl ,
Python...
Simulateur rcent : Ncessite de correction !!
Simulation des :
Rseaux filaires
Rseaux sans fil
Rseaux de capteurs
Rseaux mobiles

Exemples de simulateurs rseaux

GlomoSim : Global Mobile Information System Simulation library


Simulateur pour les rseaux sans fil mobiles
Architecture modulaire
Scalabilit (simulation pour de larges rseaux)
Simulation hybride
Interface utilisateur graphique :
Visualisation de la simulation
Visualisation des rsultats

Exemples de simulateurs rseaux


NS : Network Simulator (http://isi.edu/nsnam/ns/)
Simulateur multi-protocoles
Issu des travaux du projet VINT
Faciliter ltude de linteraction entre les protocoles
Faciliter ltude de comportement dun rseau diffrents chelles
Contient des bibliothques pour la gnration de topologies rseaux
et des trafics
Contient des outiles de visualisation tel que lanimateur rseau nam
(network animator)

Prsentation gnrale de NS
Logiciel libre de simulation vnements discrets pour les rseaux
informatiques
Largement utilis dans la recherche acadmique et dans lindustrie
Logiciel disponible sur Internet :
Son utilisation est gratuite
Version la plus rcente NS2.35
Logiciel excutable sur les plates-formes Windows et Unix
Modulaire
Orient Objet
Code rutilisable
Possiblit dajout de modles correspendant des technologies
mergentes

Prsentation gnrale de NS
Les systmes simuls par NS sont :
Les rseaux filaires
Les rseaux mobiles
Les rseaux satellitaires
NS implmente :
Des protocoles : TCP , UDP , ....
Des sources de trafic : FTP , Telnet : Web CBR , VBR , ...
Des mcanismes de gestion de file dattente : Tail Drop , RED , CBQ , ...
Des algorithmes de routage : Dijkstra....

Prsentation gnrale de NS
Langages utiliss :
C++ :
Langage compil (rapide compiler)
Les composants de base (protocoles , sources de trafic ...) sont
crits en C++ (chemin de donnes)
Otcl :
Langage interpret
Possibilit de changement rapide et interactif
Configuration des objets (chemin de contrle)
Un script Otcl Description de la topologie rseau, source du
trafic utilis , temps de transmission du paquet , temps de fin de la
transmission

Prsentation gnrale de NS
Une fois la simulation est termine :
NS produit un ou plusieurs fichiers texte contenant les rsultats de la
simulation
Le type et le nombre des fichiers rsultats sont spcifis dans le script
Otcl.
Les donnes peuvent tre utilises pour
Anlayse la simulation .
Visualiser la simulation graphiquement
Gnrer des graphes et des courbes

Prsentation gnrale de NS
NS interagit avec diffrents outils :
Gnrateurs de trafic de topologies
Outils danalyse des traces et de visualisation de la simulation

Simulation avec NS

Simulation typique avec NS :


Dfinition de la topologie
Spcification des protocoles pour chaque couche protocolaire
Spcification des vnements :
Spcification des trafics vhiculs (temps dbut , temps de fin , ...)
Spcifications des ruptures des liens ...

Excution de la simulation.
Rcupration des rsultats (fichier trace).
Visualisation de lanimation (outil NAM).
Analyse et visualisation des rsultats.

Composantes de base de NS

La classe Simulator
Tout le simulateur est dcrit par une classe SIMULATOR. Cette classe
fournit un ensemble dinterfaces pour :
La configuration de la simulation
La cration des noeuds et de la topologie
Le choix dun protocole de routage
Le dclenchement des vnements
Lxcution de la simulation...
Instanciation
Set ns [new Simulator]
Lobjet Simulator (ns) contiendra :
Une rfrence sur chaque lment de la topologie du rseau simul
Une rfrence sur les options mises pour la simulation , (Ex : Noms de
fichiers de trace)

Ordonnanceur
Linitialisation du simulateur permet de crer un ordonnanceur.
Un ordannanceur permet de :
Ranger un vnement
Choisir lvnement le plus proche en terme de temps
Excuter les traitements
Faire progresser le temps simul
Avancer lvnement suivant
Un seul vnement est trait la fois.
4 types drodannanceusr sont disponibles

Simple liste chaine


Pile
File avec calendrier (Calendar Queue) (Calendar queues : a fast 0(1)
priority queue implementation for the simulation event set problem,
Comumunications of the ACM , Volume 64 , Issue 10 (October 1988)
Real time

Ordannaceur
Les principales mthodes de la classe Simulator lies lordannceur sont :
Now {} : retourne le temps simul
At <time> <action > :`at {} ajoute un vnement dans lchancier
Run {} : lancement de la simulation
Halt{}: arrt de lordannanceur .
Cancel $ eventID : annule un vnement pralablement plac avec
at
EventID est la valeur retourne lors du placement de lvnement
par set eventID [$ns_at <time> <action>]

Exemples de commandes utilises


dans des scripts de simulation
Setns_[new Simulator]
This command creates an instance of the simulator object
Set now [$ns_now]
The scheduler keeps track of time in a simulation . This schedulers notion of current time.
$ns_halt
This stops or pauses the scheduler
$ns_run
This starts the scheduler
$ns_at_<time><event>
This schedules an <event> (which is normally a piece of code) to be executed at the speciefied
<time>
Exemples :
$ns _at $opt (stop ) puts NS exitting .. ;$ns_halt
$ns_at 10.0$ftp start
$ns_cancel <event>
Cancels the event .In effect , event is removed from schedulers list of ready to run events.
$ns_create-trace <type> <file> <src> <dst> <optional arg : opt>
This creates a trace-object of type <type > between <src> and <dst> objects and attaches trace
object to <file> for writting trace-outputs.If op is defined as nam , this creates nam trace files;
otherwise if op is not defined , ns trace files are created on default

Gnrate
de trafic
Agent
UDP

Applicati
on

Gnrateu
r de trafic

Application

Agent
TCP

Agent UDP

Agent TCP

Routage

Noeud

Routage

Lien
physique

Noeud

La classe Node
Un noeud est compos de deux objets TCL :
Classifier_ : Un classificateur de paquets permettant de placer les
paquets sur le lien de sortie correspondant (Address classifier ,
multicast classifier , multipath classifier , hash classifier , replicator )
Dmux_ : achemine le paquet vers lagent adquat
Instansiation :
Set ns [new Simulator]
Set n1 [$ns Node]
Chaque noeud est constitu :
une adresse (un identificateur ) id_:cod sur 8bits.
Une liste de voisins (neighbor_).
Une liste dagents
Un identificatuer du type de noeud
Un module de routage
Un noeud dfinit une variable entry_ qui rfrence le premier lment
prenant en charge les paquets qui arrivent ce noeud.

Les liens
Liaison entre les noeuds pour complter la topologie du rseau
La classe SimpleLink permet de connecter deux noeuds avec une liaison
point point.
Un lien est caractris principalement par :
Un dlai de propagation
Une bande passante
5 variables dfinissent un lien
Head_ : pont dentre au lien , il pointe le premier objet du lien
Queue_ : rfrence la file principale du lien . Les liens simples ont une
seule file par lien . Dmautres liens plus complexes peuvent avoir
plusieurs files par lien .
Link_ : rfrence llment qui modlise le lien en terme de dlai et de
bande passante
Ttl_: rfrence llment qui manipule le TTL de chaque paquet.
Drophead_: rfrence lobjet qui traite les paquets perdus du lien

La classe Application
Classe modlisant la couche Application en terme de source de trafic.
Lapplication est associe un agent qui correspond lentit de transport
Les applications sont de deux typs:
Application simule : employe pour simuler un flux transport par
TCP (Telnet,Ftp,...).
Gnrateur de trafic : employ pour les flux utilisant un transport en
mode non connecte comme UDP (CBR,Exponnentiel , Pareto...).
Le trafic peut galement tre gnr partir dun fichier de traces

La classe application
FTP :
Set ftp[new Application/FTP]
$ftp attach-agent $tcp0

Trafic CBR (Constant Bit Rate) :


Set cbr0 [new Application / Traffic /CBR]
$cbr0 attach-agent $udp0

EXCUTION DUN SCRIPT NS


Mode Batch
Fichier de commandes Otcl excut par
la commande ns

Console
Ns
Ns Fich.tcl
Ou nsFich.tcl

Fichier Fich.tcl
Set ns[new simulator]
Set n0 [$ns node]
Set n1[$ns node]
Etc.
Ns run

Mode interactif
Excution des commandes de
simulation interactivement

Console
Ns
Set ns[new Simulator]
Set n0[ns node]
...
Ns run

Vous aimerez peut-être aussi