Tomographie depuis plusieurs sources vers de multiples

Transcription

Tomographie depuis plusieurs sources vers de multiples
Université de la Méditerranée
Aix-Marseille II
Faculté des Sciences de Luminy
Marseille
163, Avenue de Luminy 13288
cedex 9
THÈSE DE DOCTORAT
en Informatique
Tomographie depuis plusieurs sources vers
de multiples destinations dans les réseaux
de grilles informatiques hautes
performances
présentée par :
Laurent Bobelin
en vue d'obtenir le grade de docteur de l'Université de la Méditerranée
soutenue le
12 juin 2008 devant le jury composé de :
Emmanuel Jeannot
Chargé de Recherche INRIA Grand Est, rapporteur
Ibrahima Sakho
Professeur à l'Université de Metz, rapporteur
Frédéric Desprez
Directeur de Recherche INRIA Rhône-Alpes, président du jury
Remi Morin
Professeur à l'Université de la Méditerranée, examinateur
Traian Muntean
Professeur à l'Université de la Méditerranée, directeur de thèse
François Touchard
Professeur à l'Université de la Méditerranée, co-directeur de thèse
N o attribué par la bibliothèque
Année 2008
N'importe quelle sardine peut arriver à avaler une baleine...
A condition, bien sûr, de savoir comment susamment écarter les mâchoires.
Dicton indonésien adapté aux poissons et mammifères de nos contrées.
Remerciements
Voici donc venu le temps des remerciements (ami lecteur encore thésard, sache que ce
moment vient après la soutenance, donc après la bataille nale et l'explosion de l'Etoile
Noire, et que c'est donc le temps de faire le bilan de ces (au moins) 3 années de ta vie).
Donc, je remercie en premier lieu Traian Muntean, mon directeur de thèse, pour la
liberté totale (voire absolue) qu'il m'a laissé tout au long de cette thèse. Merci pour cela,
Traian.
Un autre élément essentiel dans mes orientations et choix scientiques a été la présence
de la physique des particules, incarné par mon co-directeur de thèse, François Touchard.
Malgré son prol non-informaticien, son aide a été plus que précieuse. D'une part, pour
son aide sur toutes les questions logistiques liées à la validation des méthodes et techniques
décrites dans le document ci-après. D'autre part, pour avoir su clairement exprimer (avec
l'aide tout aussi précieuse d'Andreï Tsaregorotsev) les attentes de la part de sa communauté
vis-à-vis des résultats que devaient produire mes recherches. Leur constante exigeance de
performances et d'applicabilité de mes recherches ont été le l conducteur de ma thèse, et
en terme d'écheance, m'ont permis de structurer mon travail.
Je remercie de même les membres de mon jury :
Emmanuel Jeannot, pour avoir accepté d'être un des rapporteurs de ma thèse, malgré
l'austérité de celle-ci (oui, ami lecteur, autant te prévenir : ce document est quand
même sacrément aride, mais accroche-toi, les résultats qu'il contient sont quand
même intéressants),
Pour les mêmes raisons, merci à Ibrahima Sakho d'avoir sacrié un peu de son temps
pour relire le présent document, et par ces commentaires, d'avoir apporté au document nal la rigueur syntaxique mathématique qu'il eusse dû avoir dès le début,
Fréderic Desprez, pour m'avoir fait l'honneur d'être le président du jury lors de ma
soutenance, mais aussi (et surtout) pour m'avoir donné l'occasion de lui montrer
que j'étais capable de faire autre chose que citer Heidegger, Junger et consors, et de
m'interroger sur la signication de la recherche dans un document scientique,
Remi Morin, pour avoir accepté de faire partie de mon jury et d'avoir porté sur mes
travaux un regard neuf.
Merci aussi à deux personnes sans qui ont apporté scientiquement quelque chose à
cette thèse : Léon Mugwaneza et Easter Selvan Suviseshamuthu. Pour le premier (donc
toi, Léon) merci pour ton aide précieuse et ta relecture qui m'ont permis de comprendre
ce que dev(r)ait être la rédaction scientique. Pour le second (so, for you Easter), thank
you for your precious help about understanding, managing and implementing negentropy
approximation. Your experience in teaching spectral analysis has been really usefull to help
someone like me understanding and using tools like this one.
Merci aussi à deux personnes sans qui cette thèse n'aurait jamais pu être : François
Etienne, qui m'a accordé sa conance et a accepté que je fasse cette thèse dans le cadre
d'EGEE, ainsi que Marc Drabik, qui m'a aussi accordé sa conance et m'a permis de
rejoindre l'équipe grille de CSSI (oui ami lecteur, malgré son aspect recte, ma thèse n'a
pas été exempte de péripéties industrielles).
Merci encore à ma moman, pour ses relectures de ma thèse qui ont garanti une bonne
tenue orthographique et grammaticale au présent document (et de ne pas m'avoir renié
malgré les nombreuses fautes du document initial). Merci de même à mon popa pour ces
conseils précieux sur la façon de mieux présenter mon travail oralement.
Nous voici donc venu aux remerciements qui concernent plus ma vie personnelle que
les diérents résultats scientiques présents dans mon document.
Donc, encore une fois, merci popa, merci moman, et bien sûr aussi merci ma soeurette,
et le reste de ma famille : votre soutien m'a permis de continuer sur le chemin pleins
d'embûches qui m'a conduit à ma soutenance. Merci aussi (et bizarrement peut être même
plus), à ceux qui n'ont pas cru en moi : il m'ont donné l'énergie de leur prouver que j'étais
scientiquement capable.
Viennent les remerciements qui s'adressent aux gens dont les apports au quotidien
permettent de survivre dans ce monde de brute. On commencera donc par les collègues (de
bureau) et néanmoins amis qui m'ont aidé à ne pas prendre un café tout seul. Côté ESIL,
Victor, Olivier et Hervé ont été de dèles collègues de bureau (et même plus). De même,
le René et la Fif (qui devraient prendre soin du p'tit Audren plutôt que de lire le présent
document), ainsi que le Ben (toi, prend soin de Monica au lieu de lire ces lignes), ainsi que
tous les autres (Jeremy, merci pour tes cours de stats de première année :) ), ont été du
côté CPPM de précieux collègues de café. Big up enn, comme on dit chez les djeuns, aux
inclassables camarades de café Vince et Cristina :)
Merci aussi à Alaa et Zaid pour leur hospitalité, leur amitié et leur aide pour l'organisation du pot qui a suivi ma soutenance, dont je ne saurai jamais (j'en ai bien peur) leur
rendre la pareille. Merci aussi au (maintenant) Dr. Agung (oui avant c'était juste Agung,
ami lecteur) pour son amitié, ainsi que pour m'avoir appris le sens de "Iwak sepat ngemplok gapuro... Menawi wonten lepat, ojo ngemplok gapuro". Puisqu'on en est aux horizons
lointains, merci à vous tous : Victor (j'ai encore une copie de tes fameux dessins animés
russes qu'il faudrait que je regarde (sous Tranxene)), Agung, Alaa, Zaid, Josip, Salma,
Easter, Khoi, Vanh, Xiao Min, Bouchra et tous les autres, qui m'ont permis d'entrevoir
leur culture, leur façon d'aborder la vie, et par extension, d'appréhender n'importe quel
problème de manière bien plus universelle que d'un point de vue strictement hexagonal.
Le polyculturalisme, tout comme l'interdisciplinarité, ore une possibilité d'acquérir une
ouverture d'esprit formidable, ce que je conseille à tous. Merci encore à vous tous pour
votre simple existence, et d'y avoir laissé une place pour ma présence.
iii
On en vient enn au remerciements exotiques. Merci à Robert Smith, pour Mint car
(The Cure, Wild Mood Swings, ( ... ) ), à la brasserie Heineken (enn, c'est plutôt leurs
actionnaires qui devraient me remercier d'avoir fait une thèse), à Stan Marsh, Kenny
Mc Kormick, Kyle Broslowski et Eric Cartman, aux publicistes qui se sont chargés de la
campagne télévisuelle de l'emmental Coeur de Meule de Président(T M ) (oui, ami lecteur,
sans eux, comment aurait pu exister la méthode du noyau ?) ... la liste pourrait encore être
longue.
Merci aux amis que j'ai délaissé pendant trois années et qui me parlent encore ; merci
enn à tous ceux que j'ai pu oublier.
...
Et dire que je voulais faire court sur les remerciements.
iv
Table des matières
Table des matières
i
Table des gures
x
I Problématique et état de l'art
1
1. Introduction
1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
6
6
2. Du gain apporté par la connaissance des performances du réseau pour
les grilles de calcul
8
2.1 Les grilles de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Les systèmes distribués de type grille . . . . . . . . . . . . .
2.1.2 Les plates-formes de grilles institutionnelles . . . . . . . . .
2.1.2.1 les plates-formes de grille nationales . . . . . . . .
2.1.2.2 les plates-formes de grille internationales . . . . .
2.1.3 Les intergiciels de grilles dédiés aux grilles institutionnelles .
2.2 Le projet EGEE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Vue d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Le File Transfer Service . . . . . . . . . . . . . . . . . . . .
2.3 Protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Quelques mots sur TCP . . . . . . . . . . . . . . . . . . . .
2.3.2 Améliorations de TCP . . . . . . . . . . . . . . . . . . . . .
2.3.2.1 Modication de la taille maximale de segment . .
2.3.2.2 TCP parallèle . . . . . . . . . . . . . . . . . . . .
2.3.2.3 Augmentation du facteur C . . . . . . . . . . . . .
2.3.2.4 Mise en oeuvre d'un RT T virtuel . . . . . . . . . .
2.3.2.5 Modication autour de loss . . . . . . . . . . . . .
2.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Plate-forme . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
12
12
13
14
16
16
18
20
20
22
22
22
24
26
26
27
27
i
Table des matières
2.4.2
2.4.3
Contexte d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Contexte logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3. Etat de l'art : découverte automatique de topologie des performances
d'un réseau
29
3.1 Reconstruction de topologies . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Problèmes inverses . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Vocabulaire et dénitions . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2.1 Sous-chemin commun maximum . . . . . . . . . . . . . . .
3.1.2.2 Métrique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Taxonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Reconstruction de topologies étiquetées sur les noeuds . . . . . . . .
3.1.4.1 Identication des noeuds . . . . . . . . . . . . . . . . . . .
3.1.5 Reconstruction de topologies étiquetées sur les arcs . . . . . . . . . .
3.1.5.1 Reconstruction de topologies par disjonction de chemins . .
3.1.5.2 Reconstruction de topologies par conjonction de chemins .
3.1.5.3 Reconstruction de topologies par identication de sous-chemin
communs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5.4 Intégration temporelle des topologies . . . . . . . . . . . . .
3.1.6 Reconstruction de topologies non étiquetées . . . . . . . . . . . . . .
3.1.6.1 Reconstruction de topologies par interférences entre chemins
3.1.6.2 Reconstruction de topologies par disjonction de chemins . .
3.2 Découverte automatique des performances du réseau . . . . . . . . . . . . .
3.2.1 Techniques passives . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Techniques actives . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2.1 Dispersion de paquets . . . . . . . . . . . . . . . . . . . . .
3.2.2.2 Techniques de trains de paquets . . . . . . . . . . . . . . .
3.2.2.3 Bulk Transfer Capacity . . . . . . . . . . . . . . . . . . . .
3.2.3 Techniques mixtes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4 Intégration temporelle des mesures . . . . . . . . . . . . . . . . . . .
3.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
31
32
32
33
34
34
36
36
37
38
38
39
39
40
41
41
42
42
44
44
45
45
46
46
47
II Tomographie réseau multiples sources, multiples destinations :
modélisation, reconstruction et récupération du jeu de données initial 48
4. Modélisation des performances par une topologie du réseau
49
ii
Table des matières
4.1 Hypothèses et pré-requis sur les réseaux . . . . . . . . . . . . . . . . . . . .
4.1.1 Propriétés des métriques . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.1 Constance . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.2 Monotonicité . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.3 Monotonicité étendue . . . . . . . . . . . . . . . . . . . . .
4.1.1.4 Bornée . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.5 Borne induite par un lien unique . . . . . . . . . . . . . . .
4.1.1.6 Séparabilité . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.7 Séparabilité étendue . . . . . . . . . . . . . . . . . . . . . .
4.1.1.8 Symétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.9 k-détectabilité . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Propriétés du routage et de la topologie réseau . . . . . . . . . . . .
4.1.2.1 Consistance, stabilité et unicité . . . . . . . . . . . . . . . .
4.1.2.2 Symétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Vue d'ensemble des modèles existants . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Topologie physique et logique . . . . . . . . . . . . . . . . . . . . . .
4.2.1.1 Topologie physique . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.2 Topologie logique . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Topologies issues d'identication d'équipements le long de chemins .
4.2.3 Graphe d'interférence . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 Topologie réseau induite par une métrique depuis une source vers
plusieurs destinations (MINT) . . . . . . . . . . . . . . . . . . . . . .
4.2.4.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4.3 Hypothèses de dénition . . . . . . . . . . . . . . . . . . .
4.2.5 Topologie par recoupement d'arborescences . . . . . . . . . . . . . .
4.2.5.1 Recoupement de MINT de même racine . . . . . . . . . . .
4.2.5.2 Recoupement de MINT de racines diérentes . . . . . . . .
4.2.5.3 Recoupement de MINT de racines diérentes dans le cas
symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Nouveaux modèles pour le cas multiples sources, multiples destinations . . .
4.3.1 Topologie réseau induite par une métrique depuis plusieurs sources
vers plusieurs destinations (MSMDMINT) . . . . . . . . . . . . . . .
4.3.1.1 Dénition par construction . . . . . . . . . . . . . . . . . .
4.3.1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Système partiellement ordonné induit par une métrique (MINP) . . .
49
50
50
50
50
51
51
52
53
53
54
55
55
56
56
57
57
57
58
58
58
59
60
60
61
61
61
61
62
63
63
64
64
66
66
iii
Table des matières
4.3.2.1 Dénition . . . . . . . . . . . . . .
4.3.2.2 Problématique . . . . . . . . . . .
4.3.2.3 k-MINP . . . . . . . . . . . . . . .
4.3.2.4 ∞-MINP . . . . . . . . . . . . . .
4.3.2.5 Hypothèses de dénition . . . . .
4.3.2.6 Relation avec les modèles existants
4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Modèles existants . . . . . . . . . . . . . . .
4.4.2 Nouveaux modèles . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. Algorithmes de reconstruction pour la tomographie réseau
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.1 Propriétés des mesures . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 k-mesure et k-test . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Temps d'exécution . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 Exclusion mutuelle . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.4 Relations topologiques et reconstruction . . . . . . . . . . . . .
5.2 Algorithmes pour les MINT . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Hypothèse de reconstruction . . . . . . . . . . . . . . . . . . . .
5.2.2 Reconstructions basés sur les pré-ordres . . . . . . . . . . . . .
5.2.2.1 Algorithme de reconstruction . . . . . . . . . . . . . .
5.2.2.2 Compléxité . . . . . . . . . . . . . . . . . . . . . . . .
5.2.3 Reconstructions basées sur la vraisemblance . . . . . . . . . . .
5.2.3.1 Algorithme de reconstruction . . . . . . . . . . . . . .
5.2.3.2 Complexité . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4 Reconstruction par recoupement d'arborescences MINT pour le
symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4.1 Hypothèses de reconstruction . . . . . . . . . . . . . .
5.2.4.2 Algorithme de reconstruction . . . . . . . . . . . . . .
5.2.4.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Algorithme pour les graphes d'interférence . . . . . . . . . . . . . . . .
5.3.1 Hypothèses de reconstruction . . . . . . . . . . . . . . . . . . .
5.3.2 Algorithme de reconstruction . . . . . . . . . . . . . . . . . . .
5.3.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.3.1 Etapes de calcul . . . . . . . . . . . . . . . . . . . . .
5.3.3.2 Nombre de tests . . . . . . . . . . . . . . . . . . . . .
5.4 Algorithmes de reconstruction pour les MINP . . . . . . . . . . . . . .
5.4.1 Hypothèses de reconstruction . . . . . . . . . . . . . . . . . . .
5.4.2 Propriétés d'un MINP . . . . . . . . . . . . . . . . . . . . . . .
5.4.2.1 Couverture unique . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
cas
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
66
69
70
71
71
72
73
73
74
75
75
75
76
77
77
78
79
79
79
80
80
80
81
82
82
82
82
82
82
83
84
84
84
84
84
84
84
iv
Table des matières
5.4.2.2 Propriété de regroupement . . . . . . . . . . . . . . . . . . 85
5.4.2.3 Propriété de regroupement pour les métriques bornées . . . 85
5.4.3 Un algorithme de reconstruction pour les k-MINP pour des métriques
bornées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4.3.1 Algorithme de reconstruction . . . . . . . . . . . . . . . . . 86
5.4.3.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4.3.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4.4 Un algorithme de reconstruction pour les 1-MINP pour des métriques
bornées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4.4.1 Algorithme de reconstruction . . . . . . . . . . . . . . . . . 92
5.4.4.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.4.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4.5 L'algorithme LTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.4.5.1 Algorithme de reconstruction . . . . . . . . . . . . . . . . . 96
5.4.5.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.4.5.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4.6 L'algorithme LTC parallèle . . . . . . . . . . . . . . . . . . . . . . . 100
5.4.6.1 Algorithme de reconstruction . . . . . . . . . . . . . . . . . 100
5.4.6.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.4.6.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.7 Un algorithme de reconstruction pour les 1-MINP en relaxant l'hypothèse de borne induite par un lien unique . . . . . . . . . . . . . . 104
5.4.7.1 Relaxation de l'hypothèse de borne induite par un lien unique104
5.4.7.2 Algorithme de reconstruction . . . . . . . . . . . . . . . . . 105
5.4.7.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.4.7.4 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5 Vers des algorithmes hybrides pour la reconstruction de MINP . . . . . . . 107
5.5.1 Algorithmes hybrides utilisant des données complètes . . . . . . . . . 108
5.5.1.1 Données d'entrée . . . . . . . . . . . . . . . . . . . . . . . . 108
5.5.1.2 Quelques propriétés des 1-MINP bornés . . . . . . . . . . . 108
5.5.1.3 Algorithme de reconstruction de 1-MINP borné . . . . . . . 109
5.5.1.4 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5.2 Algorithmes hybrides utilisant des données partielles . . . . . . . . . 111
5.5.2.1 Données d'entrée . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5.2.2 Algorithmes hybrides pour la reconstruction de 1-MINP
pour une métrique bornée . . . . . . . . . . . . . . . . . . . 112
5.5.3 Vers une utilisation réelle des MINP . . . . . . . . . . . . . . . . . . 113
5.6 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
v
Table des matières
6. Techniques de mesures pour les sous-chemins communs étroits
6.1 Techniques existantes . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Méthode par paires de paquets imbriquées . . . . . . .
6.1.1.1 Description . . . . . . . . . . . . . . . . . . .
6.1.1.2 Exploitation des valeurs obtenues . . . . . .
6.1.1.3 Performances . . . . . . . . . . . . . . . . . .
6.1.1.4 Limitations . . . . . . . . . . . . . . . . . . .
6.1.2 Méthode de la "cartouche" . . . . . . . . . . . . . . .
6.1.2.1 Description . . . . . . . . . . . . . . . . . . .
6.1.2.2 Exploitation des valeurs obtenues . . . . . .
6.1.2.3 Performances . . . . . . . . . . . . . . . . . .
6.1.2.4 Limitations . . . . . . . . . . . . . . . . . . .
6.1.3 Méthode bayesienne . . . . . . . . . . . . . . . . . . .
6.1.3.1 Description . . . . . . . . . . . . . . . . . . .
6.1.3.2 Exploitation des valeurs obtenues . . . . . .
6.1.3.3 Performances . . . . . . . . . . . . . . . . . .
6.1.3.4 Limitations . . . . . . . . . . . . . . . . . . .
6.1.4 Méthode par agglomération de tests unicasts . . . . .
6.1.4.1 Description . . . . . . . . . . . . . . . . . . .
6.1.4.2 Exploitation des valeurs obtenues . . . . . .
6.1.4.3 Performances . . . . . . . . . . . . . . . . . .
6.1.4.4 Limitations . . . . . . . . . . . . . . . . . . .
6.1.5 Méthode par mesures d'interférences . . . . . . . . . .
6.1.5.1 Description . . . . . . . . . . . . . . . . . . .
6.1.5.2 Exploitation des valeurs obtenues . . . . . .
6.1.5.3 Performances . . . . . . . . . . . . . . . . . .
6.1.5.4 Limitations . . . . . . . . . . . . . . . . . . .
6.1.6 Autres méthodes de mesures . . . . . . . . . . . . . .
6.2 Techniques adaptées à la reconstruction de MINP partiels . .
6.2.1 Principe général . . . . . . . . . . . . . . . . . . . . .
6.2.2 Technique utilisant le régime permanent de ux TCP .
6.2.2.1 Description . . . . . . . . . . . . . . . . . . .
6.2.2.2 Exploitation des valeurs obtenues . . . . . .
6.2.2.3 Performances . . . . . . . . . . . . . . . . . .
6.2.2.4 Limitations . . . . . . . . . . . . . . . . . . .
6.2.3 Technique par envoi de bursts UDP périodiques . . . .
6.2.3.1 Description . . . . . . . . . . . . . . . . . . .
6.2.3.2 Exploitation des valeurs obtenues . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
117
117
117
118
118
119
119
119
120
121
121
121
122
122
123
123
123
123
123
124
124
124
125
125
126
126
126
126
127
127
127
127
128
128
128
128
129
132
vi
Table des matières
6.2.3.3 Performances . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.4 Technique par saturation de lien par bursts UDP . . . . . . . . .
6.2.4.1 Description . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.4.2 Exploitation des valeurs obtenues . . . . . . . . . . . .
6.2.4.3 Performances . . . . . . . . . . . . . . . . . . . . . . . .
6.2.4.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.5 Technique basée sur l'approximation de la néguentropie . . . . .
6.2.5.1 Indépendance et néguentropie . . . . . . . . . . . . . . .
6.2.5.2 Description . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.5.3 Exploitation des valeurs obtenues . . . . . . . . . . . .
6.2.5.4 Performances . . . . . . . . . . . . . . . . . . . . . . . .
6.2.5.5 Limitations . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.6 Technique parallèle basée sur l'approximation de la néguentropie
6.2.6.1 Description . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.6.2 Exploitation des valeurs obtenues . . . . . . . . . . . .
6.2.6.3 Performances . . . . . . . . . . . . . . . . . . . . . . . .
6.2.6.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
III Implémentation et validation
132
132
133
133
133
133
134
134
134
141
145
146
146
147
147
147
147
147
148
149
7. M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P. 150
7.1 Présentation générale de l'outil . . . . . . . .
7.1.1 Architecture . . . . . . . . . . . . . . .
7.1.1.1 Vue logique . . . . . . . . . .
7.1.1.2 Vue déploiement . . . . . . .
7.1.1.3 Vue implémentale . . . . . .
7.1.1.4 Cas d'utilisation . . . . . . .
7.1.1.5 Vue architecture . . . . . . .
7.1.1.6 Pré-requis pour l'installation
7.1.2 Technologies mises en oeuvre . . . . .
7.1.2.1 UDPMon . . . . . . . . . . .
7.1.2.2 Galicia . . . . . . . . . . . .
7.1.2.3 Autres . . . . . . . . . . . . .
7.1.2.4 Utilisation du format XML .
7.1.3 Quelques mots sur l'interface . . . . .
7.1.4 Limitations actuelles . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
150
150
151
151
153
153
154
155
156
156
156
156
157
157
157
vii
Table des matières
7.2 Mise en oeuvre des algorithmes et mesures développées
7.2.1 Mesures par envois de bursts périodiques . . . .
7.2.2 Mesures par envois de burts UDP saturants . .
7.2.3 Mesures basées sur la néguentropie . . . . . . .
7.2.3.1 3-mesure 1-test . . . . . . . . . . . . .
7.2.3.2 k-mesure parallèle . . . . . . . . . . .
7.2.4 Algorithmique . . . . . . . . . . . . . . . . . .
7.2.4.1 Mise en oeuvre . . . . . . . . . . . . .
7.2.4.2 Limitations . . . . . . . . . . . . . . .
7.3 Autres caractéristiques de l'outil . . . . . . . . . . . .
7.3.1 Tolérance aux pannes . . . . . . . . . . . . . .
7.3.2 Stockage des MINP . . . . . . . . . . . . . . . .
7.3.3 Evolutivité . . . . . . . . . . . . . . . . . . . .
7.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . .
8. Validation
8.1 Méthodologie de validation . . . . . . . . .
8.1.1 Validation des algorithmes . . . . . .
8.1.2 Validation des techniques de mesures
8.2 Outil de validation . . . . . . . . . . . . . .
8.2.1 Simulateurs . . . . . . . . . . . . . .
8.2.1.1 NS-2 . . . . . . . . . . . . .
8.2.1.2 SimGrid . . . . . . . . . . .
8.2.2 Plates-formes réelles . . . . . . . . .
8.3 Validation des algorithmes de reconstruction
8.3.1 Simulation de haut niveau . . . . . .
8.3.2 Tests sur plate-forme expérimentale
8.3.3 Tests réels . . . . . . . . . . . . . . .
8.4 Validation des méthodes de mesures . . . .
8.4.1 Simulation . . . . . . . . . . . . . . .
8.4.2 Tests sur plate-forme expérimentale
8.4.3 Tests réels . . . . . . . . . . . . . . .
8.4.4 Taux d'erreur . . . . . . . . . . . . .
8.5 Synthèse . . . . . . . . . . . . . . . . . . . .
9. Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
158
158
159
159
159
160
160
160
160
160
160
161
161
161
162
162
162
162
163
163
163
164
164
165
165
166
166
166
166
166
166
167
169
170
9.1 Apport des travaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
9.2 Axes de travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
9.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
viii
Table des matières
9.2.2
9.2.3
9.2.4
Algorithmique de reconstruction . . . . . . . . . . . . . . . . . . . . 171
Techniques de mesures . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
IV Annexes
173
Description d'une plate-forme
174
Description d'un MINP
176
Liste des options d'udpmon modié
180
Glossaire
182
Acronymes
188
Notations
191
Bibliographie
197
ix
Table des figures
1.1 Vue de la topologie physique de GEANT et de l'organisation en hiérarchie
de Tier d'EGEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Organisation par hiérarchie de tier plongée dans la topologie physique . . .
2.1 Les principaux services de gLite . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 vue d'ensemble du File Transfer Service . . . . . . . . . . . . . . . . . . . .
3.1 Reconstruction par identication de noeuds . . . . . . . . . . . . . . . . . .
3.2 Reconstruction par disjonction . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Reconstruction par conjonction . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Exemple de topologie simple . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Liens entre la topologie réelle du réseau et la topologie physique . . . . . . .
4.3 Liens entre les topologies physiques et logiques . . . . . . . . . . . . . . . .
4.4 Eet du paramètre de sensibilité sur un MINT . . . . . . . . . . . . . . . .
4.5 Non transitivité de l'identication . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Liens entre une topologie logique et une topologie induite par une métrique
4.7 Quelques topologies simples et leurs représentations en tant que Metric Induced Network Poset (MINP) . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Exemples d'intersections . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Déroulement de l'algorithme sur un exemple simple . . . . . . . . . . . . . .
5.3 Déroulement de l'algorithme pour les 1-MINP bornés . . . . . . . . . . . . .
5.4 Déroulement de l'algortime LTC . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Déroulement de l'agorithme LTCP . . . . . . . . . . . . . . . . . . . . . . .
5.6 Choix d'un représentant . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Mesure par injection de tests sandwich . . . . . . . . . . . . . . . . . . . . .
6.2 Mesure par la technique de la cartouche . . . . . . . . . . . . . . . . . . . .
6.3 Mesure par injection de stripes . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Collision de trains sur un goulot d'étranglement . . . . . . . . . . . . . . . .
6.5 Méthode du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6 Dépendance des distributions . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7 Bursts injectés depuis une source . . . . . . . . . . . . . . . . . . . . . . . .
7.1 Vue d'ensemble de l'outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Déploiement de l'outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Vue implémentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
17
19
35
37
37
55
57
58
60
62
65
68
83
91
95
99
103
113
118
120
124
129
132
140
145
151
152
153
x
TABLE DES FIGURES
7.4
7.5
8.1
8.2
8.3
8.4
Vue d'un cas d'utilisation . . . . . . . . . . . . . . . . .
Capture d'un écran de l'interface . . . . . . . . . . . . .
Vue d'ensemble de ns-2 . . . . . . . . . . . . . . . . . . .
Vue d'ensemble de simGrid . . . . . . . . . . . . . . . .
Déploiement réseau . . . . . . . . . . . . . . . . . . . . .
Néguentropie pour les diérents sous-chemins communs
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
155
158
164
165
167
168
xi
Première partie
PROBLÉMATIQUE ET ÉTAT DE L'ART
Introduction
1.1
Problématique
Les liens entre les performances d'une application, ses communications et le placement
de ses données sont connus depuis de nombreuses années dans le domaine des systèmes
distribués. L'émergence des architectures distribuées de type grille ou grappe de grappes
remet en question la modélisation, la gestion et les paradigmes de programmation d'une
application. En eet, l'application est confrontée à une topologie réseau qui n'est plus homogène, contrairement aux environnements de type cluster ou autres machines parallèles ;
de plus, les ressources réseau disponibles étant partagées entre des acteurs provenant d'organisations diverses (locales ou appartenant à un groupe de travail de la grille), leur taux
d'utilisation devient plus dicilement prédictible, rendant plus complexe l'optimisation
des communications lors de l'exécution d'une application.
Au-delà du simple aspect architectural de la plate-forme, les caractéristiques mêmes
des middleware pour les grilles développés dièrent suivant les applications auxquelles elles
sont dédiées. Ainsi une grille ayant pour but d'orir des services interopérables entre des
types d'acteurs et d'applications très diérents ore une architecture logicielle basée sur
des services web étendus, ou grid services [1], [71]. Si le surcoût (CPU (CPU) et transfert)
dû à l'utilisation des technologies utilisées par les web services (SOAP (SOAP) et XML
(XML)) peut être maîtrisé, il reste tout de même non négligeable . De ce fait, les grilles
dédiées au calcul scientique ont tendance à passer par des interfaces propriétaires, pour
permettre une optimisation des performances. De même, une grille dédiée au calcul intensif
pour des applications de type branch-and-bound [42] orira des services pauvres en terme
de stockage de données et malgré un réseau orant une faible bande passante, obtiendra
de bonnes performances d'accélération pour ces applications.
La nature hétéroclite des architectures logicielles et matérielles masquées derrière le
terme de grille incite naturellement à établir une taxonomie des diérents types de grilles
découlant des applications qui ont conduit à leur élaboration telle que celle donnée dans
[91]. Pour n'en citer que quelques types, les grilles peuvent être vues comme un ensemble
de services répartis interopérables, une mutualisation de ressources (disques, CPU), ou
une plate-forme d'exécution de Challenges calculatoires, fortement dépendants ou non de
2
Introduction
données initiales. Ces applications génèrent par leurs exécutions des ux d'informations
très divers, allant de simples messages pour les algorithmes de type branch-and-bound, à
des ux importants pour les applications multimédia multicast, entraînant ou non la mise
en place de backbone performants.
Dans le cadre du projet EGEE (EGEE), les applications (expériences) sont caractérisées
par des ux d'informations importants, car elles traitent des ux produits qui peuvent être
de l'ordre du Gbit/s. Ces ux sont de plus non-uniformément répartis dans le temps (les
déplacements de données se font à l'initialisation de l'application) et dans l'espace (toutes
les données proviennent du même lieu, le LHC (LHC)). Ce type d'application implique
aussi le stockage, la répartition et la réplication des données étudiées. Les forts besoins en
débit d'un tel type d'application a donné lieu à la mise en place d'une structure physique
particulière. Celle-ci est articulée autour d'un backbone réseau capable de répondre à des
besoins en bande passante importants pour réduire les temps de transfert, reliant des
sites qui peuvent être plus faiblement couplés. De plus, le volume de calcul nécessaire à
l'analyse des ux de données produits permet de considérer que les ressources de calcul
seront saturées par l'exécution des applications.
Les grilles actuelles ont souvent pour but d'interconnecter des milliers de ressources de
calcul et de stockage de données réparties mondialement, en utilisant soit l'Internet, soit
des réseaux très haut débit tel que GEANT [15] en Europe ou celui utilisé par Teragrid
[37] aux USA. Ces réseaux interconnectent par des liens haut débit diérents centres de
calcul répartis géographiquement. Ces centres restent eux-mêmes connectés à leurs réseaux
nationaux. Un exemple de topologie de ce type de réseau est donné à la gure 1.1.
Tier−0
UK
Suede
Tier−1
Pologne
Tier−1
Rep. Tcheque
Hollande
Tier−2
Tier−1
Belgique
Allemagne2
Tier−1
Allemagne1
Tier−2
Autriche
France
Tier−2
Tier−2
Suisse
Tier−2
Italie
Tier−2
Tier−2
Tier−2
Tier−2
Figure 1.1. Vue de la topologie physique de GEANT et de l'organisation en hiérarchie de
Tier d'EGEE
Sur de telles plates-formes, les applications déploient habituellement une architecture
logicielle dédiée aux transferts de données massifs. Par exemple le projet EGEE [12] utilise une notion de hiérarchie d'hôtes appelés tiers illustrée par la gure 1.1. Dans cette
3
Introduction
hiérarchie, chaque tier est un centre de stockage de données situé physiquement dans les
locaux d'une institution ou d'un laboratoire membre du projet. Le niveau de chaque tier
correspond à l'importance de la contribution à la plate-forme fournie par le membre du
projet auquel il appartient. Le tier-0 communique avec l'ensemble des tier-1, chaque tier-1
communique avec les autres tier-1 mais aussi avec un sous-ensemble de tier-2, chaque tier-2
communique avec certains tier-2 et un sous-ensemble de tier-3. Le tier-0 est situé au plus
proche du siège de l'expérience (dans le cadre d'EGEE, au CERN). Les tier-1 sont des
centres nationaux ou institutionnels, les tier-2 sont situés dans des centres de calculs importants, les tier-3 dans des laboratoires. Dans une organisation de ce type, le paradigme
de communication n'est plus un simple client/serveur : chaque hôte est soit un serveur, soit
un client, soit les deux, et chaque serveur communique seulement avec un sous-ensemble
des clients.
Cette hiérarchie logique est plongée dans le réseau physique existant, les communications entre tiers circulant suivant le routage en vigueur sur celui-ci, tel qu'illustré par la
gure 1.2. Comme on peut l'observer, ce plongement peut faire apparaître que des liens
logiquement disjoints utilisent le même lien physique, comme par exemple le lien entre les
tier-1 italiens et francais, et celui entre le tier-0 et le tier français. Dans la hiérarchie logique,
ces deux liens sont disjoints, alors qu'ils possèdent un sous-chemin physique commun.
UK
SE
PL
CZ
Tier−2
NL
BE
DE2
DE1
Tier−1
AT
FR
CH
Tier−2
IT
Tier−0
Tier−2
Tier−2
Tier−2
Tier−2
Tier−2
Tier−2
Tier−2
Figure 1.2. Organisation par hiérarchie de tier plongée dans la topologie physique
Dans le but d'optimiser les communications entre ces diérents tiers, il est donc nécessaire de connaître à la fois la capacité des liens physiques les reliant, mais aussi la topologie
4
Introduction
sous-jacente et le routage appliqué sur celle-ci, sous peine de voir deux transferts sensés être
indépendants entrer de manière imprévue en compétition pour la même ressource physique
réseau. Ce problème est loin d'être spécique à EGEE, et se pose dans de nombreux types
d'applications. Or, le plus souvent, on ne connait même pas la topologie physique réelle.
De plus, les outils de monitoring actuels, tels que NWS [120] ou WREN [99] ne proposent
qu'une modélisation basique de ces interférences : soit les ux appartiennent à une même
clique et donc possèdent un lien commun, soit ils font partie de cliques séparées et sont
considérés comme indépendants. Ces outils ne reposent donc pas sur une modélisation de
la topologie susamment ne pour estimer les interactions entre les ux telles que celles
induites par la topologie et le routage de la gure 1.2.
Dans les réseaux traditionnels, il est souvent possible de découvrir la topologie en
utilisant des outils de type traceroute [97], c'est-à-dire en utilisant des informations ne
pouvant être obtenues que si les administrateurs du réseau permettent de les obtenir.
Comme une grille fédère des ressources appartenant à diérentes organisations respectant
diverses politiques de sécurité, l'utilisation de tels outils est la plupart du temps impossible.
Si l'on désire déduire la topologie du réseau sous-jacent et/ou la capacité des liens qui le
composent, il est donc nécessaire d'utiliser des méthodes reposant sur des mesures de
niveau applicatif eectuées de bout en bout. De telles méthodes sont dénommées dans la
littérature tomographie réseau [121].
Depuis une décennie, la tomographie réseau a été largement étudiée. Diérentes approches ont été proposées, en fonction des besoins exprimés, mais aussi des propriétés
intrinsèques du réseau sur lequel ces méthodes sont appliquées (voir [58] pour un état
de l'art). Un domaine largement étudié est celui de la reconstruction d'une topologie logique basée sur les valeurs d'une métrique. Cette métrique peut être la bande passante
atteignable en régime permanent par des ux TCP (TCP), le délai, etc. Dans une telle
topologie, qui est un graphe orienté, chaque arc est étiqueté suivant la valeur de la métrique
correspondant à l'ensemble d'objets physiques qu'il représente. Dans le cas client/serveur,
la topologie logique est forcément une arborescence dont la racine est le serveur, les feuilles
les clients et les noeuds internes les points de disjonction des chemins reliants le serveur
aux clients.
Il a été démontré dans [49] qu'une telle topologie logique ne peut être construite pour
une métrique donnée que si celle-ci possède des propriétés particulières. Or, ce travail ne
prend en compte que les topologies logiques qui sont obtenues dans le cas client/serveur.
Les auteurs introduisent les propriétés de monotonicité et de séparabilité et dénissent les
relations entre topologie physique, topologie logique et la topologie induite par les valeurs
d'une métrique. Ces propriétés, si elles sont respectées, permettent à la fois de reconstruire l'arborescence reliant une source et plusieurs destinations, mais aussi d'étiqueter les
arcs reliant les noeuds de l'arborescence avec des valeurs de la métrique correspondant à
5
Introduction
l'ensemble des équipements physiques qu'ils représentent.
Or, comme mentionné dans [52], une représentation arborescente ne peut caractériser
un réseau quand plusieurs sources et plusieurs destinations sont impliquées. Pour traiter
ce nouveau problème de tomographie réseau depuis plusieurs sources vers plusieurs destinations, il est donc nécessaire de développer de nouvelles représentations des performances
du réseau, ainsi que des méthodes ad hoc pour détecter les relations entre les chemins
considérés, et reconstruire une représentation complète des performances du réseau. La
présente thèse traite de ce sujet.
1.2
Contributions
Les principales contributions de cette thèse sont :
1. Un nouveau modèle pour représenter les performances du réseau.
2. De nouveaux algorithmes de reconstruction permettant de reconstruire ecacement
une telle représentation.
3. De nouvelles méthodes de découverte de topologie permettant de récupérer un jeu
de données initial permettant de reconstruire une représentation du réseau.
4. Un prototype d'outil permettant de valider ces nouvelles méthodes dans le cadre
d'expérimentations réelles.
1.3
Plan de la thèse
La première partie, "Problématique et état de l'art" regroupe l'introduction et les
chapitres suivants dédié à l'état de l'art et la dénition précise de la problématique.
Après cette introduction, je donne une vue d'ensemble des types de plates-formes de
grille, et identie les types de grille qui peuvent tirer un certain bénéce des travaux
eectués dans le cadre de ma thèse dans le chapitre 2.
Le chapitre 3 donne une vue d'ensemble des techniques existantes de découverte automatique des performances réseau, permettant de situer les travaux de cette thèse au sein
du paysage des travaux existants.
Les 3 chapitres suivants, regroupés dans la partie "Tomographie réseau multiples sources,
multiples destinations : modélisation, reconstruction et récupération du jeu de données initial" contiennent les apports essentiels de cette thèse et la résolution de la problématique.
6
Introduction
Le chapitre 4 traite du problème de la modélisation des performances du réseau, en
décrivant de manière approfondie les modèles existants et en introduisant les nouveaux
modèles développés dans le cadre de cette thèse.
Le chapitre 5 traite du problème de la reconstruction de représentation de réseau dans
les modèles dénis dans le chapitre 4 à partir d'un jeu de données initial.
Le chapitre 6 décrit de manière plus approfondie des méthodes de récupération d'un jeu
de données initial à partir de mesures de bout en bout du réseau, et introduit les méthodes
spéciques au modèle introduit au chapitre 4 que j'ai développé dans le cadre de cette
thèse.
La partie "Implémentation et validation" est dédiée aux expérimentations réelles, l'implémentation de l'outil permettant de réaliser ces expériences, et à la validation des diérents algorithmes et techniques développés dans le cadre de cette thèse.
Le chapitre 7 décrit l'outil développé dans le cadre de cette thèse, et met en lumière
les dicultés techniques liées au passage du monde de la théorie au monde réel pour les
méthodes et algorithmes développés dans les chapitres précédents.
Le chapitre 8 rend compte de mes diverses expérimentations tant sur une plate-forme
réelle que par simulation dans le but de valider les méthodes et algorithmes développés
pendant ma thèse.
Le chapitre 9 fait une synthèse des travaux eectués et présente un ensemble d'axes de
recherches restant à explorer dans le cadre de la tomographie multiples sources, multiples
destinations.
Enn, en annexe, gurent les diérents formats de chier XML permettant d'utiliser
l'outil ainsi que les nouvelles options ajoutées à l'outil open source udpmon. L'outil étant
développé sous licence EGEE (licence libre et open source ), la description de l'outil ainsi
que des diérents formats d'entrée/sortie permet à l'utilisateur désirant installer, utiliser
et modier cet outil de le faire.
7
Du gain apporté par la connaissance des
performances du réseau pour les grilles de
calcul
Avoir une connaissance des performances d'un réseau n'est pas toujours utile. En eet,
tirer un bénéce en terme de performances n'est possible que dans certaines conditions,
comme par exemple si il existe une dépendance des applications cibles aux données ou
encore si l'utilisation de protocoles rend possible des optimisations liées aux performances.
Une grille constituée de ressources très volatiles ne communiquant que très peu entre elles,
et n'impliquant que de faibles volumes de communications, utilisant des protocoles autorégulants comme TCP est un exemple de grille dont on peut dire intuitivement qu'elle ne
pourra tirer parti d'informations sur les performances du réseau.
A contrario, une grille impliquant des ressources peu volatiles regroupées en un "petit"
nombre de sites, reliées entre elles par un réseau assez stable, impliquant un grand nombre
de transferts de données massifs et qui utilise un ensemble de protocoles haute performance
qui sont paramétrables pour obtenir des performances optimales en fonction des capacités
du réseau sous-jacent est un exemple de grille pouvant tirer pleinement parti d'informations
sur les performances et la topologie du réseau.
Beaucoup de systèmes aux caractéristiques très hétérogènes sont souvent regroupés
derrière le terme de grille. Il convient donc, en préambule de cette thèse, de dénir les types
de grilles qui peuvent retirer un bénéce de l'extraction préliminaire de connaissances sur
les performances du réseau.
Dans ce chapitre, je situe donc plus précisément le domaine cible pour lequel cette
thèse a été réalisée. Il s'agit des grilles de calcul et plus spéciquement des grilles de calcul
institutionnelles. Nous donnons ici les caractéristiques principales des plates-formes cibles
pour lesquelles les travaux de cette thèse sont pertinents et de l'environnement logiciel dans
lequel s'insère notre travail. Notons que si l'outil développé in ne dans le cadre de cette
thèse est orienté vers le domaine circonscrit ci-après, l'utilisation des méthodes et outils
développés peut ne pas se limiter à celui-ci.
8
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
2.1
Les grilles de calcul
La première apparition du terme de grille (grid ) date de l'article de Ian Foster [72].
Le terme de grid est né de l'analogie avec la "grille de distribution de la puissance électrique" constituée du réseau électrique lui-même (câbles et équipements divers dédiés au
transport), de générateurs de tensions ainsi que de consommateurs naux. Dans une telle
grille la puissance est fournie de manière opaque à l'utilisateur, qui n'est plus capable de
discerner la provenance de l'énergie utilisée. L'analogie appliquée au calcul distribué est
assez intuitive : on cherche à fournir de manière dynamique et instantanée une puissance
dont la provenance n'est pas masquée mais sans incidence sur l'exécution de l'application
utilisatrice d'une telle plate-forme. Une telle démarche peut être considérée comme l'inverse (ou le complément) de celle de la virtualisation de ressources : quand la grille cherche
à rendre sans incidence la provenance de l'instance d'une ressource possédant certaines caractéristiques données, la virtualisation cherche à rendre sans incidence les caractéristiques
et particularités de l'instance de ressource considérée. Pour reprendre l'analogie électrique,
si une plate-forme de grille fournit une tension possédant des caractéristiques précises, la
virtualisation quant à elle joue le rôle d'adaptateur universel pour l'application/l'appareil
utilisant cette tension. Les grilles de calcul sont donc formées de 2 entités physiques principales, de deux entités logicielles et de trois acteurs principaux. Les deux entités physiques
sont :
Les ressources qui sont mises à disposition. Ces ressources peuvent être des ressources
de calcul (processeurs), des ressources permettant le stockage plus ou moins volatile
de données (espace mémoire, espace disque, système de stockage hiérarchique allant
de l'espace disque à l'écriture/lecture sur bande, stockage pérenne), ou encore de
ressources de communication (allocation d'une connexion avec une qualité de service
garantie entre un ou plusieurs sites).
Le réseau d'interconnexion permettant de mutualiser ces ressources.
Les deux entités logicielles comprennent quant à elles :
Le système de grille permettant le courtage, le déploiement, l'exécution et la mise
à disposition des utilisateurs des résultats des applications s'exécutant sur la plateforme.
Les applications qui jouent le rôle de consommateurs de ressources, qui doivent être
développées en fonction des paradigmes de programmation et outils mis à disposition
par le système de grille.
Enn, les 3 acteurs principaux sont :
Les fournisseurs de ressources mettant à disposition les diérentes ressources disponibles pour les consommateurs.
Les consommateurs de ces ressources, c'est-à-dire les applications.
9
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
L'opérateur de la grille, chargé de la maintenance du système de grille.
A l'ombre de l'analogie originelle une forêt de concepts, de paradigmes et d'outils diérents
est apparue au cours des dernières années. La section suivante eectue un passage en revue
qui ne se veut (et ne peut) pas être exhaustif mais tente d'être représentatif des principales
branches de l'arbre généalogique des systèmes de type grille. L'élagage de ces ramications
nous permettra de dégager un cadre précis dans lequel ont été développés les travaux
présentés dans cette thèse.
2.1.1 Les systèmes distribués de type grille
En premier lieu il convient de restreindre le périmètre sur lequel porte cette thèse. De
l'analogie précédemment citée, nous pouvons essayer de réduire à leur plus petit dénominateur commun les divers types de grille :
Les ressources de calcul sont un élément sans lesquel un système distribué ne peut
plus être considéré comme un système de type grille. En leur absence, on est face à
un système de stockage de données, comme par exemple tapestry [48], AlienFS [105],
Gnutella [108].
La distribution sur un réseau (possiblement) hétérogène des ressources mises à disposition qui diérencie un système de grille d'une plate-forme de type cluster où le
réseau est homogène.
Le courtier de ressources, permettant d'allouer des ressources aux utilisateurs, est caractéristique d'une grille, car c'est lui qui permet de rendre transparent pour l'utilisateur la localisation des ressources allouées, diérencie une grille d'un environnement
dédié à une application donnée, ou une plate-forme physique dédiée à une utilisation
"manuelle".
La mutualisation de ressources provenant d'organisations diverses, qui permet de
diérencier une grille d'une plate-forme de calcul distribuée hétérogène telle qu'un
système distribué de calcul constitué en volant des cycles provenant de postes de
travail au sein d'un même organisme.
Le référentiel commun de sécurité nécessaire pour la mutualisation de ressources, qui
s'oppose à la classique centralisation unilatérale de la sécurité, rendue possible dans le
cas d'un Application Service Provider (ASP (ASP)) par exemple, par l'appartenance
des ressources à un seul organisme.
Ce dénominateur commun en apparence plus précis laisse bien des degrés de liberté permettant de regrouper sous le terme de grille bien des systèmes distribués aux fonctionnalités
très diérentes. Les principaux exemples de ces degrés de liberté sont :
La durée de vie des ressources qui peut fortement varier en fonction de la manière
dont sont rendues disponibles celles-ci à la grille (vol de cycle, ressources dédiées à la
grille, ressources partagées entre les utilisateurs locaux de celles-ci et les utilisateurs
10
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
de la grille).
Le paradigme de programmation des applications qui dépend fortement de la virtualisation des ressources (mise à disposition de machines virtuelles telles que les JVM
de Java ou mise à disposition de ressources caractérisées par leur système d'exploitation et les outils et bibliothèques disponibles localement) mais aussi le paradigme
de communication utilisé (Message-Passing Interface à la MPICH [86] ou Madeleine
[46], Remote Method Invocation, appels à des Grid Services ...).
Le degré de virtualisation des ressources elle-mêmes.
Le système d'information dont dispose le courtier de ressources, et donc l'utilisateur
nal, pour caractériser ses besoins et décrire les ressources qu'il désire utiliser.
La sécurisation de l'exécution par le blocage des accès (ou non) aux ressources utilisées par une application pour les autres utilisateurs.
La sécurisation des communications.
La gestion des données pérennes sur la grille qui peut être absente ou comprendre
des fonctionnalités telles que la gestion de répliquats des données, la possibilité de
migrer les données vers des sites géographiques précis, le placement des exécutions
des travaux de manière à ce que ces exécutions soient proches des sites de stockages
des données utilisées, etc.
Les fonctionnalités de l'ordonnanceur qui peuvent beaucoup varier, et inclure réservation, exécutions simultanées sur un ensemble d'hôtes, etc...
Les fonctionnalités de niveau supérieur pour la gestion des applications, telles que
la mise à disposition d'un système de workow [20], des outils de visualisation en
temps réel des résultats obtenus, etc.
Le terme de grille désigne donc un ensemble hétéroclite de systèmes logiciels. Le travail
présenté ici porte sur la découverte de la topologie d'un réseau et des capacités qui lui sont
propres dans une grille institutionnelle ou grille haute performance. De telles grilles sont
le plus souvent caractérisables autant par leurs plates-formes que par les intergiciels qui
permettent de mettre à disposition leurs ressources.
Ces grilles sont formées par l'apport d'organismes ou d'institutions de ressources de
stockage et de calcul en nombre important, souvent localisées dans des centres de calcul.
Les ressources de calcul sont le plus souvent des noeuds de clusters ou des clusters entiers.
Le type de ressource de stockage de données peut varier, allant de la mise à disposition
de mémoire vive au stockage à long terme en passant par l'espace disque. De telles grilles
présentent souvent des ressources dont la durée de vie est longue et dont la disponibilité
est able. Ces ressources sont nombreuses (de l'ordre de la centaine, ou du millier) et sont
regroupées géographiquement en sites (de l'ordre de la dizaine à la centaine). Les sites sont
réliés entre eux par des réseaux ables et stables, dont le coeur est plus souvent un réseau
high bandwidth-delay, ou encore l'internet. Les caractéristiques de telles plates-formes de
11
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
grille sont donc :
1. Une volatilité des ressources faible.
2. Un dimensionnement des plates-formes important en terme de ressources.
3. Un réseau reliant les éléments de ces plates-formes comportant un coeur able et
haut débit.
La section 2.1.2 donne une liste (non exhaustive) de plates-formes de type grille institutionnelle, pour donner une idée du dimensionnement de celles-ci.
2.1.2 Les plates-formes de grilles institutionnelles
Les projets dédiés aux grilles sont souvent créés dans le but de former une plate-forme
de grande dimension pour l'exécution d'applications nécessitant des calculs intensifs. Les
grilles instutionnelles sont des grilles constituées par la mutualisation de ressources provenant de diérents organismes, souvent dédiés à des types d'applications ou des communautés d'utilisateurs ayant un certain nombre de besoins communs. Nous donnons ici quelques
exemples représentatifs des dimensionnements de ces plates-formes. Notons que la plupart
de ces projets n'ont pas uniquement pour but de fournir une plate-forme, mais aussi un
intergiciel pour gérer cette plate-forme. L'aspect logiciel est traité en section 2.1.3.
2.1.2.1 les plates-formes de grille nationales
e-Toile [116] Le projet RNTL (Réseau National des Technologies Logicielles) e-Toile est
historiquement le premier projet national français de grille de calcul (2001-2004). Le but
de ce projet était de mettre à disposition des chercheurs une plate-forme expérimentale.
Les applications lancées sur cette plate-forme allaient de la recherche protéïnique à la simulation de fusion de réacteur nucléaire. La plate-forme, hétérogène, comprenait 7 sites
géographiques, 10 noeuds (grappes de serveurs), 200 processeurs avec des systèmes d'exploitation hétérogènes eux aussi. L'interconnexion entre les noeuds était rendue possible
grâce au réseau très haut débit VTHD [39] de France Telecom qui possédait un coeur à 10
Gbit/s et permettait des accès à 1 ou 2 Gbit/s sur chaque site.
Grid'5000 [29] est un projet suivant chronologiquement e-Toile. Son but est lui aussi de
fournir une plate-forme expérimentale de grille, mais de plus grande capacité (en terme
de ressources CPU) que le projet e-Toile. Le projet avait pour objectif initial de rendre
disponible 5000 processeurs, au lieu des 200 d'e-Toile. La plate-forme comprend 9 sites
géographiques (soit 2 de plus qu'e-Toile), chacun comprenant un ou plusieurs clusters.
L'interconnexion entre les sites est réalisée via le réseau Renater ([31]). Ce réseau permet
un accès au site via des liens de capacité allant de 1 à 10 Gbit/s.
12
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Das-2 et Das-3 [8] sont des projets néerlandais. L'originalité de Das-2 était qu'il s'agis-
sait en fait d'une seule machine, créée par IBM, comprenant 200 processeurs répartis sur 5
sites géographiques. Les clusters étaient localement réliés entre eux par une interface Myrinet, l'interconnexion inter-site étant réalisée via Surfnet ([36]) l'équivalent néerlandais
du réseau Renater. Ce dernier réseau permet une connectivité inter-site ayant un débit
théorique variant de 1 à 10 Gbit/s. Das-3 reprend les mêmes sites que Das-2, pour cette
fois mettre à disposition plus de 400 processeurs interconnectés par un nouveau réseau,
Starplane ([33]), qui permet de créer des réseaux virtuels privés pour les applications de
type grille.
INFN Grid [19] est la plate-forme italienne de grille, appendice cisalpin du projet EGEE.
La plate-forme contient 30 sites reliés entre eux par GARR [14], l'équivalent italien de
Renater. Ce réseau contient majoritairement des liens à 2,4 Gbits/s, et d'autres liens possiblement redondants dont les capacités varient de 10 Gbit/s à seulement 34 MBits/s pour
les moins puissants. Les sites fournissent plus de 1700 CPUs (très) hétèrogènes.
NareGi Project [23] est le plus grand projet japonais de grille. Il compte 11 sites, pour
3000 CPUs et une puissance d'environ 17 teraops, dont 15 sont fournis par 2 centres de
calculs. Les sites sont reliés entre eux par le réseau Super SINET [35]. Son réseau dorsal à 10
Gbit/s interconnecte une quinzaine d'universités et centres de recherche qui s'y raccordent
par des liens individuels à 1 Gbit/s.
TeraGrid [37] est un des projets américains majeurs de plate-forme de grille. Il inter-
connecte 9 sites répartis géographiquement sur le continent américain par un réseau dédié
dont la bande passante varie entre 10 et 30 Gbits/s. Les 9 sites fournissent un accès à
quelques-uns des plus puissants clusters mondiaux (11 machines du top 500 font partie de
cette grille) pour une puissance de crête de plus de 250 teraops ainsi que d'importants
espaces de stockage de données (30 pétabytes). Il est intéressant de noter que même si les
ressources de calcul mises à disposition sont beaucoup plus importantes que celles mises
à disposition dans les exemples précédents, le nombre de sites inclus dans le projet reste
limité.
2.1.2.2 les plates-formes de grille internationales
La création de plates-formes internationales, constituées soit par le rapprochement de
plates-formes et de logiciels de grilles existantes (Glue [17], DataTag [2]), soit par la mise
à disposition de ressources ad hoc est devenu nécessaire par l'émergence d'applications
ayant des besoins en puissance de calcul sans précédent, comme par exemple le LHC [21]
et le traitement des données résultant des expériences menées à partir de 2008 sur cette
infrastructure. Une autre raison expliquant la mutualisation des ressources est la faible ca13
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
pacité d'investissement dans certaines régions du monde dûe aux dimensions économiques
modestes de certains états. On se retrouve donc confronté à deux types de projets internationaux, les uns agrégeant des ressources limitées distribuées à travers plusieurs pays, les
autres liant des ressources importantes dans une recherche de puissance maximale.
APGrid [5] est un projet de grille regroupant 19 pays du pacique et de l'Asie. Les 49
organismes regroupés dans ce projet mettent en commun plus de 1500 CPUs très dispersées
géographiquement. Les ressources sont reliées par le réseau APAN (Asia-Pacic Advanced
Network), dont la bande passante varie de quelques Mbits/s à 155 MBits/s.
EGEE II [11] est un des principaux projets de plate-forme de grille nancés par la com-
munauté européenne. Il est aussi certainement l'un des plus anciens et des plus pérennes,
puisque EGEE II est la suite du projet EGEE, lui-même la suite du projet DataGrid,
et que ces projets seront suivis par le projet EGEE III. La plate-forme actuelle regroupe
plus de 240 institutions réparties dans 45 pays mettant en commun plus de 36 000 CPUs
et des ressources de stockage de l'ordre de 5 Petabytes de disque, en plus de nombreuses
ressources de stockage sur bande. L'interconnexion est faite par l'intermédiaire du réseau
GEANT [15], dont les liens ont une capacité allant jusqu'à 10 GBits/s, ainsi que par les
réseaux nationaux auxquels sont reliées les diérentes ressources mises à disposition.
Ce rapide portrait de quelques plates-formes représentatives de celles utilisées de nos
jours permet de mieux entrevoir les topologies classiques de celles-ci. Si le paradigme de
grille laisse spéculer qu'un grand nombre de sites géographiques seront impliqués dans une
plate-forme, on s'apercoit qu'il s'agit, généralement, de plates-formes regroupant un petit
nombre (entre 5 et 150) de sites géographiques, regroupant eux-mêmes une petite quantité
de clusters reliés par un LAN ou un MAN, souvent haut débit, clusters présentants eux un
nombre important de ressources uniformes.
2.1.3 Les intergiciels de grilles dédiés aux grilles institutionnelles
Depuis l'apparition des grilles et plus précisement des grilles institutionnelles, dont
l'émergence a été rendue possible par le besoin de mutualiser des ressources de calcul pour
obtenir une puissance de calcul plus importante pour de plus brèves périodes, l'on a assisté à
une lente convergence des principales fonctionnalités proposées par les intergiciels de grilles
ainsi qu'à une spécication plus nette des composants nécessaires au bon fonctionnement
d'une telle plate-forme. La formalisation des échanges entre les diérents composants a
poussé à l'adoption massive de la norme WSRF (WSRF) (Web Service Resource Framework
[40]) en tant qu'interface pour les diérents composants du système, appelés dans ce cas
Grid Services. Un Grid Service n'est en fait qu'un composant logiciel classique auquel on
a adjoint une interface compatible WSRF, i.e. une interface de type web service à laquelle
14
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
on a ajouté des extensions concernant la durée de vie du composant. Ces changements
mineurs dans le fond, puisqu'il ne s'agit pour l'essentiel que de changements d'interface,
ont eu peu d'impact sur les principaux composants logiciels présents dans ce type de grille.
Ces principaux composants sont :
Le système d'organisation virtuelle et de sécurité. Le concept d'organisation virtuelle
(Virtual Organization ou VO (VO)) est utilisé par quasiment tous les projets de grille
institutionnelle. L'idée est de dénir des communautés d'utilisateurs partageant les
mêmes centres d'intérêt, les mêmes besoins et outils en dehors de leurs organisations
d'origine. Le système d'organisation virtuelle est la clef de voûte de la sécurité d'une
grille.
L'interface générique/standardisée de soumission locale de travaux pour une ressource de type batch/scheduler. Cette surcouche permet d'avoir une interface unique
de soumission quel que soit le type de batch scheduler coordonnant l'accès aux ressources de manière locale dans le cas d'un cluster (i.e. openPBS [25], SGE [34], BQS
[22] ...). Cette couche permet une certaine virtualisation de l'accès aux ressources.
Elle est fournie par le GRAM [18] de Globus, par SGE (dans une certaine mesure)
...
Le courtier de ressources. Il s'agit par exemple du Scheduler de Condor [55], du
Ressource Broker de DataGrid, du Match Maker Service de Dirac [10]. Son rôle est
de fournir un mécanisme d'ordonnancement des diérentes tâches soumises non plus
au niveau local mais au niveau de l'ensemble de la grille.
Le système d'information sur les ressources permettant au courtier de ressources
de localiser et connaître l'état et les caractéristiques des ressources mutualisées sur
la plate-forme. Cette fonction est assurée par le WebMDS de Globus [41], le SIC
d'e-Toile [116], le R-GMA d'EGEE [30]. Les systèmes de suivi de l'exécution des applications sur la plate-forme sont généralement jumelés aux systèmes d'informations
sur les ressources.
Le système d'indexation et de stockage des données. Ce système permet le stockage
des données, la gestion d'éventuels répliquats, la distribution de volumes de données
importants sur les diérents sites géographiques pour permettre un stockage able
et à long terme de ceux-ci.
Un système de déploiement d'applications. Ce système permet l'acheminement de
l'application à exécuter vers les diérentes ressources sur lesquelles celle-ci s'exécutera. Cette problématique en apparence fort simple, peut devenir relativement
complexe lorsque (par exemple) on a besoin de garantir la protection du code en
lui-même, lorsque le code est de taille importante ou encore lorsque le déploiement
peut se faire de manière dynamique (c'est-à-dire en utilisant de nouvelles ressources
pendant la durée de vie de l'application) [94].
15
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Les outils de développement et d'exécution d'applications. Cette dernière catégorie
comprend les outils (souvent pré-déployés) permettant l'utilisation de paradigmes de
programmation comme la mémoire partagée, le parallélisme par passage de messages,
les outils de transfert haut débit sécurisé, en un mot l'ensemble des composants
auxquels fera appel une application, soit en tant que bibliothèque, soit en tant que
service prédéployé. Notons que la place du système d'indexation et de stockage de
données est ambigue, car il peut être accédé aussi bien par l'application en elle-même
que par les fournisseurs de ressources.
2.2
Le pro jet EGEE
Le projet EGEE (Enabling Grids for E-sciencE) [12] regroupe plus de 240 partenaires
scientiques et industriels dans 45 pays dans le but de fournir une infrastructure de grille
utilisable 24 heures sur 24 par la communauté scientique.
Fondé à l'origine autour des besoins de deux domaines applicatifs, la physique des
hautes énergies et les sciences de la vie, le projet a progressivement intégré de nouvelles
communautés scientiques telles que celle des géologues et celle des chimistes. Le dimensionnement de la plate-forme cible est en eet pensé pour des applications dont les calculs
sont intensifs et qui sont fortement dépendantes des données. Le projet EGEE met à
disposition simultanément une quantité de ressources très importante, rendant possible
l'exécution de certaines applications jugées trop coûteuses dans un contexte de calcul parallèle classique. La plate-forme EGEE met à disposition plus de 36.000 CPU utilisables
24h/24, plus 5 Pétabytes de stockage sur disque et des ressources de stockage pérennes. La
plate-forme de production héberge l'exécution simultanée de 30 000 travaux en moyenne.
2.2.1 Vue d'ensemble
gLite (gLite) est l'intergiciel de grille développé au sein du projet EGEE. C'est une
nouvelle mouture du logiciel produit dans le cadre du projet qui le précédait, DataGrid [9].
L'architecture orientée service de gLite a été largement inuencée par le projet LCG (projet
dédié au développement d'applications de type grille pour la physique des hautes énergies)
et surtout les spécications dénies par le groupe de travail Architectural Roadmap for
Distributed Analysis (ARDA) [4]). La gure 2.1 donne une vue d'ensemble de l'architecture
du projet, et regroupe les services en 5 groupes thématiques.
Le déploiement de chaque service peut se faire, au choix, par VO ou pour l'ensemble
du projet.
16
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Services d’acces
Services d’acces
a la grille
API
Services d’information & de
monitoring
Service de securite
Autorisations
Information & Monitoring
Authentification
Job Monitoring
Auditing
Service de gestion des donnees
Metadata Catalog
File & replica Catalog
Accouting
Site proxy
Services de gestion des travaux
Job Provenance
Package Manager
Data Management
Computing Element
Storage Element
Workload Management
Figure 2.1. Les principaux services de gLite
Les services de sécurité comprennent les services d'authentication, d'autorisation
et d'audit et permettent l'identication des diérentes entités de la grille (utilisateurs et
ressources), ainsi que l'admission ou l'interdiction des accès aux services et aux ressources.
Enn, le tracage des diérentes actions exécutées permet éventuellement une analyse post
mortem des exécutions.
Les Services d'accès à la grille et l'API proposent un cadre commun par lequel
l'utilisateur peut accéder à la grille. Cela permet de connaître l'état des services de grille
disponibles pour l'utilisateur, ainsi que celui des éventuels travaux que l'utilisateur est en
train d'exécuter sur la plate-forme.
Les services d'information et de monitoring fournissent un mécanisme pour publier
et rendre disponible les informations et les utiliser à des ns de monitoring. Le service
d'information et de monitoring peut être directement utilisé pour publier les informations
concernant les ressources de la grille par exemple. Des services plus spéciques, comme le
Job Monitoring Service, sont basés sur ce service.
Les services de gestion des travaux regroupent des services dédiés à l'exécution ou
à la gestion des travaux. Le Computing Element est un service mettant à disposition une
ressource de calcul élémentaire, le service de courtage permet d'allouer des ressources en
vue d'exécuter une application sur la plate-forme, l'accounting permet le traçage et la
facturation des travaux eectués, le service de gestion des paquetages permet les liaisons
vers les bibliothèques nécessaires à l'exécution d'un travail.
17
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Les services de gestion des données Ces services comprennent :
Les Storage Element (ressources de stockage).
Les services d'indexation (service de recherche des données et de gestion des données)
permettant la mise en place d'un espace de nom logique commun à toute la grille.
Les services de gestion de la localisation et du stockage des données, qui permettent
les migrations et le stockage des données.
Les services fournissent la possibilité de grouper les chiers dans des répertoires virtuels.
Plusieurs repliquats (copies gérées) d'un chier utilisateur peuvent être stockés dans des
emplacements physiques diérents. Le service d'ordonnancement des données fournit des
interfaces plus ou moins complexes pour que le placement des données dans l'environnement
distribué puisse être fait par l'utilisateur. De telles requêtes de transferts sont soumises au
service de transfert des chiers. Le File Transfer Service (FTS (FTS)) pour lequel l'outil
réalisé dans le cadre de cette thèse a été développé, est responsable de ces transferts.
2.2.2 Le File Transfer Service
EGEE dispose d'un ensemble d'outils pour la gestion des données. Un de ces outils
est le File Transfer Service (FTS [13]), développé dans le cadre du projet gLite [16]. Ce
service a pour fonction de permettre une copie able d'ensembles de chiers persistants
d'un site vers un autre, dans le cadre de la gestion de repliquats de chiers par exemple.
Il utilise un système de copie par un tiers (3rd party copy ) (reposant par exemple sur
gridftp [43]) pour y parvenir. Ce composant de l'intergiciel présente une interface web
service pour les diérents clients qui souhaitent l'utiliser. Ces derniers peuvent soumettre
grâce à cette interface leurs requêtes de copies de chiers d'un site vers un autre. Une fois la
requête soumise, elle est ajoutée à la base de données de requêtes de transferts (Transfer Job
Database) contenant toutes les requêtes de transferts. Régulièrement, les agents de transfert
vérient si de nouvelles requêtes ont été ajoutées dans cette base. Chaque agent de transfert
ordonnance ses transferts suivant les politiques de la Virtual Organization [72] auxquels les
transferts appartiennent, tout en essayant d'optimiser l'utilisation du réseau (voir gure 2.2
pour une vue d'ensemble de l'architecture du FTS). Le FTS possède une représentation
interne du réseau lui permettant d'optimiser l'ordonnancement des transferts. Elle est
constituée d'un ensemble de channels (canaux), qui sont des liens unidirectionnels entre
deux hôtes. Seuls ces canaux sont utilisés pour transférer des données. Ces canaux étant des
liens logiques, les interactions entre les ux les traversant du fait de la topologie physique
doivent être connus par le FTS pour optimiser les transferts simultanés sur les diérents
canaux.
La répartition géographique mondiale des diérents sites implique qu'un grand nombre
de canaux sont principalement constitués de liens réseau haute performance parcourant
une grande distance, ainsi que de goulots d'étranglement locaux limitant la bande pas18
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
User application
Transfer request
File
Transfer
Service
Store
request
Transfer
Agent
Ask for transfer
Retrieve
new
requests
Job
Transfer
Database
Data
Storage
System
performing transfer
Data
Storage
System
Figure 2.2. vue d'ensemble du File Transfer Service
sante atteignable. Les channels présentent donc généralement des Round Trip Time (temps
nécessaire pour qu'un paquet eectue un aller/retour entre la source du canal et sa destination) importants. En présence de ce type de liens, l'utilisation de protocole de TCP dont le
débit est ajusté à chaque aller/retour de paquet est assez inecace. On utilise donc le plus
souvent des versions modiées de tels protocoles, comme nous le verrons dans la section
2.3. Or, ces protocoles sont le plus souvent paramétrables pour obtenir des performances
optimales en fonction des capacités du réseau sous-jacent.
Pour ce type de service, il est donc nécessaire d'avoir une vision à la fois réaliste et
adéquate du réseau et de ses capacités si l'on veut optimiser les temps de transferts. Ce
besoin conduit tout naturellement au developpement de modèles représentant le réseau en
terme de performances et de partage de ces performances en cas d'exécutions simultanées
de transferts. L'absence de connaissance de la topologie dûe au déploiement des ressources
en divers lieux géographiques gérés par des organisations diérentes, ainsi que l'absence
de remontées de traces de l'utilisation des ressources réseau déployées pour des raisons de
sécurité, implique l'utilisation de techniques de découverte de performances et de topologie
se basant sur des observations de bout en bout. Ces techniques, appelées techniques de tomographie réseau, sont le sujet de la section 3 ainsi que le sujet de ma thèse. Ces techniques
19
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
permettent d'extraire des connaissances sur la topologie et les performances du réseau qui
sont exploitables quand on utilise des protocoles spéciques. Les protocoles utilisés sont le
sujet de la section suivante.
2.3
Protocoles
Comme nous l'avons évoqué précédemment, les outils de transferts de chiers dédiés
aux grilles tels que le FTS font le plus souvent appel à des protocoles spéciques tendant
à saturer les liens réseau, comme par exemple gridFTP [43] qui permet de choisir entre
plusieurs protocoles saturants. Si beaucoup de travaux présentent des protocoles basés sur
UDP (UDP), l'immense majorité de ces protocoles saturants utilisés en pratique sont basés
sur TCP, et non sur UDP : en eet, l'utilisation de protocoles saturants basés sur UDP
sur un réseau partagé peut rendre impossibles les communications d'autres applications
coexistantes sur la grille. Après avoir donné un rapide rappel de quelques caractéristiques
de TCP, nous donnons ici les principales modications eectuées sur TCP qui sont couramment utilisées dans les transferts de données massifs pour les grilles.
2.3.1 Quelques mots sur TCP
L'impact de la présence d'une latence importante est grand vis-à-vis d'un protocole de
type TCP. En eet, la bande passante cpBw d'un ux TCP en régime permanent circulant le
long du chemin p est liée à la latence (par l'intermédiaire du Round Trip Time, ou RoundTrip Time (RTT), qui peut être assimilé à deux fois la latence) par la formule classique
dénie dans [101], dite équation de Mathis :
cpBw ≤
M SS ∗ C
√
RT T ∗ loss
(2.1)
où C est un facteur constant dépendant de l'implémentation de TCP utilisée, M SS la
taille de segment maximale envoyée, qui est constante pour une exécution d'un envoi TCP,
et loss la probabilité de perte de paquets sur la liaison point-à-point considérée. Notons
que loss dépend aussi bien de la qualité du lien physique réseau considéré que des autres
ux circulant sur ce lien (les pertes de paquets peuvent survenir par exemple lors de la
saturation de buers sur les routeurs) ; de plus, la répartition de ces pertes de paquets
dépend aussi, dans sa distribution sur l'ensemble des ux circulant sur une liaison réseau
donnée, des politiques de gestion de queues des routeurs déployés le long de cette liaison.
Il est trivial de déduire de cette équation que l'augmentation du RT T va entraîner une
diminution de la bande passante maximale atteignable. De plus, de part le fonctionnement
20
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
AIMD (AIMD) (Additional Increase Multiplicative Descrease ) de TCP et son fonctionnement d'auto-régulation basé sur la réception des acknowledgment (ACK (ACK)) par
l'émetteur du ux, un ux de RTT plus long que les autres ux concurrents verra sa part
de bande passante diminuer en faveur d'autres ux au RTT plus court [75] (l'augmentation
de la taille de la fenêtre de congestion étant eectuée à la réception des ACK des paquets
déjà transmis). De ce fait, les diérentes solutions proposées visent à modier les valeurs
d'un des paramètres de l'équation 2.1, que ce soit le M SS (en fait cette variation est
faite sur le Maximum Transfer Unit, ouMTU (MTU), qui est lié au M SS par la relation
M SS + Sheader = M T U , où Sheader est la taille du header TCP) (2.3.2.1), C (2.3.2.3),
le RT T dans certains cas (2.3.2.4), ou encore, et c'est la solution la plus souvent utilisée,
multiplier les ux pour additionner les bandes passantes maximales disponibles (2.3.2.2).
Du comportement d'auto-régulation de TCP selon la vitesse d'arrivée des ACK des
paquets transmis et d'un RTT important, découle un second problème qui provient de
l'algorithme de slow start de TCP. Les ACK des paquets étant transmis sur une ligne
ayant une latence forte, la vitesse d'accroissement de la taille de la fenêtre de congestion
est de fait, plus lente que celle observée sur une liaison avec une latence plus faible, surtout
dans les phases d'évitement de congestion (Congestion Avoidance ). Or, le principe du
slow start standard de TCP est de doubler la taille de la fenêtre de congestion à chaque
réception d'ACK, jusqu'à détection de la congestion. A la détection de la congestion, la
taille de la fenêtre de congestion est divisée par 2 (pour TCP dans sa version Reno ),
puis, pendant la phase de congestion, l'accroissement de la taille de congestion devient
plus lente, phénomène amplié par un grand RTT [62]. Le problème est l'entrée en phase
d'évitement de congestion, trop précoce, et surtout avec une fenêtre de congestion de petite
taille. La tendance est à donner au protocole TCP une agressivité plus grande lors de la
phase de congestion et de limiter la phase de slow start. Des études [110] ont été menées
parallèlement à celles sur l'augmentation de l'utilisation de la bande passante en régime
permanent pour les réseaux de type high bandwidth-delay, et sont souvent couplées les unes
aux autres [69].
Cette section traite des diérents protocoles TCP développés pour permettre d'atteindre une grande bande passante sur des réseaux high bandwidth-delay. La classication
introduite ici découle des comportements des diérents protocoles en régime permanent
(phase d'évitement de congestion), et des variables modiés dans l'équation 2.1 ; d'aucun
trouveront d'autres classications pour les divers protocoles évoqués ici suivant la perspective des performances réseaux qui les concernent. Notons que cette classication permet
de dénir des classes de protocoles pouvant être utilisés conjointement sur un même ux
d'information.
21
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
2.3.2 Améliorations de TCP
2.3.2.1 Modication de la taille maximale de segment
La taille de la fenêtre de congestion TCP est un multiple du MSS (MSS) et le mécanisme
d'une transmission TCP en phase de slow start comme en régime permanent est exprimé
par un algorithme basé sur cette unité. Une simple observation de l'équation 2.1 permet
de mesurer l'eet de l'augmentation de ce facteur sur la bande passante utilisée.
La taille de segment est en eet paramétrable dans une certaine limite pour TCP. La
taille standard du MTU est de 1500 octets. Cette taille provient, historiquement, du taux
d'erreur de la couche Ethernet lors de la transmission de paquets sur des liens physiques
anciens ; elle représentait un bon compromis entre la vitesse de transmission et le nombre
de paquets transmis erronnés. Sur des réseaux plus modernes, on peut raisonnablement
augmenter le MTU pour atteindre les 9000 octets, le taux d'erreurs lors des transmissions
étant plus faible. Hors du simple aspect réseau, cette méthode permet de diminuer la
charge CPU induite par la gestion de paquets plus nombreux lors de l'utilisation de MTU
classiques.
Cette méthode est souvent appelée jumbo frame. Si, analytiquement comme expérimentalement, elle obtient de bons résultats [68], elle est malheureusement limitée dans son
application. Le principal handicap de cette méthode est que les équipements réseaux ne
supportent pas tous les jumbo frame, que ce soit logiciellement (ils ne sont pas congurés
pour le faire) soit physiquement, ce qui limite leur usage. Un autre problème lié à l'utilisation des jumbo frame est l'accentuation du phénomène de burst. Un burst est un envoi
massif dans une très courte période d'un grand nombre de données. Il arrive typiquement
quand une application génèrant un grand volume d'information à envoyer partage le temps
CPU avec d'autres applications : les envois s'eectuent par salves de plusieurs paquets simultanément, les ACK étant reçus de manière asynchrone par la carte réseau. Cet envoi
massif augmente les risque de congestion tant au niveau des routeurs le long de la liaison
réseau que du récepteur du ux de données. Cet eet est tout naturellement amplié par
l'usage d'un MSS important.
2.3.2.2 TCP parallèle
La méthode la plus utilisée pour atteindre un débit important est l'utilisation de plusieurs sockets TCP parallèles. L'envoyeur d'un ux TCP distribue ses données sur les
diérentes sockets ouvertes vers le récepteur. Cette méthode est appelée streaming TCP.
Les premières versions de gridFTP ([43], [90], [95]) étaient basées sur cette méthode, qui est
toujours la méthode de transmission par défaut de cet outil. Cette méthode est par ailleurs
induite par le protocole HTTP (HTTP) sans connexion persistante [47] (une connexion
TCP est ouverte pour chaque objet présent sur une page entre le serveur et le client),
et est appliquée aux réseaux satellitaires [44], ceux-ci exhibant des propriétés proches de
22
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
celles de l'architecture que traite le présent document, c'est-à-dire un fort RTT et une
bande passante importante.
Le comportement en régime permanent de ce type de protocole vis-à-vis de la bande
passante sur un chemin p peut être décrit par l'équation suivante [76] :
cpBwagg
n
M SS ∗ C X 1
√
≤
RT T
lossi
i=1
(2.2)
où cpBwagg est la bande passante agrégée des n ux parallèles et lossi la probabilité de
pertes de paquets pour chacun des ux. En considérant des conditions idéales (bande
passante mise à disposition par le lien physique considéré et taille des queues de routeurs
le long de cette liaison innie, délai induit par un routeur pour réémettre un paquet xe
quelle que soit la longueur de la queue, etc) on admet un loss commun, et l'on peut réécrire
l'équation 2.2 comme suit :
cpBwagg ≤
M SS ∗ C ∗ n
√
RT T ∗ loss
(2.3)
Cette formule pour abstraite qu'elle soit reète l'esprit de cette méthode : multiplier les ux TCP pour additionner leurs performances en terme de bande passante. Bien
sûr, le nombre de ux augmentant, la congestion entre les diérents ux émis augmente
en conséquence, et rapidement, la bande passante utilisée diminue puisque loss augmente.
Dans l'optique d'obtenir les meilleures performances en terme de bande passante, il convient
donc d'accorder le plus grand soin au choix du nombre de connexions TCP ouvertes (n).
Ce choix est fonction de la bande passante atteignable point à point entre l'émetteur du
ux et le récepteur de celui-ci, entraînant une dépendance forte aux ux concurrents le
long de la liaison point à point dans le choix de n.
Pour illustrer le comportement de sockets parallèles, comparons le comportement de
deux transferts : n sockets TCP Reno ouvertes pour un transfert parallèle pour le premier,
et un transfert via une pile TCP non-parallèle AIMD [76]. Notons W indwagg ,t la fenêtre de
congestion (exprimée en M SS ) agrégée des n sockets à un instant t, W indwi ,t celle d'une
socket TCP i appartenant à la transmission parallèle, W indwT CP ,t celle du ux TCP, et
enn tp l'instant lié à la détection de la perte d'un paquet dans un temps discret. Supposons
que les pertes soient uniformément réparti, et qu'il n'y ait aucun phénomène de congestion
lié au n sockets TCP. Lors de la perte d'un paquet, la transmission TCP Reno diminuera
sa fenêtre de congestion de moitié, i.e. :
W indwT CP ,tp =
W indwT CP ,tp −1
2
(2.4)
De même, la fenêtre de congestion du ux j appartenant aux n sockets diminuera de moitié.
23
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Par contre, W indwagg ,t sera égale à :
W indwagg ,tp = W indwagg ,tp −1 −
W indwj ,tp −1
2
(2.5)
En considérant les n fenêtres de congestion égales, le facteur de décroissance de la fenêtre de
1
congestion agrégée des n ux est de 2∗n−1
2∗n , au lieu de 2 dans le cas d'une seule transmission
TCP. Lors d'une perte de paquet, un ux TCP parallèle libère moins de bande passante
qu'un ux TCP traditionnel.
En ce qui concerne la phase d'évitement de congestion, le comportement plus agressif
des TCP parallèles peut être considéré comme similaire à un ux TCP dont le facteur
additionel lors de l'accroissement de la fenêtre de congestion est supérieur à un M SS .
En eet, si l'on considère que les ACK sont reçus de manière synchrone par tous les ux,
l'accroissement de W indwagg ,t sera de n ∗ M SS à chaque RTT au lieu d'un M SS pour un
ux TCP Reno.
Ce sont les limitations même de cette approche qui font l'attrait de cette méthode : son
comportement très aggressif implique de fait un manque de respect de l'équité, un risque
de congestion plus fort, un coût en terme de CPU dû au maintien des n connexions TCP
ouvertes, ainsi que de la distribution des données à envoyer plus important que celui induit
par une simple connexion TCP, même si ce dernier problème reste limité [53].
Pour réduire les eets indésirables de manque d'équité de cette solution, certains réduisent de manière virtuelle le RTT des n connexions parallèles ouvertes [75], [76], de
manière à en diminuer l'agressivité ; la section 2.3.2.4 est consacrée à ce type de modication de TCP.
2.3.2.3 Augmentation du facteur C
q
Le facteur C de l'équation de Mathis (2.1) est égal dans le cas de TCP Reno à 32 .
Dans le calcul de Mathis, cette valeur provient de l'accroissement puis de la baisse de la
bande passante utilisée dans un comportement en dent de scie classique de TCP. C , fondamentalement, est le reet des facteurs d'accroissement et de baisse dans le fonctionnement
AIMD de TCP. Cette section est consacrée aux protocoles proposés pour les réseaux high
bandwidth-delay jouant sur le facteur C , i.e. les protocoles modiant ces facteurs d'accroissement et de baisse.
De nombreux protocoles ([93],[88],[69] par exemple ; des évaluations concurrentes de
plus de protocoles du même type ont été faites dans [98],[53]) ont été développés dans ce
sens, en jouant sur les 3 facteurs dénis par les équations suivantes reprenant la notation
précedemment dénie dans la section 2.3.2.2 [53] :
Réception d'ACK lors de la phase de Slow start :
W indw,tACK = W indw,tACK −1 + c
(2.6)
24
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
Réception d'ACK lors de la phase d'évitement de congestion :
W indw,tACK = W indw,tACK −1 +
a
W indw,tACK −1
(2.7)
Détection de perte de paquets lors de la phase d'évitement de congestion :
W indw,tLoss = W indw,tLoss −1 − b ∗ W indw,tLoss −1
(2.8)
Dans le cas de TCP Reno, on a : a = 1, b = 21 et c = 1. Cette section étant consacrée
aux modications sur le facteur C , nous n'aborderons ici que les modications faites sur
a et b. Souvent, ces modications sont faites sur les deux facteurs de manière conjointe.
Elles peuvent être associées à un seuil dénissant un type de fonctionnement plus agressif
pour les ux TCP lors de l'utilisation de grandes fenêtres de congestions : HighSpeed TCP
([69]) par exemple, utilise à partir d'un certain seuil une valeur de a qui n'est plus xe,
mais appartient à une table de valeurs prédéterminées ; H-TCP utilise quant à lui un
algorithme dépendant d'indices de congestion pour déterminer les valeur de a au-dessus du
seuil. Scalable TCP exprime a comme une fonction de W indw,tACK −1 , a(W indw ) adoptant
un comportement exponentiel ; la valeur de b est quant à elle de 81 au lieu de 12 [88]. Ces
modications ont pour objet de rendre TCP plus agressif vis-à-vis de l'utilisation de la
bande passante.
D'autres protocoles visent à faire décroître cette agressivité, pour deux raisons principales : (i) le respect de l'équité lors de l'utilisation de plusieurs sockets TCP parallèles, (ii)
lors de transfert long de chier, adopter un comportement assimilable à celui d'un ux de
basse priorité (low priority ). HSTCP-LP [93] par exemple combine l'agressivité de HighSpeed TCP à un facteur b fort, de manière à laisser la priorité aux autres ux concurrents.
Les comportements de ces diérents ux ont été profondément évalués, en jouant sur les
facteurs de distance, de ux concurrents et en mesurant le respect de l'équité aché par
chacun, par rapport à d'autres ux concurrents utilisant ces nouveaux protocoles dans
[53]. Les diérentes implémentations sont sujettes à des comportements diérents suivant
la distance et les ux concurrents, laissant entendre que l'utilisation d'une seule pile TCP
pour les diérents cas d'utilisation possibles ne soit pas la meilleure des solutions. De plus,
l'étude du comportement de certaines de ces solutions vis-à-vis d'une bande passante disponible variable (comme cela peut être le cas pour des réseaux orant de la qualité de service
[51]) montre que l'ecacité de ces piles TCP peut varier suivant les environnements sur
lesquels elles sont appliquées [98].
25
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
2.3.2.4 Mise en oeuvre d'un RT T virtuel
L'idée de la mise en place d'un RT T virtuel est utilisée dans le cas qui nous intéresse
pour diminuer l'agressivité d'un ux TCP parallèle [75]. Si conceptuellement l'idée de ralentir l'augmentation de la taille de la fenêtre de congestion en simulant un RT T plus
fort pour réduire l'agressivité de sockets parallèles est intéressante, elle est dans l'implémentation qui est proposée dans [75] strictement égale à celle de modier le facteur a de
l'équation 2.7.
Par contre, elle met en lumière dans ce cas d'utilisation la diculté de pouvoir mettre
en place un système d'équité pour le cas de n sockets parallèles : la modication de a
choisie par les auteurs pour respecter l'équité est fonction de n et des capacités de la
liaison physique réseau utilisée pour l'expérience.
2.3.2.5 Modication autour de loss
Les techniques de gestion de queues de routeurs sont traditionnellement soit basées sur
le rejet du dernier message arrivant (on parle de drop tail ) soit sur une gestion dite RED
(RED) (Random Early Detection ). Ce dernier algorithme rejette des messages quand la
taille totale des messages stockés par la queue à sa disposition dépasse un certain seuil en
eectuant un choix sur les ux entrant par un tirage au sort d'un de ceux déjà présents
dans sa queue ; on parle alors d'AQM (AQM) (Active Queue Management ), car le routeur
maintient une connaissance de son propre état. Les politiques d'AQM permettent aux
routeurs de transmettre une indication sur leurs taux de congestion, ce qui permet de
réduire les éventuels rejets de paquets, et donc, loss, si la version de TCP utilisée par un
ux prend en compte les informations transmises par les routeurs, en réduisant les paquets
en circulation le long de la liaison point-à-point considérée. De telles modications sur le
protocole HSTCP [69] ont été étudiées dans [85] : des routeurs RED passent par le biais
d'un champ du header TCP pour prévenir l'émetteur d'une possible future congestion (on
parle d'ECN (ECN) (Early Congestion Notication )), et celui-ci gèle l'augmentation de la
taille de sa fenêtre de congestion jusqu'à une perte de paquets eective, ou l'arrêt de l'envoi
d'ECN. Malheureusement, les routeurs capables d'héberger des AQM sont moins déployés
que les routeurs classiques : de fait, des solutions basées sur des propriétés de ceux-ci
ne peuvent être généralisables sur une grille par nature hétérogène dans son équipement
réseau.
Ce rapide portrait des protocoles utilisés dans le domaine des grilles pour obtenir des
débits intéressants lors des transferts montre que la majeure partie des techniques reposent
sur l'hypothèse qu'accentuer l'aggressivité des ux TCP permet d'obtenir de meilleures
performances. De plus, la technique la plus utilisée est en pratique le streaming TCP.
Or, le choix optimal de n pour ce genre de techniques dépend de la connaissance que
l'on a de la capacité du lien considéré ainsi que de la bande passante disponible. Pour un
26
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
n trop grand, les performances de ce type de protocole vont se dégrader naturellement,
même en l'absence de trac interférent. Le problème apparaît encore plus nettement si l'on
est en présence de trac interférent. Il convient donc, pour utiliser de tels protocoles de
manière ecace, de posséder une connaissance des performances du réseau, mais aussi de
sa topologie, pour paramétrer ecacement les diérents ux et les ordonner de manière à
maximiser l'utilisation de la bande passante tout en respectant les priorités de chacun de
ces ux.
2.4
Synthèse
Dans ce chapitre, nous avons donné les principales caractéristiques des applications
qui peuvent bénécier de l'extraction de connaissances sur les performances réseau. Nous
résumons ici les principaux points qui permettent de conclure à une adéquation entre cette
extraction de connaissances et les domaines des grilles institutionnelles.
2.4.1 Plate-forme
les plates-formes telles que décrites dans la section 2.1.2 sont caractérisées par un
nombre assez faible de sites géographiques (moins d'une dizaine à 145) qui sont géographiquement très dispersés, contenant un grand nombre de ressources. De plus, les sites,
quant à eux, sont à priori ables et possèdent par essence une longue durée de vie. De telles
caractéristiques peuvent se retrouver dans d'autres types de réseau. Ces caractéristiques
permettent d'envisager une reconstruction de topologie avant l'exécution d'applications.
Comme nous l'avons vu, les plates-formes de grilles possèdent, le plus souvent, leur
propre réseau, ce qui permet d'envisager une certaine stabilité du réseau en terme de bande
passante, délai, .... Ceci renforce l'hypothèse qu'à priori de tels réseaux se prêtent bien à
une détection des capacités et de la topologie du réseau avant l'exécution d'applications
très dépendantes de transferts de données massifs.
2.4.2 Contexte d'exécution
Les grilles institutionnelles, et à fortiori le projet EGEE, ont souvent besoin de transférer un volume de données très important. Ces transferts se font généralement de manière
massive, de gros volumes de données circulant d'un site à un autre lors d'un seul transfert. De plus, l'utilisation de protocoles aggressifs tels que le streaming TCP renforce la
possibilité de pertes brutales de performances lorsque des transferts simultanés saturent
les mêmes portions du réseau. Enn, le système d'ordonnancement qui est global à toute
27
Du gain apporté par la connaissance des performances du réseau pour les grilles de calcul
la grille permet de prévenir de telles saturations par l'ordonnancement des communications. Ces points renforcent le besoin en connaissances sur les performances du réseau et
sa topologie.
2.4.3 Contexte logiciel
Enn, comme nous l'avons vu dans la section 2.1.3 les grilles actuelles fonctionnent
dans leur grande majorité en utilisant un paradigme de service. Il renforce le sentiment
qu'un outil répondant au besoin de connaissances des performances réseau devrait être un
service disponible pour un ensemble d'utilisateurs, interrogeable de manière dynamique, et
qu'il devrait se conformer à la norme WSRF de manière à s'intégrer naturellement dans
cet environnement.
Pour résumer, l'étude menée dans ce chapitre donne les grandes lignes de ce que devra
être et faire l'outil qui a été développé dans le cadre de cette thèse. Il devra être capable
de fournir des connaissances sur les performances et la topologie du réseau, ainsi que de se
fondre dans une architecture orientée service. Pour fournir de telles connaissances, l'outil
doit permettre de mesurer les performances et d'identier les interactions des diérents
chemins parcourant le réseau, ce qui est le sujet du prochain chapitre.
28
Etat de l'art : découverte automatique de
topologie des performances d'un réseau
Comme nous l'avons vu précédemment, certains types de grilles peuvent bénécier de
l'extraction de connaissances sur les performances du réseau. Pour ce type de grille, l'intêret
de ces connaissances dépend de la manière dont celles-ci peuvent reéter les interactions
entre des transferts en provenance de plusieurs sources vers de multiples destinations.
Comme évoqué précédemment, la découverte automatique de topologie des performances
d'un réseau est appelée tomographie réseau. Après avoir déni plus rigoureusement les
limites de ce que j'appelerai tomographie réseau dans ce document, ce chapitre dresse un
portrait des diérents travaux existants dans le domaine.
3.1
Reconstruction de topologies
Le terme de tomographie réseau peut désigner soit l'inférence des capacités d'un réseau
connaissant sa topologie physique, soit la découverte d'une représentation, suivant une
caractéristique donnée, de sa topologie. L'objet de cette thèse est la découverte de topologie
du réseau en prenant en considération la bande passante, sans connaissance (la plupart du
temps) de la topologie réseau physique, en utilisant uniquement des mesures de bout en
bout. Nous utiliserons donc le terme de tomographie réseau pour désigner ce type de
reconstruction.
3.1.1 Problèmes inverses
La découverte de topologie réseau, à partir de données provenant uniquement de mesures de bout en bout, c'est-à-dire depuis des machines n'appartenant pas au coeur du
réseau, appartient à la classe de problèmes dits inverses [87]. Un problème inverse est caractérisé par le fait que l'on ne dispose que d'observations nales (d'observations eectuées
de bout en bout), des conséquences de l'action et du fonctionnement d'une entité pour
déduire tout ou partie de la structure interne des caractéristiques de cette entité. Les problèmes inverses se retrouvent dans beaucoup de champs scientiques tels que la physique,
la biologie, ou l'informatique. Le terme de tomographie réseau est d'ailleurs né de l'analogie
faite avec la tomographie telle que dénie en physique ou en imagerie médicale, où, depuis
29
Etat de l'art : découverte automatique de topologie des performances d'un réseau
l'observation de mesures telles que l'injection de ux de particules au travers d'un objet
ou organe sur un ensemble de tranches de celui-ci, on reconstruit sa structure interne de
manière tridimensionnelle.
La résolution de tels problèmes passe par 3 étapes :
La formulation du problème permettant de dégager un modèle cible reconstructible.
La reconstruction de la solution qui se fait en développant des algorithmes le plus
souvent dédiés au modèle choisi pour dénir la solution du problème.
La récupération d'un jeu de données contenant susamment d'information pour
reconstruire la solution dans le modèle correspondant au problème traité.
Ces trois points sont nécessaires à l'obtention d'une solution, mais relativement distincts : on peut par exemple dénir des algorithmes génériques pour des techniques de
mesures diérentes, mais dont l'expression des résultats peut se faire de manière similaire ;
de même, il est possible, à partir de diérentes mesures, d'appliquer diérents algorithmes
permettant de reconstruire des solutions dans plusieurs modèles.
Dans le cadre des méthodes de tomographie réseau, la première étape, c'est-à-dire la
formulation du problème, peut se réduire au choix de la dénition de la relation mathématique observée entre les chemins considérés et au choix du modèle permettant de représenter
la solution visée. Ce choix de la modélisation de la solution (du type de topologie), et donc,
la bonne formulation du problème est une étape importante, car elle permet éventuellement, et c'est le cas du travail que je présente ici, d'obtenir un problème inverse mal posé,
mais bien déni. En eet, l'immense majorité des problèmes inverses sont mal posés et mal
dénis au sens d'Hadamard [77]. Ils sont donc caractérisés par le fait que :
la solution n'existe pas nécessairement,
la solution n'est pas unique,
la solution ne dépend pas de façon continue des données.
L'étape de modélisation de la solution est donc un point important de la résolution de problèmes inverses. Cette étape est la première du processus classique menant à la résolution
de problème inverse.
L'étape suivante, c'est-à-dire la reconstruction de la solution se fait à l'aide d'algorithmes dédiés au modèle retenu lors de la première étape. Certains algorithmes peuvent
inuencer la récupération des données (comme par exemple celui que nous avons développé
et décrit en section 5.4.5). La barrière entre l'étape de reconstruction et celle d'acquisition
du jeu de données initial est donc plus ou moins lâche. Néanmoins, les 3 étapes nécessaires conduisant à l'obtention d'une solution restent inchangées 1) modélisation de la
solution désirée, 2) récupération de données, 3) reconstruction de la solution. Ces trois
étapes trouvent d'ailleurs leur reet dans ce manuscrit, puisque chacune est détaillée dans
son chapitre respectif, à savoir les chapitres 4, 5 et 6.
Pour établir une taxonomie des diérentes méthodes existantes, il est nécessaire de dé30
Etat de l'art : découverte automatique de topologie des performances d'un réseau
nir un axe susamment générique pour englober tous les modèles utilisés par ces travaux
ainsi que les caractéristiques observées lors de la récupération d'un jeu de données initial
en vue d'une reconstruction. J'adopterai ici une description des diérentes méthodes basée
sur les relations dénies entre les chemins.
Dans un premier temps j'introduis les dénitions des termes utilisés dans cette thèse
ainsi que les diérentes notations qui seront employées en section 3.1.2. Puis il est donné
une vue d'ensemble des diérentes méthodes existantes pour découvrir automatiquement
une topologie réseau en sections 3.1.4, 3.1.5 et 3.1.6 suivant une taxonomie donnée en
section 3.1.3. Nous aborderons plus en profondeur en chapitre 4 la problématique liée
à la modélisation et la réprésentation des informations acquises sur la topologie. Dans le
chapitre 5, nous développerons les questions liées aux algorithmes de reconstruction utilisés.
Enn, nous ferons une étude plus approfondie du type de tests et de mesures utilisés dans
le chapitre 6.
3.1.2 Vocabulaire et dénitions
Nous utiliserons le terme de mesures pour désigner l'expérience consistant à injecter
des ux dans le réseau dans le but de déterminer certaines de ses propriétés. On appelera
test l'action atomique d'une mesure consistant à établir un ux entre une source et une
destination. Hormis ces tests, nous considérerons qu'il ne circule aucun autre paquet sur le
réseau, c'est-à-dire qu'il n'y a aucun trac interférent,excepté lorsque cela est mentionné
explicitement.
Dans cette thèse, nous faisons l'hypothèse que le routage est consistant et stable, sauf
lorsque l'on remettra ces hypothèses en cause explicitement. Par consistant, nous supposons
que le routage ne crée pas de chemins qui se rejoignent, se séparent et se rejoignent encore.
Par stable, nous considérons que les chemins ne changent pas durant la totalité du processus
de mesures.
Nous considérons ici le réseau comme un graphe orienté G = (V ∪ S ∪ R, E) où les
sommets V sont les équipements réseau déployés tels que les routeurs, les hub, etc, S
l'ensemble des hôtes sources, R l'ensemble des hôtes destinations, et E les liens physiques
les reliant (E ⊂ V ∪ S × V ∪ R). On notera lij un arc allant d'un noeud i à un noeud j .
Un hôte étant à la fois source et destination sera considéré comme deux hôtes diérents,
l'un source et l'autre destination.
Sur ce graphe, la fonction de routage dénit un ensemble de chemins uniques entre
chaque hôte et chaque destination. En eet, si il existe deux chemins entre un noeud a
et un noeud b, cela signie qu'ils se sont joints en a, séparés puis rejoints en b, ce qui
viole l'hypothèse de consistance. Nous noterons pab le chemin reliant la source a ∈ S et la
destination b ∈ R. Celui-ci est la suite ordonnée pab = (lai , lij , ljk , ..., lqb ) d'arcs lij ∈ E .
Chaque arc de cette suite a pour origine la destination de l'arc le précédant immédiatement
31
Etat de l'art : découverte automatique de topologie des performances d'un réseau
(si celui-ci existe). Un sous-chemin de pab est une sous-suite de cette suite qui respecte luimême la dénition d'un chemin pour une source a0 ∈ S ∪ V et une destination b0 ∈ V ∪ R.
On dira que pab contient ce sous-chemin. On appelera longueur d'un chemin le nombre de
liens qui le composent. L'union de l'ensemble des chemins dénis par la fonction de routage
et de l'ensemble sans répétition de leurs sous-chemins sera noté Pall . Le sous-ensemble de
Pall contenant seulement les chemins entre chaque source s ∈ S et chaque destination
r ∈ R, soit les chemins de bout en bout, sera appelé Pe2e . Nous appelerons ux de données
les paquets circulant sur un élément de P suite à un test.
Lorsque le contexte ne nécessitera pas explicitement la mention des points d'arrivée et
de départ d'un chemin, on notera un chemin pi . On appellera arc inverse d'un arc lij l'arc
lji . Dans le cas d'un chemin pij on appellera chemin inverse d'un chemin pij = (l1 , ..., ln )
le chemin pji = (l10 , ..., ln0 ) tel que tout lk0 est l'inverse de l'arc ln−k pour 0 ≤ k ≤ n − 1.
3.1.2.1 Sous-chemin commun maximum
On appellera sous-chemin commun à un ensemble de chemins Ps un chemin contenu
dans chacun des éléments de Ps . On appelera sous-chemin commun maximum d'un ensemble de chemins Ps le sous-chemin commun le plus long de l'ensemble des sous-chemins
communs de Ps . De par l'hypothèse de consistance du routage, celui-ci est unique pour un
Ps
ensemble donné de chemins. On notera ce sous-chemin pmaximum
. On dira que les chemins
de l'ensemble Ps admettent un sous-chemin commun maximum, ou encore que les chemins
Ps sont couverts par leur sous-chemin commun maximum. On appellera l'ensemble Ps la
s
couverture de pPmaximum
.
L'ensemble des sous-chemins communs maximum non nuls admis par au moins un des
sous-ensembles de cardinalité supérieure ou égale à 1 d'un ensemble de chemins P sera
noté M axP .
Soit un ensemble Ps de chemins appartenant à Pe2e qui admettent un sous-chemin
commun maximum. On notera fpPijs le ux transmis entre les hôtes i et j le long du chemin
pij ∈ Ps lors de tests concomitants sur l'ensemble des chemins appartenant à Ps .
On désignera par point de conjonction pour un ensemble de chemins Ps le sommet
s
de départ du premier arc de pPmaximum
. On désignera par point de disjonction pour un
s
ensemble de chemins Ps le sommet destination du dernier arc de pPmaximum
.
On appellera arcs propres à un chemin p vis-à-vis d'un ensemble de sous-chemins P 0
de p les arcs appartenants à p qui n'appartiennent à aucun des éléments de P 0 .
3.1.2.2 Métrique
Nous appellerons métrique une fonction dont l'ensemble de départ est l'ensemble des
ux et celui d'arrivée les réels. Nous noterons cpm la capacité d'un chemin p suivant la
métrique m. Par exemple si la métrique m est le délai, la capacité cpm d'un chemin p sera
égale à la somme des délais de chacun des liens et routeurs qu'il contient. Nous appellerons
32
Etat de l'art : découverte automatique de topologie des performances d'un réseau
paramètre de sensibilité s la valeur minimale qui peut être déduite des résultats de tests.
Dans certains cas, on pourra associer à certaines métriques une relation d'ordre ≤ dans
l'ensemble des réels. On parlera de relation d'ordre ≤ associée à la métrique m.
La capacité d'un chemin sera détectable si il existe un ensemble de chemins contenant
ce chemin qui permet d'exhiber cette capacité par l'injection de tests. Par exemple, pour
la métrique de la bande passante atteignable par des ux TCP en régime permanent, la
capacité d'un sous-chemin commun à un ensemble de chemins n'est détectable que si l'on
arrive à saturer ce sous-chemin. Un chemin de capacité indétectable est par exemple un
chemin de délai nul si la métrique est le délai, ou encore si la métrique est la bande passante
un lien de capacité innie.
Une métrique m sera constante par rapport aux mesures si la capacité cpm déduite des
mesures est indépendante des chemins utilisés par les tests pour la détecter. Par exemple,
si la métrique est le délai induit par un lien, la capacité d'un sous-chemin commun pcommon
sera la même, quel que soit l'ensemble de chemins admettant pcommon comme sous-chemin.
Le ratio entre la bande passante atteignable par 2 ux TCP concurrents sur un même lien
est un exemple de métrique non-constante : celui-ci est fonction du round trip time de
chacun des ux. Donc, deux ensembles de ux TCP diérents admettant le même souschemin commun ne partageront pas forcément la bande passante suivant le même ratio.
On notera m(fpPij ) la mesure de l'eet de l'injection du ux fpPij vis à vis de la métrique
m.
3.1.3 Taxonomie
Le problème plus spécique de la reconstruction de topologies réseau est un sujet qui
a été largement étudié ces 20 dernières années [58]. De nombreuses techniques ont été développées pour constituer un jeu de données permettant de reconstruire diérents type de
solutions. Plusieurs axes permettent de classer ces techniques, soit en se basant sur l'observation des caractéristiques du modèle de la solution produite, soit sur l'observation des
caractéristiques des techniques de mesures utilisées. En faisant abstraction de la structure
du modèle utilisé (pré-ordre, système partiellement ordonné, etc) on peut observer que les
modèles sont soit :
Etiquetés sur les arcs. C'est le cas de la plupart des modèles basés sur des techniques
de mesures de métrique le long de l'ensemble de chemins participant à la mesure.
L'étiquette correspond alors à la valeur de la métrique sur la portion du chemin
étiquetée.
Etiquetés sur les noeuds. C'est le cas par exemple dans un modèle où les recoupements
entre les diérents chemins sont basés sur les adresses IP des équipements réseau
déployés le long des chemins observés.
33
Etat de l'art : découverte automatique de topologie des performances d'un réseau
Non-étiquetés. C'est le cas de certaines solutions reconstruites à partir de méthodes
basées sur des métriques dans lesquelles les étiquettes ne peuvent être attribuées à
des sous-chemins précis, ou encore dans le cas de certaines techniques de mesures
permettant d'identier les sous-chemins composant un chemin par l'évaluation de
sa capacité par rapport à une métrique n'ayant pas de signication précise pour
l'utilisateur.
Ces diérentes représentations sont aussi le reet de besoins divers : par exemple les
auteurs de [96] désirent construire une topologie pour eectuer des mesures régulières sur
celui-ci. Ce type de représentation est utile pour des outils tels que NWS ou WREN. Ces
outils utilisent en interne une représentation du réseau pour mener des tests réguliers sur
certaines portions de celui-ci, dans le double but de monitorer ces portions mais aussi de
les archiver pour réaliser des prédictions de performances. Ces représentations internes du
réseau isolent des portions du réseau sensées être indépendantes. Elles n'ont par dénition
pas d'étiquettes. Les auteurs de [49] désirent faire une estimation des capacités du réseau
dans le but d'optimiser son utilisation par une application dont les communications vont
le saturer ; c'est aussi le cas de l'utilisation de la topologie par le FTS. Ces derniers cas
nécessitent donc de connaître les performances des entités du réseau identiées dans le but
d'optimiser leur utilisation.
Les techniques de mesures quant à elles sont toutes basées sur le même principe : l'évaluation porte sur un ensemble de chemins appartenant à Pe2e , permettant d'obtenir une
mesure, le plus souvent dans les réels, sur laquelle est appliquée un seuil, pour obtenir une
relation à partir de l'évaluation. A partir de cette relation, l'algorithme de reconstruction
permet de dénir d'éventuels nouveaux noeuds et arcs correspondant à cette relation. La
valeur de la mesure peut éventuellement servir d'étiquette. Les diérentes techniques de
reconstruction peuvent donc être caractérisées par la formalisation de la relation qui est
tirée de la technique de mesure utilisée. Cette relation, par les relations qu'elle implique
entre les éléments de la solution générée, implique le modèle de solution qui sera utilisé.
Nous donnons donc ici une taxonomie des diérentes méthodes existantes basées sur les
caractéristiques des modèles utilisés pour représenter les solutions puisque de ces relations
découlent la modélisation, l'algorithmique et les techniques de mesures. Pour cela on introduit les diérentes méthodes en redénissant les méthodes de mesures utilisées en terme
de relation produite entre les chemins.
3.1.4 Reconstruction de topologies étiquetées sur les noeuds
3.1.4.1 Identication des noeuds
Les méthodes de reconstruction basées sur la relation d'identication de noeuds ([97][63],
[79], [73],[102]) requièrent que les noeuds appartenant au coeur du réseau puissent être identiés par des mesures de bout en bout. Les mesures demandent donc une collaboration de
34
Etat de l'art : découverte automatique de topologie des performances d'un réseau
la part des noeuds identiables, puisqu'ils doivent répondre à des requêtes SNMP (SNMP)
ou ICMP (ICMP). Les topologies résultant de reconstructions à partir de cette relation
ne présentent pas une structure d'ordre, contrairement à toutes les autres méthodes existantes. Ce sont des graphes (orientés ou non) dont les arcs représentent les liens utilisés
par le routage à l'instant où les mesures sont eectuées. Les principales dicultés de la reconstruction de topologies proviennent de l'éventuelle non-réponse des noeuds aux requêtes
ICMP et de l'existence de plusieurs interfaces IP pour un même équipement réseau.
Dénition La fonction
id(Pprobe ) dont l'ensemble de départ est l'ensemble des sous-
ensembles de Pe2e et l'ensemble d'arrivée les réels peut être dénie par :
(
id(Pprobe ) =
1 si∃v ∈ V, v répond ICMP ∀p ∈ Pprobe ∃l ∈ p, ∃x ∈ V tel que l = lvx ou lxv
0 sinon
(3.1)
La relation n-aire × en résultant peut être dénie trivialement par :
(3.2)
× (Pprobe ) = id(Pprobe ) > 0
La vision d'un réseau par l'utilisation de la relation d'identication est illustrée à la
gure 3.1. Dans l'exemple illustré, les noeuds 5 et 6 sont congurés pour ne pas répondre.
Les chemins passant par ces noeuds ne portent donc pas de traces de ces noeuds. Ainsi,
les chemins paw et pcw ne partagent apparemment pas d'autres noeuds que le noeud destination.
A
B
3
C
1
(
(
(
'((
'
'
'
(
(
(
'
'
'
'
(
(
('(' '(
'(
'(
*)(
&
&%*
' *
' *
' *
%*
))& &%*
)&%*
)
)
)
)*
*
*)*)*) )%)& &%*
)&%*
)
)
)
)
)*
*
*
*
*
))& &%*
)
)
)
)
)
*
*
*
*
)+ &*
)
)
)
)
)
%*&%
*%
*
*
*
*
*
)&&%,
),
),
),++ *
) *
) *)*)
*
*
*
++ %,
+
+
,%
+,
+
+
,+
,
,
,
,
,
,
,,++,+
+,
++,
++,
++,
,
,
,
,
+,+
+,
+,
+,
++ ,
+
+
,+,+,+
+,
+
+
,+
,
,
+,
+
+
,+ ,
,
+,
+,
+
+
,
,
,
+ ,
+ ,
+ ,+,+ A
X
6
!"
!"
!!! "
!!! "
!"
!"
"
"
"
"!"!"! !"
!"
!"
!"
!"!"
!"
!"
!"
"
"
! "
! "
! $#$
!# $#$
!# $#$
"
"
"! $# # $#
2
5
4
Y
B
333 44333
4
4
421 4
11 2
12
1
1
212
2
2
2
11 2
1
1
2
2
11 2
11 2
11 212121
2
1 2
1 2
1 21
212
2
2
2
3+4
C
1
56
6
56
56565656565
6565 ..-87
87
87
87
7787878877
80/ 8
0
9
9:
9:
:
9: :
9 :9
9 :
9 :9:9 /
:
X
2
<;<;
W
Y
W
Figure 3.1. Reconstruction par identication de noeuds
La reconstruction de topologie consiste à placer et ordonner les points communs entre
deux chemins, qui n'existent que dans le cas où ×(Pprobe ) est vrai. La problématique ici
n'est donc pas la reconstruction de la topologie en elle-même, puisque tous les arcs et
noeuds la composant sont assez facilement identiables (excepté dans le cas d'équipement
réseau présentant plusieurs interfaces réseau, qui peuvent demander d'eectuer des fusions
de noeuds entre les diérentes interfaces de ces équipements). Une des dicultés est ici
d'employer un minimum de mesures, en évitant de tester des chemins partageant de très
35
Etat de l'art : découverte automatique de topologie des performances d'un réseau
longs chemins communs. En pratique, ces représentations, combinées avec des outils de
monitoring, permettent de visualiser l'état du réseau, comme par exemple avec l'outil
Hypviewer GUI de Skitter (CAIDA) [70] et ses versions postérieures.
3.1.5 Reconstruction de topologies étiquetées sur les arcs
Les reconstructions de topologies étiquetées sur les arcs sont toujours faîtes par rapport
à une métrique m donnée. De fait, comme nous le verrons plus tard dans la section 4 les
métriques doivent posséder certaines propriétés, sous peine de soit ne pas pouvoir valuer
les étiquettes, soit de ne pas être en mesure de reconstruire le modèle cible.
3.1.5.1 Reconstruction de topologies par disjonction de chemins
Ce type de reconstruction est le plus répandu, puisqu'il s'appuie sur le paradigme
client/serveur : il semble en eet intuitif de penser que les chemins partant d'un seul serveur
se séparent progressivement pour former un arbre vers l'ensemble de ses clients. Cette
propriété est vraie quand le routage est consistant. La représentation d'une telle topologie
est donc un arbre dont les arcs sont orientés et valués. Il existe beaucoup d'exemples de
telles reconstructions ([52], [113], [100], [65], [58]). Les métriques traitées par ces outils sont
nombreuses (taux de perte de paquets, bande passante, délai ...).
Dénition La fonction disj(Pprobe ) repose sur une fonction d'évaluation de la capacité
d'un ensemble de liens cLm . La fonction disj(Pprobe ) a pour ensemble de départ l'ensemble
des sous-ensembles de Pe2e dont chacun des éléments possède la même source source, et
pour ensemble d'arrivée les réels. Elle peut être dénie par :
P
disj(Pprobe ) = m(fL probe ), L ⊂ E t.q. l ∈ L ↔ l ∈ p,
∀p ∈ Pprobe
(3.3)
La valeur de la fonction donne la valeur de l'étiquette de l'éventuel arc induit par cette
mesure, soit cLm . Usuellement cette fonction est transformée en relation par l'utilisation
de l'ordre ≥ associé à la métrique, ainsi que par l'utilisation d'un seuil, souvent appelé
paramètre de sensibilité que nous noterons ici s. La relation n-aire (Pprobe ) peut être
dénie simplement à partir de la fonction disj(Pprobe ) par :
(Pprobe ) = (disj(Pprobe ) ≥ s)
(3.4)
La vision d'un réseau par l'utilisation de la relation de disjonction est illustrée à la
gure 3.2 pour tous les chemins partant de a. (Pprobe ) est vraie quand le sous-chemin
commun des diérents chemins de Pprobe est détectable, c'est-à-dire que l'on est capable de
dénir que les chemins appartenant à Pprobe possèdent un sous-chemin commun à tous, qui
se termine par le point de disjonction commun à cet ensemble de chemins.
36
Etat de l'art : découverte automatique de topologie des performances d'un réseau
A
B
3
C
1
$#$#$#$#$#$#
$#$#
!"!"!"! "!"! "!"! "!"! $# $#
"
A
('('
X
&% &% &% &% &% &% &% &%
2
5
4
X
/
/
/
/
/
/
/
/0/0/ *)*)
0/
0
0
0
0
0
0
/
/
/
/
/
/
0/
0
0
0
0
0
0
/
/
/
/
/
/
0/
0/
0/
0/
0/
0/0/0
001 0/
0/
0/
0/
0/
0/
0/
..- 0/
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
- /
12
12
12
12
2
2
2
21211
1212
12
12
12
1
1
1
2
1
1
1
21
2
2
2
12
12
12
21
111 2
11 2
11 2
11 212122111 ,
2
1
1
1
2
2
2
2
2
1 2
1 2
1 221 +,+
212
2
2
2
6
Y
Y
5
W
W
Figure 3.2. Reconstruction par disjonction
Notons que l'évaluation de cLm est elle-même fonction de l'évaluation de celle-ci par
l'injection de ux au travers de l'ensemble de liens L. La relation (Pprobe ) est donc évaluée,
source qui ont une cardinalité
dans les cas réels, pour l'ensemble des sous-ensembles de Pe2e
donnée. Cette cardinalité est dans le cas de mesure unicast le plus souvent de 1 ou 2, mais
est arbitraire dans le cas d'injection de ux par transmission multicast ([52], [61]).
3.1.5.2 Reconstruction de topologies par conjonction de chemins
Ce type de reconstruction est utilisé dans le cas où plusieurs sources communiquent
vers une seule destination. Elle peut être vue simplement comme l'inverse de la méthode
par disjonction. Elle a été utilisée par exemple pour analyser les performances d'un réseau
ou encore optimiser l'ordonnancement d'uploads de chiers vers un serveur. La fonction
conj(Pprobe ) a pour ensemble de départ l'ensemble des sous-ensembles de Pe2e dont chacun
des éléments possède la même destination, et pour ensemble d'arrivée les réels. Elle peut
être dénie par :
P
conj(Pprobe ) = m(fL probe ), L ⊂ E t.q. l ∈ L ↔ l ∈ p
∀p ∈ Pprobe
(3.5)
La vision d'un réseau par l'utilisation de la relation de conjonction est illustrée à la gure
3.3 pour tous les chemins ayant pour destination W . La valeur de la fonction donne la valeur
A
B
$#$#$#$#$#$#
$#$# $#$#
3
C
1
5
4
X
"! "! "! "
!
!
!
!
"
"
"
"
!"
!
!
!
!
"!"!"!"!"!"! "!"!"! !"
"
"
"
"
!!! "
!"
!"
!"
"
"
"!"!"!
!"
!"
!"
!
!
!
"! "! "! "
"
6
2
A
Y
B
)**
*)*)*)
)*
)
+,
+,
+,
,
,
,
,+
,+,+,+
+,
+,
+,
,+
+,
+
+
+
,
+,
+
+
+
,
,
,
+ ,
+ ,
+ ,
+ ,+,+
1
C
W
('(' -.
-.
-.
-.
.
.
.
.-.-.-.
-.
-.
-.
-.
-.
.
.
.
.-.-.-.
-.
-.
-.
.
.
.
-.
-.
.
.
.
.-.
-.
-.
-.
-.
-.
-.
-.
-. .
- .
- .
- .-.-.- &%&%
5
W
Figure 3.3. Reconstruction par conjonction
37
Etat de l'art : découverte automatique de topologie des performances d'un réseau
de l'étiquette de l'éventuel arc induit par cette mesure tout comme les reconstructions
par disjonction. Usuellement cette fonction est transformée en relation par l'utilisation
de l'ordre ≥ associé à la métrique, ainsi que par l'utilisation d'un seuil, souvent appelé
paramètre de sensibilité que nous noterons ici s. La relation n-aire (Pprobe ) peut être
dénie simplement à partir de la fonction conj(Pprobe ) par (Pprobe ) = (conj(Pprobe ) ≥ s).
3.1.5.3 Reconstruction de topologies par identication de sous-chemin communs
Ce type de méthode de reconstruction est utilisé par exemple dans [107] dans le but
de combiner plusieurs arbres étiquetés provenant de reconstructions partielles utilisant la
disjonction. La technique ne comporte donc pas d'étapes permettant de valuer l'étiquette
d'un arc, mais tente d'identier des arcs communs à deux arbres obtenus par une des méthodes précédemment décrites. Nous reviendrons dans la section 4 sur les inconvénients
de telles méthodes. Cette technique ne s'applique qu'à deux paires de chemins, correspondant aux chemins produits par la combinaison de deux sources et deux destinations (i.e.
pax , pbx , pay , pby ).
Dénition La technique peut être décrite comme suit : chaque source émet vers la
première destination (x) puis vers la seconde (y ), dans des intervalles réguliers susamment grands pour éviter les interférences entre les émissions provenant d'une même source.
Chaque paire de paquets est envoyée à un intervalle aléatoire, très inférieur à la période
d'émission. L'ordre d'arrivée de chaque paquet est enregistré sur les noeuds destinations.
Puis les deux noeuds destinations calculent l'ordre d'arrivée de chaque émission. αx = ±1,
1 si le paquet de la source a est arrivé avant celui de la source b, et −1 sinon. On obtient
de manière similaire αy . Puis on dénit l'ordre d'arrivée statistique z = {αx 6= αy }. Ceci
est utile, car z n'est à priori égal à zéro (ce qui signie que les ordres d'arrivées sont similaires sur les deux destinations) que dans le cas où les 4 chemins partagent un sous-chemin
commun. La fonction de valuation est donc z ; la relation I(Pprobe ) correspondante peut
être dénie par :
I(Pprobe ) = (z = 0)
(3.6)
La topologie produite est une conténation d'arbres qui partagent deux à deux un lien
commun.
3.1.5.4 Intégration temporelle des topologies
Dans le cas de topologie étiquetée, il est à noter que les topologies induites ne sont formellement valables qu'à l'instant de la mesure. De fait, diérentes topologies peuvent être
trouvées, au cours du temps, pour un même réseau. Dans le cas des topologies induites par
des métriques, certains auteurs [58] [52] ont développé des techniques permettant d'agréger
38
Etat de l'art : découverte automatique de topologie des performances d'un réseau
les diérentes topologies arborescentes étiquetées partageant la même racine et les mêmes
feuilles en une seule topologie étiquetée. L'idée générale de cette agrégation est que chaque
point induit à un instant t est valide à condition que cela ne soit pas inconsistant avec
les mesures précédentes. Par inconsistant, les auteurs entendent que les points induits ne
respectent pas la couverture dénie par les précédentes arborescences. Si cela n'est pas le
cas, les diérents noeuds possibles sont alors triés par couverture et les arborescences sont
concaténées en une seule et même arborescence non étiquetée.
3.1.6 Reconstruction de topologies non étiquetées
Les topologies non-étiquetées sont souvent utilisées comme un cadre général dans lequel
des tests actifs permettront de donner une estimation des capacités du réseau. C'est le
cas par exemple de NWS qui utilise une notion de hiérarchie de cliques pour mesurer la
disponibilité de la bande passante.
3.1.6.1 Reconstruction de topologies par interférences entre chemins
Ce type de topologie introduit dans [106], [96] repose sur une identication de chemin
similaire à celle utilisée lors de l'établissement de topologies par disjonction de chemins,
excepté que les auteurs cherchent à identier des topologies issues de ux provenant de
plusieurs sources et plusieurs destinations. Les topologies résultant de leur reconstruction
sont, quand elles existent, des forêts d'arbres, dont la racine peut être considérée comme
le sous-chemin commun maximum des ux traversant l'arborescence. Les racines de ces
arbres peuvent être ensuite liées par des cliques, ce qui donne une structure hybride.
Dénition Les auteurs dénissent une fonction d'interférence
mes (pi , pj ) basée sur le
partage de bande passante de ux de type TCP en régime permanent traversant le réseau.
Cette fonction est dénie entre deux chemin pi et pj (pi ∪ pj = Pprobe ) comme étant :
P
m(fpiprobe )
mes (pi , pj ) =
{p }
m(fpi i )
(3.7)
où m est la bande passante obtenue par un ux sur le chemin pi ou pj . Cette fonction dénit
donc le ratio entre la bande passante obtenue lors de tests indépendants et lors de tests
concomitants. Il faut noter ici un point important : dans le cas, par exemple, où pi et pj
sont des chemins de RTT très diérents, le ux de RTT le plus court obtiendra quasiment
toute la bande passante. Les auteurs dénissent donc une première relation binaire mes
qui est asymétrique. Le passage de la fonction à la relation se fait de manière classique par
un seuil s (établi à 0.7 par des méthodes empiriques).
(pi )
mes (pj ) = (
mes (pi , pj ) < s)
(3.8)
39
Etat de l'art : découverte automatique de topologie des performances d'un réseau
La relation d'interférence réelle est donc vraie quand l'une des deux interférences mesurées
est vraie. Cette nouvelle relation rl peut être écrite comme suit :
pi rl pj = ((pi )
mes (pj ) ∨ (pj )
mes (pi ))
(3.9)
A partir de cette relation, les auteurs sont en mesure de déduire quels ensembles de
noeuds sources partagent un chemin commun quel que soit le noeud de destination, en
faisant certaines assertions sur le comportement et la topologie du réseau. Nous reviendrons
plus en détail sur cette technique de reconstruction au chapitre 5. D'autres travaux portant
sur l'analyse de traces de ux TCP [45], où l'auteur, analysant les traces de ux TCP ayant
déjà été eectués, infère des classes de ux partageant le même sous-chemin commun étroit,
partagent une certaine philosophie commune au graphe d'interférence.
3.1.6.2 Reconstruction de topologies par disjonction de chemins
Certains types de reconstruction de topologies par disjonction ne permettent pas de
valuer les étiquettes des noeuds [113], [50]. Ces techniques sont le plus souvent basées
sur des notions similaires à celles des méthodes permettant de reconstruire des topologies
étiquetées par disjonction. Deux congurations peuvent empêcher l'étiquetage. Un premier
cas est que la valeur de la fonction d'évaluation n'a pas de sens pour l'utilisateur nal.
Une autre possibilité est que la métrique considérée ne permet pas de valuer la topologie
reconstruite ; nous reviendrons plus en détail sur ce problème en section 5. Un intéressant
exemple est celui de la bande passante disponible : dans [49], article posant les fondations
des Metric Inducted Network Topology (MINT), les auteurs considèrent la bande passante
disponible comme permettant de valuer la topologie reconstruite, au contraire de leur article
[50] écrit plus tard. La raison tient à la dénition de la bande passante disponible ; si l'on
considère que la bande passante disponible est celle disponible pour n'importe quel ux en
provenance de la source utilisée pour les mesures, alors on peut valuer les étiquettes des arcs
de la topologie reconstruite ; si par contre on considère la bande passante disponible comme
celle disponible pour n'importe quel ux, quelle que soit sa provenance alors, la mesure
depuis la source utilisée pour les mesures ne peut valuer les étiquettes de la topologie
reconstruite. Néanmoins, les points de disjonctions identiés par les mesures provenant
de cette source sont toujours identiables, et permettent donc une reconstruction d'une
topologie du réseau du point de vue de la source utilisée pour les mesures.
Dénition Comme discuté précédemment, la dénition de la fonction d'évaluation disj(Pprobe )
dans le cas où l'on n'étiquette pas les arcs est identique à celle du cas étiqueté, de même que
la dénition (Pprobe ). La diérence principale entre les 2 cas est que l'on n'a pas l'égalité
Pprobe
cL
). On en trouve des exemples dans [50], [113].
m = m(fL
Comme nous l'avons vu au travers de ce rapide état de l'art, les étiquettes produites
par les reconstructions dépendent de la métrique utilisée, ainsi que de la façon dont les
40
Etat de l'art : découverte automatique de topologie des performances d'un réseau
performances du réseau sont évaluées ; dans la section suivante, nous brossons un rapide
portrait des principales techniques utilisées pour estimer les capacités de liens de bout en
bout.
3.2
Découverte automatique des performances du réseau
L'évaluation des capacités d'un chemin vis-à-vis d'une métrique donnée est le socle
sur lequel reposent les techniques de reconstruction de topologies étiquetées sur les arcs
précédemment citées.
L'option la plus répandue dans le domaine est celle du monitoring point à point (endto-end performance monitoring ), essentiellement pour les protocoles de type TCP ; nous
ne traiterons ici que de celles ne nécessitant aucun accès spécique sur les équipements
réseaux mis en oeuvre le long de la liaison considérée. La notion la plus utilisée est la bande
passante disponible, qui admet plusieurs dénitions [83]. Dans la suite de ce document, nous
adopterons la dénition suivante comme celle de la bande passante disponible sur un lien
réseau i appartenant à un chemin p = {l0 , . . . , ln } de longueur n contenant n − 1 hops
(noeuds) :
i
i
(3.10)
(1 − uli )
clBw
= clbw
disp
i
est la capacité du lien li , et uli son taux d'utilisation (le paramètre temporel
où clbw
est ici ignoré). Notons que cette notion ne tient pas compte du protocole utilisé pour
i
consommer cette bande passante. Cela signie que clBw
ne sera pas égale à la bande
disp
passante utilisée par un ux TCP au comportement agressif tels que Scalable TCP [88] ou
encore HSCTP [83] (voir [53] pour une évaluation de divers protocoles) si il est créé sur
le lien i. De plus, des spécicités induites par un backbone high bandwith delay peuvent
i
rendre l'estimation de clBw
dicile voire fausse avec les méthodes classiques [115]. En
disp
eet, certaines techniques de déduction de mesures voient leur marge d'erreur grandir du
fait des propriétés spéciques d'un réseau de ce type. De plus, le choix d'eectuer des
mesures dites actives, passives ou d'utiliser une méthodologie qui soit à la fois active et
passive, peut inuer de manière importante sur la pertinence des données obtenues.
3.2.1 Techniques passives
Les mesures passives se basent sur les données obtenues lors du traçage des communications déjà eectuées sur une plate-forme ; cela est souvent utilisé pour les systèmes
de prédiction de performance tels que NWS, par le biais d'une historisation des données
obtenues. De telles techniques sont utilisées par exemple dans [45] ,[122], [109]. Le manque
de maîtrise des informations obtenues entraîne trois problèmes majeurs.
41
Etat de l'art : découverte automatique de topologie des performances d'un réseau
Premièrement, le traçage par une application ou une couche système sous-jacente a un
coût en terme de performances, variant suivant le grain de traçage eectué (par exemple,
traçer les varations de fenêtre de congestion d'un ux TCP peut être plus coûteux qu'estimer la bande passante obtenue par un transfert en cours en employant une méthode de
type BTC (BTC) (3.2.2.3). De plus, les informations recueillies lors du traçage d'un ux
peuvent être sans intéret vis-à-vis de la mesure de performance souhaitée, par exemple, si
les ux ne circulent pas le long de la liaison point à point désirée, si le ux n'est pas de la
même nature que le ux que l'application projette d'injecter (messages dispersés alors que
l'application a besoin d'évaluer le coût d'un transfert massif de données). Enn, l'absence
de ux circulant sur un lien rend impossible une quelconque évaluation des performances
de celui-ci.
3.2.2 Techniques actives
Si les capacités du réseau sous-jacent peuvent être connues d'une application s'exécutant sur une architecture de type cluster (l'architecture de la machine cible est souvent
connue dans ce cas) il n'en va pas de même pour un environnement de type grille, où
l'application est ordonnancée sur un ensemble de machines à priori inconnues, machines
qui sont elles-mêmes reliées entre elles par une topologie inconnue elle aussi. Dans le but de
connaître les caractéristiques de cette dernière topologie, il est donc nécessaire de dénir
des métriques applicables à une topologie générique, ainsi qu'à ses performances. Nous
i
i
, et de leurs liens avec la bande passante qui
traiterons essentiellement de clBw
et clbw
disp
peut être obtenue par un protocole de type TCP circulant sur le lien considéré. Diérentes
i
i
; une page Web [111] dresse
techniques existent pour tenter de déterminer clBw
et clbw
disp
une liste de plus d'une centaine d'outils de monitoring existants, et nous ne prétendrons
donc pas ici être exhaustif quant aux diérentes approches utilisées.
3.2.2.1 Dispersion de paquets
Les techniques de déduction de capacité et de bande passante à base de dispersion
de paquets ont fait l'objet de nombreuses études ces dernières années [65], [83], [64]. Ces
techniques visent à détecter les goulots d'étranglements le long d'un chemin p, qu'ils soient
dûs à un phénomène de congestion ou à une faible capacité de la liaison physique elle-même.
Le principe de base de ces méthodes est de mesurer la dispersion (i.e. le ∆) lors de la
réception de messages envoyés dos à dos. Dos à dos signie que l'écart entre l'envoi du
dernier bit du premier message et l'envoi du premier bit du deuxième message doit être
négligeable. Dans le cas de la découverte de la capacité d'une liaison, cette technique repose
sur le fait qu'un message de taille q transmis sur une liaison physique élémentaire i sera
transmise en un temps τ tel que :
42
Etat de l'art : découverte automatique de topologie des performances d'un réseau
τi =
q
(3.11)
i
clbw
Supposons un chemin p composé de 3 liens réseau p = (l1 , l2 , l3 ) de capacités respectives
3
2
1
2
reliant l'envoyeur et le destinataire de messages
< clbw
et clbw
< clbw
tels que clbw
dos à dos pour mesurer la capacité du chemin les reliant, et supposons ces liens libres (sans
trac interférent) et les hops (noeuds) le long de p ayant un délai de transmisssion nul (i.e.
les messages reçus sont retransmis sur la liaison physique suivante sans délai). Supposons
que lors de l'injection de 2 messages dos à dos sur le lien l1 de taille identique q , ces
messages arrivent dos à dos sur le lien l2 . La transmission du premier message m1 sur le
lien l2 prendra τ2m1 = Ll2 , avant d'être transmis sur le lien l3 en un temps τ3m1 qui sera
3
2
1
, clbw
, clbw
clbw
cbw
inférieur à τ2m1 et τ2m1 par hypothèse. Notons le début de la transmission de m1 t0 . Par
hypothèse m2 sera reçu et retransmis à la n de sa transmission sur le lien l2 à l'instant t1
tel que : t1 = t0 + τ2m2 ce qui donne la dénition de ∆ suivante :
∆ = t1 − t0 = τ2m2 =
L
2
clbw
(3.12)
La dispersion ainsi mesurée à l'arrivée des messages au destinataire entre la transmission
du premier bit de m1 et le premier bit de m2 est donc liée à la capacité de la liaison la
plus faible le long du chemin de transmission considéré. Ce résultat peut être étendu à un
chemin p de longueur n si aucun trac extérieur n'est présent [64]. On obtient :
∆p = max τi =
i=0...n
q
i
mini=0...n clbw
(3.13)
Par contre, ce n'est pas le cas lorsque la liaison point à point considérée rencontre un
autre trac. En introduisant d1i et d2i le délai induit par les queues des hops le long d'un
chemin p, d1i étant le temps d'attente en queue de m1 pour le hop i et d2i le délai en queue
de m2 après que m1 ait été transmis, on obtient :
(
∆i =
τi + d2i
si τi + d1i ≥ ∆i−1
∆i−1 + (d2i − d1i ) sinon
(3.14)
Dans certain cas (d1i < ∆i−1 et d2i − d1i < 0), ∆i décroitra, et ne sera plus lié à la liaison
physique de plus faible capacité. Le trac interférant est donc critique pour l'estimation
de la capacité d'un lien avec la technique de dispersion de paquet.
Un autre désavantage de cette technique est son inecacité sur les liens multi-channel
(les paquets émis peuvent être tranmis sur deux canaux indépendants sur le goulot d'étranglement), rendant impossible toute estimation. De plus, la technique de dispersion de paquet est aussi dépendante de la taille des paquets eux-mêmes. Des paquets de trop faible
taille peuvent provoquer un ∆ trop court pour être mesurable ; augmenter la taille des
43
Etat de l'art : découverte automatique de topologie des performances d'un réseau
paquets augmente la probabilité qu'un ux concurrent s'immisce entre les deux paquets et
fausse la mesure de ∆. De plus, de petits paquets induisent que le temps passé au traitement de ceux-ci augmente par rapport au temps de transfert des données. Le choix de q
est souvent fait de manière empirique, suivant la liaison considérée [64].
3.2.2.2 Techniques de trains de paquets
Pour pallier à ces problèmes, il existe une dérivée de cette technique, la technique des
trains de paquets (packet train ). Au lieu de n'envoyer que 2 paquets dos à dos, on envoie des
paquets successifs à des débits variants. Cette technique est utilisée par des outils répandus,
tels PathLoad [27] et PathRate [28] du projet BW-meter [6] basés sur l'algorithme SloPS
[82]. A partir des dispersions observées pour les trains, diérentes techniques déduisent la
bande passante disponible. Notons qu'il a été démontré dans [64] que la technique utilisée
dans cprobe ou pipechar en se basant sur l'assertion que la bande passante disponible est
inversement proportionnelle à la dispersion des paquets d'un train de paquets ne mesure
pas la bande passante disponible mais une autre métrique, dénommée ADR (Asymptotic
Dispersion Rate ) par ses auteurs.
Dans SloPS [83], l'hypothèse est que l'envoi de paquets à un débit supérieur à celui
atteignable entrainera un accroissement du ∆ entre les paquets. On fait donc varier le débit
d'envoi pour faire converger ∆, en injectant itérativement des trains de paquets. Notons
que la valeur obtenue par dichotomie dépend d'un facteur w intervalle de précision, qui ne
peut être choisi de bonne manière que par un ranement de l'utilisateur, sous peine de ne
jamais converger.
3.2.2.3
Bulk Transfer Capacity
La technique dite de Bulk Transfer Capacity (BTC) [119] consiste à réaliser l'envoi d'un
jeu de données de tests de manière à calculer la bande passante atteinte lors de cet envoi.
C'est une technique souvent utilisée par NWS ou SPAN. NWS envoie un premier paquet
pour déterminer la latence du transfert, puis calcule la bande passante atteinte de manière
simple après avoir eectué l'envoi par TCP de son jeu de données le long du chemin p :
cpBw
ef f ective
=
Q
T emps de transf ert − Latence
(3.15)
Où Q est la taille du jeu de données de test, T emps de transf ert le temps de transfert
observé et Latence la latence estimée grâce au premier envoi d'un paquet eectué. Notons
que cette estimation de la bande passante simple est celle qui est la plus souvent incluse
dans des systèmes d'information visant à fournir des prédictions de performances du réseau ;
de plus, le choix de la taille du jeu de données tests n'est pas anodin, les bandes passantes
atteintes par des transferts de petits volumes n'étant pas les mêmes que celles atteintes par
des transferts plus importants, par exemple si la pile TCP utilisée n'atteint pas la phase
d'évitement de congestion, ce qui peut souvent être le cas avec des réseaux hauts débits.
44
Etat de l'art : découverte automatique de topologie des performances d'un réseau
L'outil UDPMon [38] peut être utilisé de la même façon ; ce dernier utilise par contre des
ux UDP.
3.2.3 Techniques mixtes
Les techniques mixtes sont par exemple utilisées dans WREN et ont été plus récemment intégrées dans NWS. Elles consistent à utiliser à la fois des données provenant du
traçage d'une application, et, si besoin est, d'utiliser des techniques actives pour pallier
aux éventuels problèmes évoqués dans la section précédente ou raner certaines mesures.
Notons que cette approche est le plus souvent utilisée pour la prédiction de performance,
en utilisant des méthodes statistiques.
3.2.4 Intégration temporelle des mesures
Une fois les performances d'une topologie inférées à un instant t, il peut être nécessaire,
dans un système de prédiction de performances par exemple, d'inférer leur comportement
le long du temps. Ce type de travail, basé sur une méthodologie statistique, appelé lui aussi
tomographie réseau, consiste à estimer les caractéristiques statistiques d'un lien connaissant
la matrice de routage du réseau, ainsi qu'un vecteur de mesures de diérentes métriques à
un instant t. La problématique, dans ce cas, est classiquement formulée comme suit :
Yt = AXt + (3.16)
où Yt est un vecteur de mesure de la fonction disj(Pprobe ) à un instant t, A est la matrice de
routage un vecteur de bruit, et enn Xt un vecteur de paramètres dépendants du temps
inuant sur les mesures, tels que les taux de pertes, les délais induits par les liens, etc. La
matrice de routage est généralement une matrice binaire (dont les valeurs de chaque élément
sont soit 0, soit 1) qui donne la topologie du réseau considéré. La plupart du temps, une
telle formulation est utilisée pour retrouver Xt , qui représente donc les capacités des liens
existants du réseau vis-à-vis d'une métrique, ainsi que la fonction de densité de probabilité
correspondant aux valeurs de Xt tout au long du temps des mesures. Dans cette optique,
les algorithmes traitant ce problème sont fondés sur la maximisation de la valeur d'une
fonction de coût. En quelques mots, on omet le plus souvent et on considère alors que les
composants de X sont indépendants les uns des autres, et l'on considère le problème sur
l'intégralité des mesures eectuées au cours du temps :
Y = AX,
(3.17)
où Y est la matrice composée des diérentes mesures (i.e. des vecteur Yt de dimension J )
au cours du temps. X quant à lui contient un ensemble d'éléments Xj = gj (θj ) où gj est
une fonction de densité de probabilité de paramètre θj .
45
Etat de l'art : découverte automatique de topologie des performances d'un réseau
La plupart des algorithmes permettant de résoudre cette problématique sont basés
sur l'observation de la fonction de vraisemblance de cet ensemble de fonction de densité
de probabilité. A cause du coût énorme induit par l'estimation de la vraisemblance, et
plus encore du coût de la recherche du vecteur de paramètre pour lequel la fonction de
vraisemblance atteint un maximum, des méthodes moins coûteuses ont été développées.
Le plus souvent, on décompose ce problème général en un ensemble de sous-problèmes
plus simples, pour obtenir une approximation moins complexe à calculer. Par exemple, nous
donnons ici la méthode d'estimation du pseudo-likelihood que l'on pourrait traduire par
"pseudo-vraisemblance", qui est donc une approximation de la fonction de vraisemblance.
La décomposition du problème général se fait en découpant le problème général en un
ensemble de sous-problèmes Z en prenant chaque paire de lignes de la matrice de routage
A : Z = {s = (i1 , i2 ) : 1 ≤ i1 < i2 ≤ I} où I est la dimension de Y . Pour chaque
sous-problème s ∈ Z , le problème reste similaire : Y s = As X s , X s étant le vecteur de
paramètres impliqué dans le sous-problème s, c'est-à-dire les fonctions de densité de la
métrique considérée correspondant à chacun des liens des 2 chemins considérés, As étant
donc les deux lignes du problème s issus de la matrice de routage A et Y s = {Yi1 , Yi2 }
les mesures correspondant à s. Soit θs le vecteur paramètre de s, et p(Y s ; θs ) sa fonction
de vraisemblance marginale, c'est-à-dire la fonction de vraisemblance des valeurs de Y s
connaissant θ. En considérant les sous-problèmes comme indépendants (ce qu'ils ne sont pas
généralement) on peut écrire une fonction de pseudo-vraisemblance logarithmique comme :
p
L (y1 , . . . , yT ; θ) =
T X
X
ls (yts , θs )
(3.18)
t=1 s∈S
où ls = log ps (Y s , θs ). Cette fonction de coût est à la base d'algorithmes développés spéciquement pour maximiser sa valeur, et donc, retrouver la valeur de θ, ou plus précisément,
une estimation de celle-ci, appelée Maximum Pseudo Likelihood Estimate [59], [60] [58].
3.3
Synthèse
Dans cette section, nous donnons un résumé de ce chapitre introductif, de manière à
identier à la fois le contexte général dans lequel se positionnent mes travaux, ainsi que les
besoins et caractéristiques spéciques à ce contexte.
3.3.1 Existant
Comme nous l'avons vu, la plupart des travaux existants portent sur la reconstruction
de topologies étiquetées qui ont une structure arborescente, où une unique source transmet
46
Etat de l'art : découverte automatique de topologie des performances d'un réseau
des données vers de multiples destinations. Les grilles de calculs rendent de tels travaux
caducs, de par la nature même des transferts qu'elles impliquent, provenant de multiples
sources et de multiples destinations.
3.3.2 Besoins
Le relatif manque de travaux portant sur un paradigme multiples sources/ multiples
destinations, et dans le cas où de tels travaux existent, l'important socle d'hypothèses plus
ou moins réalistes et contraignantes sur lequel reposent ces travaux rend nécessaire les
travaux eectués dans le cadre de cette thèse.
47
Deuxième partie
TOMOGRAPHIE RÉSEAU MULTIPLES SOURCES,
MULTIPLES DESTINATIONS : MODÉLISATION,
RECONSTRUCTION ET RÉCUPÉRATION DU JEU
DE DONNÉES INITIAL
Modélisation des performances par une
topologie du réseau
La tomographie étant un problème inverse, les formulations de problèmes sont souvent
mal posées (au sens de Hadamard) et mal dénies. Une part importante du problème de la
tomographie est donc liée au modèle que l'on désire utiliser pour représenter les connaissances que l'on souhaite avoir du réseau. Il est en eet dicile de bien poser le problème.
Dans cette section, un rapide état de l'art des diérents modèles et des diérents problèmes
posés est fait, puis le modèle Metric Induced Network Poset (MINP) (Metric Induced Network Poset) est présenté. Ce modèle est reconstructible (comme nous le verrons dans la
section suivante) et permet d'obtenir une formulation du problème de la tomographie qui
est bien dénie.
4.1
Hypothèses et pré-requis sur les réseaux
Dénir une topologie des performances du réseau en vue de sa reconstruction est l'étape
initiale menant à la reconstruction de celle-ci. Or, pour mener à bien cette reconstruction,
il est le plus souvent nécessaire de bien poser le problème de manière à avoir une solution
unique et qui existe. Prouver l'unicité et l'existence d'une représentation du réseau dans
un modèle donné permet d'aboutir à un problème bien déni. Pour prouver ces propriétés,
la totalité des travaux imposent d'accepter certaines hypothèses sur le réseau, son comportement et sa topologie. Nous donnons ici une liste exhaustive des hypothèses utilisées
dans l'ensemble des travaux décrits dans cette thèse. Notons que l'ensemble des hypothèses nécessaires pour prouver que le problème est unique peut diérer de celui exigé
pour reconstruire la topologie.
Notons par ailleurs que tout l'intérêt de dénir de nouveaux modèles tient au fait de
réduire les hypothèses nécessaires à la dénition du problème ainsi qu'à la reconstruction.
En eet, certaines hypothèses peuvent être très fortes et rendre l'application des travaux
se basant sur celles-ci irréaliste.
Nous avons rangé les hypothèses en deux catégories :
Les hypothèses portant sur les propriétés de la métrique considérée. Cette première
catégorie d'hypothèses, si elle ne remet pas en cause la faisabilité de la mise en
49
Modélisation des performances par une topologie du réseau
oeuvre des solutions aux problèmes dénis, réduit de facto la portée de la résolution
de celui-ci. En eet, plus les hypothèses de ce type sont nombreuses, plus est réduit
le périmètre sur lequel les solutions à cette problématique s'appliquent.
Les hypothèses portant sur le routage et la topologie du réseau, qui, elles, réduisent
fortement l'applicabilité d'une solution à la problématique dans le cas réel. En eet, la
variété de comportement des réseaux actuels ne permet pas de présupposer facilement
de leur respect d'hypothèses, ni non plus de vérier la validité des hypothèses.
4.1.1 Propriétés des métriques
4.1.1.1 Constance
Dans la section 3.1.2.2 nous avons déni la constance d'une métrique. Cette propriété
est quasiment toujours nécessaire pour la reconstruction d'une topologie.
4.1.1.2 Monotonicité
Dénition Une métrique est monotone si tout sous-chemin d'un chemin est de capacité
inférieure ou égale (selon la relation associée à la métrique) à la capacité du chemin complet,
soit :
m
m est monotone ⇐⇒ ∀pi , pj tel que pi ⊆ pj ,
cm
(4.1)
pi ≤ cpj
Exemples La plupart des métriques usuelles sont monotones, par exemple le taux de
perte, le délai, le RTT, la bande passante atteignable en régime permanent par un ux
TCP depuis une source donnée. Pour toutes les métriques liées au temps (délai, RTT) il
est assez simple d'intuiter que la capacité d'un chemin complet est plus importante que
la capacité d'une portion de celui-ci. Le taux de perte a un comportement similaire. Dans
le cas de la bande passante atteignable depuis une source donnée, la valeur atteignable
étant la capacité la plus basse de l'ensemble des liens constituant un chemin, soit le souschemin considéré est de capacité égale à celle du chemin complet, soit sa capacité est
supérieure. La bande passante atteignable depuis une source donnée est donc bien une
métrique monotone.
4.1.1.3 Monotonicité étendue
Pour permettre une adaptation du modèle Metric Induced Network Topology (MINT)
au cas multiples sources multiples destinations, nous avons dû étendre la notion précédente,
ce qui a donné naissance à la monotonicité étendue.
Dénition Considérons l'ensemble Ps∗ d'ensembles de chemins Ps où chacun des Ps ad-
s
met un sous-chemin commun maximum non nul pPmaximum
. Soit ≤ la relation d'ordre
associée à la métrique m. On peut dénir la motonicité comme suit :
50
Modélisation des performances par une topologie du réseau
0
0
m est monotone étendue ⇐⇒ ∀Ps ∈ Ps∗ , ∀Ps tel que Ps ⊆ Ps , alors
0
m(f
Ps
P
0
s
pmaximum
) ≤ m(f PPss
pmaximum
)
(4.2)
Exemple Considérons à nouveau la métrique dénie comme la bande passante en régime permanent pour des ux TCP ; l'ordre associé à cette métrique est ≤. Comme tout
0
Ps
s
s
pmaximum
⊇ pPmaximum
, si pPmaximum
contient un lien de capacité plus basse que toutes les
0
0
Ps
s
s
valeurs des liens de pPmaximum
, alors le goulot d'étranglement pPmaximum
est égal à pmaximum
.
0
s
Sinon, cela veut dire que les ux passent par un lien dans pPmaximum
qui a un cpm plus petit
s
que la valeur minimum de pPmaximum
et ces ux auront une bande passante accumulée qui
Ps
sera inférieure à celle possible sur pmaximum . Donc, si la métrique m est la bande passante
de ux TCP en régime permanent, alors elle possède la propriété de monotonicité étendue.
4.1.1.4 Bornée
Pour permettre d'utiliser certaines propriétés des métriques pour la reconstruction
d'une représentation du réseau, nous avons dû formuler de nouvelles propriétés, ce qui
a donné naissance à la notion de métrique bornée.
Dénition Une métrique
m est bornée si la capacité de tout chemin est identique à
celle de son/ses sous-chemin(s) de capacité la plus petite/la plus grande selon la relation
associée à la métrique. Soit plus formellement :
m est bornée ⇐⇒ ∀p = (l1 , ..., ln ),
∃p0 ⊆ p, tel que ∀p00 ⊆ p
p0
p00
∀n > 0,
0
cm ≤ cm et cpm = cpm
(4.3)
Exemples Les métriques basées sur la bande passante (capacité, bande passante dispo-
nible, bande passante atteignable par un ux TCP en régime permanent) sont des métriques
bornées. En eet, la capacité d'un chemin dépend toujours de la capacité la plus basse disponible le long du chemin considéré, soit la capacité du bottleneck aussi appelé sous-chemin
commun étroit. Notons que si une métrique est bornée, elle doit être monotone et possède
la propriété de monotonicité étendue.
4.1.1.5 Borne induite par un lien unique
Pour permettre d'utiliser certaines propriétés des métriques pour la reconstruction
d'une représentation du réseau, nous avons dû formuler de nouvelles propriétés, ce qui
a donné naissance à la notion de métrique admettant une borne induite par un lien unique.
51
Modélisation des performances par une topologie du réseau
Dénition Une métrique m possède une borne induite par un lien unique si la capacité
de tout chemin est identique à celle d'un unique lien logique de capacité la plus petite/la
plus grande.
m admet une borne induite par un lien unique ⇐⇒ ∀p = (l1 , ..., ln )∀n > 0
0
∃!li ∈ p tel que ∀p0 ⊆ pclmi ≤ cpm et clmi = cpm
(4.4)
Exemples La capacité d'un chemin dépend toujours de la capacité la plus basse dispo-
nible le long du chemin considéré, soit la capacité du bottleneck aussi appelé sous-chemin
étroit. Dans le cas où plusieurs liens appartenant au chemin possèdent la même capacité, la
borne induite par un lien unique peut être considérée comme la première (dans l'ordre du
chemin considéré) ressource de plus basse capacité. Notons que si théoriquement il n'existe
pas à priori de métrique unique bornée dans les réseaux, cette notion est en pratique vraie
dans certains cas.
En eet, les ressources limitant une métrique bornée, sont, la plupart du temps, localisées sur des bottlenecks locaux, des sous-chemins communs étroits tels que les accès à
un MAN ou un WAN partagés par des chemins en provenance d'un même site. De plus,
l'existence de trac interférant (cross-trac) rend improbable que la bande passante allant
d'un site à un autre soit limitée par deux sous-chemins communs étroits situés chacun en
entrée (resp. sortie) de site.
La détermination du nombre de liens ayant un eet sur la capacité atteinte par un ux
a été traitée dans [118]. Le nom donné par les auteurs pour désigner le lien responsable de
l'unicité de la borne est "lien dominant pour la congestion" (dominant congested link ). De
manière à établir la présence d'un tel lien le long des chemins, les auteurs développent une
méthodologie basée sur les chaînes de Markov. L'idée générale est de déterminer grâce à la
distribution de tests injectés le long de ce chemin si celle-ci se rapproche de la distribution
que l'on pourrait observer si il existait un lien dominant pour la congestion ou non, en
utilisant le théorème de Bayes. Dans le cadre de ces travaux, les expériences menées sur
des réseaux réels et partagés semblent conrmer la croyance généralement établie qu'il
existe le plus souvent un lien dominant pour la congestion, renforçant l'hypothèse que
la capacité d'une métrique bornée basée sur la bande passante présente eectivement la
caractéristique d'avoir une borne induite par un lien unique.
4.1.1.6 Séparabilité
Dénition Une métrique m est séparable si pour tout chemin p composé de l'union de
m m
deux sous-chemins disjoints pi et pj , cm
pj = g(cp , cpi ) pour une certaine fonction g on a :
m m
m est séparable ⇐⇒ ∀p = pi ∪ pj , cm
pj = g(cp , cpi ) pour une fonction g
(4.5)
52
Modélisation des performances par une topologie du réseau
Exemples La propriété de séparabilité est plus rare : les métriques telles que le délai et
le taux de perte sont séparables. Par exemple, le délai le long d'un chemin étant la somme
m
m
des délais induits par les liens le composant, cm
pj = cp − cpi . Le raisonnement est similaire
pour le RTT si l'on considère que le routage et le délai de propagation sont symétriques. La
bande passante, elle, est un cas un peu plus spécique. Si l'on considère la bande passante
atteignable par n'importe quel ux dont la source est la racine du MINT, alors, on peut
m
m
m
m
dénir cm
pj par cp si cp < cpi , et dans le cas contraire, considérer que cpj est indétectable.
Si l'on considère la bande passante atteignable par n'importe quel ux, quelle que soit sa
source, elle ne possède pas la propriété de séparabilité telle que décrite précédemment.
4.1.1.7 Séparabilité étendue
Pour permettre une adapatation du modèle MINT au cas multiples sources multiples
destinations, nous avons dû étendre la notion précédente, ce qui a donné naissance à la
séparabilité étendue.
Dénition Considérons l'ensemble Ps∗ d'ensembles de chemins Ps où chacun des Ps adPs
. Soit les couples d'ensembles
met un sous-chemin commun maximum non nul pmaximum
0
s
Ps , Ps ⊂ Ps tels que Ps ∪ Ps = Ps , et leurs sous-chemins communs maximums pmaximum
0
00
0
P
00
00
s
et pPmaximum
. Une métrique m est séparable si il existe une fonction g telle que :
m est séparable étendue ⇐⇒ m(f PPss
pmaximum
0
) = g(m(f
00
Ps
0
Ps
pmaximum
0
), m(f
00
Ps
P
))
00
s
pmaximum
0
00
∀Ps , Ps ⊂ Ps tel que Ps ∪ Ps = Ps
(4.6)
Exemples Considérons à nouveau la métrique bande passante en régime permanent. La
s
bande passante atteinte sur pPmaximum
est la somme des bandes passantes atteintes par les
s
diérents ux circulant sur pPmaximum
. Nous avons donc m(fpPPss
0
) = m(f
maximum
00
m(f
Ps
P
00
s
pmaximum
Ps
P
0
)+
s
pmaximum
). Donc, si la métrique est la bande passante en régime permanent atteignable
par des ux TCP, alors elle possède la propriété de séparabilité étendue.
4.1.1.8 Symétrie
Dénition Une métrique est symétrique si la capacité d'un chemin vis-à-vis de la métrique considérée est constante suivant le sens de parcours de ce lien par les ux injectés
pour le détecter.
m
m symétrique ⇐⇒ ∀lij , cm
(4.7)
lij = clji
Exemple La bande passante disponible est un exemple de métrique non-symétrique dans
la plupart des réseaux : les liens en full-duplex seront parcourus par des tracs interférents
diérents suivant le sens de parcours de ce lien. Il en va de même pour la capacité maximale
53
Modélisation des performances par une topologie du réseau
en bande passante d'un lien : l'ADSL (ADSL) ou le câble, par exemple, ont des débits
asymétriques. L'asymétrie peut aussi provenir de la conguration par les administrateurs
des équipements réseau lors de leur déploiement.
Un exemple de métrique à priori symétrique est le délai dans le cas d'un réseau exempt
de tout trac interférent. Le délai sera en eet à priori le même suivant le sens de parcours
d'un chemin donné. Or, ce ne sera plus le cas dès que le routage ne sera plus symétrique,
i.e. dès que le chemin entre deux hôtes de a vers b sera diérent de celui de b vers a.
Un autre exemple de métrique à priori symétrique est le RTT. Le réseau doit être
exempt de tout trac interférent pour espérer avoir un même temps de parcours pour la
boucle pab ∪ pba et pba ∪ pab . De plus le temps de réponse à la requête (habituellement un
ping ) doit être similaire sur les deux hôtes pour avoir une valeur symétrique pour cette
mesure : cela induit que cette métrique est dépendante de la charge sur l'hôte cible du
ping.
4.1.1.9 k-détectabilité
Pour permettre d'utiliser certaines propriétés des chemins pour la reconstruction d'une
représentation du réseau, nous avons dû formuler de nouvelles propriétés, ce qui a donné
naissance à la notion de k-détectabilité.
Dénition La détectabilité telle que nous l'avons dénie en section 3.1.2 est une propriété
d'un (sous)-chemin p. p est détectable par rapport à une métrique m si il existe un sousensemble P de Pe2e tel qu'une mesure eectuée sur P peut faire s'exprimer la capacité de
p vis-à-vis de m.
Nous aurons besoin d'une dénition plus restrictive de la détectabilité dans les cas
pratiques, pour montrer les possibilités de reconstruire des représentations de performances
basées sur des mesures de bout en bout. Nous donnons donc ici une dénition de la kdétectabilité :
p est k-détectable vis-à-vis de m ⇐⇒ ∃P 0 ⊆ Pe2e ,
|P 0 | ≤ k tel que m(fpP ) = cpm
(4.8)
Exemple La gure 4.1 illustre cette notion. Les noeuds sources sont représentés par les
cercles blancs et les noeuds destinations par des cercles noirs ; nous ne considérons que les
chemins allant de a vers a0 , b vers b0 et ainsi de suite. Considérons que la métrique m soit
la bande passante atteignable en régime permanent par des ux de type TCP. Les valeurs
représentées sur les gures correspondent aux diérents cpm des diérents liens. Supposons
que nous utilisons une procédure de mesure dénie pour chaque P probe , où P probe ⊆ Pe2e ,
et |P probe | = k. On peut remarquer que les liens qui ont un cpm de 1 sont 1-détectables,
car ils représentent des goulots d'étranglements pour tous les ux les traversant. Le lien e
54
Modélisation des performances par une topologie du réseau
quant à lui est 2-détectable puisqu'il a un eet sur la bande passante atteinte par les ux
uniquement quand des ux circulent simultanément entre a et a0 et b et b0 . Enn, le lien
f est 4-détectable puisqu'il est nécessaire que tous les ux circulent simultanément sur les
4 chemins tracés pour que le lien e ait une inuence sur la bande passante atteinte par
ceux-ci.
C'est une notion importante, car des algorithmes pratiques ne peuvent se baser sur des
mesures impliquant tous les chemins de Pe2e .
a
b
1
1
c
d
1
1
1.5
e
f
1
a’
1
3
1
1
b’
c’
d’
Figure 4.1. Exemple de topologie simple
4.1.2 Propriétés du routage et de la topologie réseau
4.1.2.1 Consistance, stabilité et unicité
Dans la section 3.1.2.2 nous avons déni les propriétés du routage : consistance, stabilité
et unicité de chemin entre deux hôtes. Ces hypothèses sont quasiment toujours faites lors
de la modélisation du réseau.
La condition d'unicité, prise au sens de celle de l'existence d'un chemin unique pour
un paquet donné, peut être facilement considérée comme vraie. Elle peut être remise en
cause, dans certain cas, lorsqu'on la considère couplée avec l'hypothèse de stabilité. La
condition de stabilité signie que le routage dénit un chemin stable (et donc unique)
pendant la durée de l'expérience. Elle peut être mise à mal par des réseaux qui font de
l'équilibrage de charge par exemple. Il en va de même pour l'hypothèse de consistance.
L'hypothèse de consistance, c'est-à-dire le fait que deux chemins ne peuvent se joindre, se
séparer et se rejoindre ensuite est une hypothèse qu'il convient de discuter. Dans un système
55
Modélisation des performances par une topologie du réseau
autonome où les chemins de routage sont dénis comme étant les plus courts chemins (ceux
utilisant RIP [78] par exemple), elle reste par dénition correcte. Elle est souvent remise
en cause dans les réseaux qui font de l'équilibrage de charge (ceux utilisant OSPF [103]
par exemple). Cependant il convient de considérer le fait que, le plus souvent, les réseaux
de types grilles sont constitués de sites représentant une topologie arborescente, ce qui,
par dénition, fait que les communications circulant dans ce site respectent l'hypothèse
de consistance, sites reliés entre eux par des liens haut débit à priori indétectables. Les
fonction de routages permettant l'équilibrage de charge, sont, elles, souvent utilisées sur
des réseaux plus puissants, qui ne renferment pas par dénition de sous-chemins communs
détectables. On peut donc dire que d'une manière générale, l'hypothèse de consistance est
respectée sur les sous-chemins communs détectables, ce qui rend possible l'utilisation de
propriétés propres à des réseaux respectant cette hypothèse dans le cadre de nos travaux.
4.1.2.2 Symétrie
Dénition Le routage est symétrique si le chemin allant de n'importe quel hôte a vers
un hôte b est le chemin inverse de celui allant de b vers a, i.e. :
pab chemin inverse de pba ⇐⇒ ∀i ∈ (1, . . . , |pab |), li i-ème élément de pab
q j j-ème élément de pba s(l) = x ⇐⇒ l = lxy d(l) = y ⇐⇒ l = lxy
s(li ) = d(q (|pab |−i) ), d(li ) = s(q (|pab |−i) )
(4.9)
Cette propriété, simple, est bien souvent irréaliste. Elle est pourtant utilisée comme
nous le verrons par la suite dans beaucoup de travaux pour permettre une reconstruction
de topologie contenant de multiples sources et de multiples destinations.
4.2
Vue d'ensemble des modèles existants
La représentation du réseau est un problème aussi ancien que les réseaux informatiques
eux-mêmes. Les réseaux combinent en eet plusieurs caractéristiques : si un observateur
du réseau s'intérèsse au délai, un autre s'intérèssera plus à la bande passante, etc. Cela
rend un réseau impossible à représenter de manière unique et gée, puisqu'une topologie
dièrera suivant le point de vue que l'on considèrera.
Dans cette section, nous donnons un ensemble de modèles existants pour représenter
le réseau ainsi que le routage qui lui est associé.
56
Modélisation des performances par une topologie du réseau
4.2.1 Topologie physique et logique
4.2.1.1 Topologie physique
La topologie physique interconnectant un ensemble de sources S à un ensemble de
destinations R est un sous-ensemble de G, G0 (V 0 ∪ S ∪ R, E 0 ) tel que e ∈ E 0 ⇐⇒ ∃p ∈
Pe2e tel que e ∈ p et a ∈ V 0 ⇐⇒ ∃p ∈ Pe2e tel que lai ∈ p ou lia ∈ p, i étant un
sommet appartenant à V ∪ S ∪ R. Comme illustré par la gure 4.2, une telle topologie ne
représente pas l'intégralité des équipements et liens réseaux déployés, mais uniquement le
sous-ensemble impliqué dans la transmission des tests entre S et R. Ici S = {A, B, C},
R = {X, Y, W }. Les arcs pointillés représentent les chemins empruntés par des paquets à
destination de Y et W , les pleins les chemins empruntés par des paquets à destination de
X.
A
B
12121 1
1
12121 22
22
11 2
11 2
1
1
2
214321
14
3214
3214
0/650/0/ ""! 0/650/0/ ""! 65 432143243 6
4
434343 65 324
324
324
4
5
5
5
56
6
6
6
3
3
33
5
5
5
5
5
5
5
6
!
6
!
6
6
6
6
"
"
/
/
3
3
3
34433 656565 46
4
4
&%&%&% &%&%&% $#$#$# $#$#$# $#$#$# $#$#$# $#$#$# $#$#$# $#$#$# 6500/650/"!"! 6500/650/ "!"! 6565 44343 6
5
5
5
5
6
6
6
3
3
3
4
4
4
56
55 6
56
65.- 6
66
33 6
34
3
45.- 44
4
56
5
5
5
3.
3
3
4
4
& %&%&% &%&%&% $#$# $#$# $#$# $#$# ,+,+ $#$# ,+,+ $#$# ,+,+ $#$# ,+,+ 650/650/.-.- "!"!"! 650/065/.-.- "!"!"! 6565.-.- 434343 56
5 4434343 6565
6
3
3
4
4
.
3
3
3
4
4
4
+
+
+
+
,
,
,
,
.
!
.
!
.
.
.
" " -.
34
34
34
4
3 .-.-.- 4
3 4
3 4343 -.
(' (' (' (' (' *)*)*) *)*)*) *)*)*) *)*)*) *)*)*) .-.-.-.- !"!"!.-.-.-.- !"!"! .-.-.-.- 4343 .
.
.
--- .-.-- .-.-.- .-.-.- .-.-.- .
.
- ..- .- .- .- .
.
3
C
1
X
6
2
?@@
@?@?@?
?@
?
?
@
KL
KL
KL
L
L
L
LKLK
LKLKLK @? >>==>=
KK L
KL
K
KKL
KL
K
K
L
L
KK
KK
LLKKK
LL
LL
LL
K L
K L
K LKKLLK
A
Y
B
5
4
FE
OP
OP
OP
OP
P
OP
OP
OP
OP
O P
O P
O P
O POPOPO FEFE
3
Z
C
7
D
W
MN
N
NMNMNM
MN
MNMM
NNMNMMNNM DCDC
STS
QQQ R
QR
QR
QR
QR
QR
T
TSTSTS DC R
QR
QR
QR
QR
QR
QQQ R
QQQ R
QQQ XW R
QQQ XW R
QQQ XW RQRQRRQQQ XW
TTSS
R
SS TSS R
QR
TT
R
R
R
R
R
R
Q
TS
R
R
R
R
WW XX
WW RXX
WW R XXWW
U V
U V
U VU HGHGHG XX
VU TV
1
2
4
8787
[\\
[\
[
[
\[ \
\
[JI \
[[ \
[
[
\
\
[\
[\
\
\[\[[\ :
[[
[[
\
JIJI ^]
[
\ ^
\ ^
\ ^
]^
]^
]
]
]
]^
^] ^
^
^]^]^] 9:9
]] ^
]^
]
]
]
]
]^
^
^
^
^
]] ^
]
]
]
]
]
^
^
^
^
]^
]
]
]
]
]
^AB ^
^
^
^
^
]^
]^
]^
]^
]^
]^
^
]ZYZ
]ZYZ
]ZYZ
]ZYZYY ^
] ^
] ^]^]^]
ABAB ^]ZY
YY YY ^
YY
YYY ^
YYY ^
ZZ
ZZ
Z
Z
Z
Z
Z
Z
ZYZYZY
YZY
YZ
YZ
YZ
Z
Z
Z
Z
YY Z
Y
Y
YZ
Y
Y
ZY
Z
Z
ZYZYZY
YZ
YZ
YZ
Z
Z
Z
YY Z
YZ
Y
Y
Z
YZ
YZ
Y
Y
Z
Z
Y Z
Y Z
Y ZYZY <;<;
X
6
Y
5
Z
7
D
W
Figure 4.2. Liens entre la topologie réelle du réseau et la topologie physique
4.2.1.2 Topologie logique
La topologie logique G00 (V 00 ∪ S ∪ R, E 00 ) correspondant à une topologie physique est un
graphe formé à partir de G0 . Dans un premier temps, chaque noeud i de V 0 est remplacé
par une paire de noeuds (iin , iout ) reliée par un arc allant de iin à iout ; les arcs entrants de i
sont reliés à iin et ses arcs sortants à iout . Cette première phase permet de faire apparaître
un arc pour chacun des routeurs, switches, etc. déployés. Puis chacun des noeuds internes
avec seulement un parent et un enfant est confondu avec son père. La gure 4.3 illustre
une telle transformation pour l'exemple précédemment utilisé.
Ces topologies ne sont pas usitées pour représenter les connaissances induites grâce à
l'injection de tests dans un réseau ; en eet, de tels modèles ne sont constructibles qu'en
ayant connaissance des équipements réseaux déployés. Comme nous le verrons par la suite,
les modèles classiques permettant de reconstruire des topologies à partir de mesures eectuées de bout en bout sont quasiment tous basés sur une structure d'ordre, la plupart du
temps, un pré-ordre, i.e. l'arborescence. Quand la topologie présente une structure d'ordre,
celle-ci permet de reconstruire la solution. Or, les topologies physiques et logiques ne présentent pas une telle structure.
57
Modélisation des performances par une topologie du réseau
A
B
3
1
6
2
5
4
A
C
X
Y
B
1
"!
"!"!"!
"!
" !
" !
! "!"!
"
X
2
5
Y
3
C
W
W
Figure 4.3. Liens entre les topologies physiques et logiques
4.2.2 Topologies issues d'identication d'équipements le long de chemins
Ce modèle est celui utilisé lors de reconstruction de topologies à partir d'informations
recueillies par l'utilisation d'outils tels que traceroute [97]. Ce type de topologie est la seule
(à notre connaissance) qui puisse être reconstruite à partir de mesures de bout en bout et
qui ne présente pas d'autres structures d'ordre que les ordres totaux induits par les chemins
Pe2e . Cela peut être attribué au fait que cette reconstruction identie les noeuds du réseau
eux-mêmes et permet donc une reconstruction simple de sa topologie.
4.2.3 Graphe d'interférence
4.2.3.1 Dénition
Ce modèle est celui utilisé par l'outil AlNeM ([96]). La dénition de ce modèle est basée
sur la notion d'interférence entre chemins. A partir de l'ensemble des mesures entre deux
chemins pour la relation dénie dans la section 3.1.6.1, les auteurs tentent de résoudre
le problème suivant. Dans un premier temps, ils construisent une matrice d'interférence
Interf telle que :
(
Interf (S, R)(pi , pj ) =
1 si (pi )
rl (pj )
0 sinon
(4.10)
De ce postulat, les auteurs construisent en fait, quand cela est possible, une forêt
d'arbres remplissant cette condition. Ceci est rendu possible par l'utilisation d'une relation
d'interférence totale ⊥ pour la reconstruction elle-même qui peut être dénie comme suit :
a, b ∈ V, a ⊥ b ⇐⇒ ∀(u, v) ∈ R, pau rl pbv
(4.11)
Cette relation signie concrètement que tous les chemins partant de a ou de b vers n'importe
quelle destination appartenant à R sont en interférence. Cela permet aux auteurs de dénir
des points qu'ils nomment séparateurs qui peuvent être considérés comme des points de
conjonction de l'ensemble des chemins partant de a et b. Un séparateur q peut être déni
58
Modélisation des performances par une topologie du réseau
comme suit :
∀a, b ∈ Sa ⊥ b ⇐⇒ ∃q/∀z ∈ R : q ∈ (paz ∩ pbz )
(4.12)
La relation 4.11 étant une relation d'équivalence, elle leur permet de construire un
graphe représentant les diérentes classes d'équivalence qui peuvent être identiées, et de
les remplacer par leurs séparateurs respectifs. Ensuite, les auteurs itèrent en utilisant les
séparateurs comme des représentants des noeuds appartenant à une classe d'équivalence et
forment de nouvelles classes d'équivalence. Par construction, on obtient une forêt d'arbre.
Un traitement spécique quand on ne peut plus trouver d'interférence totale entre les diérents éléments, construit une clique entre les racines des diérentes arborescences trouvées,
donnant ainsi une structure hybride (en terme d'ordre).
Dans des travaux plus récents [67] les auteurs introduisent deux algorithmes de reconstruction. L'un, appelé IMPROVING, n'est pas à proprement parlé un algorithme de
reconstruction. En eet il nécesite d'avoir une première construction d'une topologie du
réseau, puis en fonction de mesures sur les chemins, corrige certaines routes en rajoutant
des liens plus directs entre les noeuds source et destination des chemins dont la capacité
a été mal estimée. Le second, appelé AGGREGATE, est dédié à la latence. En partant
d'un ensemble de noeuds connectés, il ajoute gloutonnement le noeud le plus proche, en
rajoutant un lien entre le noeud et le lien par lequel il peut être connecté en maximisant
le nombre de route entre les noeuds appartenant déjà au graphe et le noeud ajouté pour
lesquelles les routes introduites par l'adjonction de ce noeud sont susamment proches de
la réalité. Le principe de choix du lien à ajouter est donc proche d'un choix glouton d'un
séparateur convenant au noeud ajouté. La complexité en terme de nombre de mesures est
par contre grandement réduite par rapport au premier algorithme mais au détriment de
la métrique considéré (la latence et non plus l'interférence). En terme de modélisation,
la structure reconstruite n'est pas spéciquement dénie, mais se rapproche du graphe
minimal recherché par le premier algorithme présenté (voir section 4.2.3.2).
4.2.3.2 Problématique
Dénition La problématique posée par les auteurs peut être formulée comme suit :
b = (Vb ∪ R ∪ S, E)
b tel que :
trouver un graphe G
(
Gb
Interf (S, R)(
G
rl ) = Interf (S, R)(rl )
|Vb | est minimal.
(4.13)
b
G et où G
rl
rl représentent respectivement les interférences rl constatées pour les graphes
b . Le problème revient à essayer de retrouver un graphe de taille minimale présentant
G et G
les mêmes interférences que le graphe réseau réel.
Les auteurs prouvent dans [96] que ce problème est bien déni.
59
Modélisation des performances par une topologie du réseau
Hypothèses de dénition Les hypothèses de dénition utilisées sont la consistance, la
stabilité et la symétrie du routage. La métrique elle est non contrainte, ce qui est en partie
dû au fait que la topologie n'est pas étiquetée.
4.2.4 Topologie réseau induite par une métrique depuis une source vers
plusieurs destinations (MINT)
Ce modèle est utilisé par des outils tels que PERISCOPE ([56]). Le terme de MINT est
apparu et les notations et termes utilisés dénis formellement pour la première fois dans
[49]. Le terme de MINT est formellement déni dans le cas d'une source vers plusieurs
destinations, ou bien dans le cas d'une destination contactée par de multiples sources.
De manière informelle, une topologie réseau induite par une métrique représente un sousgraphe de la topologie logique représentant l'ensemble des liens (ou les ensembles de liens)
détectables.
4.2.4.1 Dénition
Une topologie induite par une métrique (Metric Induced Network Topology, MINT)
pour une valeur s de son paramètre de sensibilité et pour une métrique m est la topologie
étiquetée formée quand tous les noeuds internes i d'une topologie logique dont le lien parent
lxi est étiqueté par une valeur cm
lxi ≤ s ont été confondus avec x.
La gure 4.4 représente un ensemble de topologies pour la métrique du taux de pertes de
paquets. La topologie (a) est la topologie physique du sous-réseau considéré. La topologie
(b) représente la MINT correspondante à ce réseau quand le paramètre de sensibilité est
xé à zéro ; enn, la topologie (c) représente la MINT induite pour le même réseau, mais
cette fois avec un paramètre de sensibilité xé à 0.005.
s0
(a)
s0
s0
(b)
(c)
dr
Figure 4.4. Eet du paramètre de sensibilité sur un MINT
60
Modélisation des performances par une topologie du réseau
Cette illustration nous montre que la structure d'une topologie induite par une métrique
dépend non seulement de la métrique considérée, mais aussi fortement du paramètre de
sensibilité choisi. Le choix de la valeur de ce paramètre de sensibilité reste un compromis :
plus sa valeur est haute, plus les éventuels non regroupements de liens sous un père commun
dûs à la marge d'erreur de la mesure sont rares ; néanmoins, augmenter trop la valeur de
ce paramètre fait courir le risque de regrouper sous un même père des noeuds ayant en fait
2 pères distincts.
4.2.4.2 Problématique
La problématique de la reconstruction d'une topologie induite par une métrique peut
être énoncée comme suit. Etant donné une technique de mesure permettant d'évaluer
m
m
disj({pi , pj }) et cm
pour une métrique m donnée pour tout chemin partant
pi , cpj et c {pi ,pj }
pmaximum
d'une source unique s0 et allant vers deux destinations a et b ∈ R, reconstruire la topologie
MINT correspondant au réseau entre s0 et R.
Cette problématique est assez trivialement bien dénie, de par la construction de celleci. La solution existe et est unique.
4.2.4.3 Hypothèses de dénition
Cette dénition de problématique portant sur la reconstruction d'une topologie étiquetée, la métrique est plus contrainte que dans le cas précédent : elle doit être monotone et
séparable. Le routage, quant à lui, doit être consistant et stable. Dans le cas où la topologie
n'est pas étiquetée, la métrique doit uniquement être monotone.
4.2.5 Topologie par recoupement d'arborescences
Les MINT précédemment dénis n'ont plus de dénitions valides lors du passage d'une
seule source à de multiples sources. De manière à faire évoluer le modèle MINT, plusieurs travaux ont donné lieu à une modélisation de topologies multiples sources, multiples
destinations construites à partir de concaténations d'arborescences MINT précédemment
construites.
4.2.5.1 Recoupement de MINT de même racine
Il est plus que fréquent que des MINT induites à diérents instants ne correspondent
pas entre elles ; les auteurs de [50] introduisent une méthode, proche de celle utilisée lors
du recoupement d'arbres multicast, pour reconstruire une vue unique du réseau sousjacent. L'idée principale est qu'un noeud détecté est à priori valide ; seules les conditions
du réseau font que les disjonctions de chemins deviennent détectables. Les auteurs se
basent donc sur la couverture des noeuds feuilles par un noeud interne pour recouper les
diérentes arborescences trouvées. En eet, si le routage est consistant, alors la couverture
des diérents noeuds présents dans l'arborescence doit être similaire. La problématique est
61
Modélisation des performances par une topologie du réseau
similaire à celle des MINT, et est donc bien dénie.
4.2.5.2 Recoupement de MINT de racines diérentes
Dénition Dans [107] les auteurs introduisent ce qui, à ma connaissance, est la première
tentative de reconstruction de topologie contenant de multiples sources et de multiples
destinations. Leur méthode est basée sur la relation dénie en section 3.1.5.3, à savoir la
relation I(Pprobe ). Cette relation permet d'identier, entre deux arbres, quels sont les liens
partagés les uns par les autres. Le modèle reconstruit est donc une forme de concaténation
d'arbre : chaque lien est identié comme partageant un sous-chemin commun avec celui
d'un autre arbre. C'est le principal problème de cette modélisation : l'identication de liens
en provenance de diérents arbres n'est pas transitive.
En eet, comme on le voit à la gure 4.5 la relation "avoir un sous-chemin commun"
n'est pas transitive. En eet, le fait qu'un chemin paa0 ait un sous-chemin commun avec
un chemin pbb0 , de même que pbb0 avec un chemin pcc0 n'implique pas que paa0 ait un souschemin commun avec pcc0 . De plus, même si paa0 a un sous-chemin commun avec pcc0 , cela
n'implique pas qu'il existe un sous-chemin commun à paa0 , pbb0 et pcc0 . Cela implique que
les points de rencontre entre les arborescences ne sont dénis formellement que pour une
paire d'arbres, empêchant toute exploitation utile de cette connaissance.
Problématique La problématique que vise à résoudre les auteurs dans [107] n'est pas
explicite ; si l'on considère que la problématique est celle d'apparier les arbres deux à
deux, le problème est trivialement bien déni. De même, si l'on considère que l'on souhaite
reconstruire un graphe réprésentant les points de conjonctions et de disjonctions qui sont
ceux du graphe logique, on peut considérer, au vu de la gure 4.5, que le problème est
mal déni, puisqu'il existe plusieurs représentations et congurations correspondant aux
informations que l'on peut retirer de la relation I(Pprobe ).
a
b
a
c
u
b
c
u
w
w
v
c’
a’
b’
a’
c’ b’
Figure 4.5. Non transitivité de l'identication
Hypothèses de dénition Dans le cas où le problème est celui de l'établissement de
relations entre toutes les paires d'arbres, alors les hypothèses de dénition sont identiques
à celles de la reconstruction d'un seul MINT. Dans le cas contraire, le problème est mal
déni.
62
Modélisation des performances par une topologie du réseau
4.2.5.3 Recoupement de MINT de racines diérentes dans le cas symétrique
Dénition Par cas symétrique, nous entendons que le routage est symétrique, i.e. que
le chemin emprunté d'une source a vers une destination b contient exactement les mêmes
noeuds que le chemin emprunté depuis b vers a, mais aussi que la métrique est symétrique.
Les auteurs de [50] donnent un algorithme permettant la reconstruction d'une représentation de la concaténation des diérentes arborescences MINT obtenues depuis chacun
des noeuds considérés. Chaque noeud i, tour à tour joue le rôle du serveur, et une MINT
enracinée par ce noeud ayant un ensemble de feuilles R \ {i} est reconstruite. Puis la symétrie permet une identication des noeuds en se basant sur les points de conjonction et
de disjonction de chaque chemin.
Problématique L'identication des points de disjonction et de conjonction laisse tri-
vialement apparaitre un problème qui est bien déni. Les auteurs se basent sur la couverture des points inférés lors des diérentes constructions d'arbres pour reconstruire une
vue unique et consistante du réseau. Cette méthode n'est valide que par le fait que les
hypothèses de symétrie, sur le routage mais aussi sur la métrique, sont respectées. Ces
hypothèses sont fortes, voire totalement irréalistes dans le cas de la bande passante.
Hypothèses de dénition Les contraintes pour avoir une représentation unique sont
particulièrement nombreuses, puisqu'elles regroupent les hypothèses de dénition traditionnelles des MINT (consistance, stabilité du routage, monotonicité et séparabilité de la
métrique) plus de nouvelles (symétrie de la mesure et du routage).
4.3
Nouveaux modèles pour le cas multiples sources, multiples destinations
Comme nous l'avons vu dans les exemples précédents, les diérents modèles existants
pour le cas multiples sources, multiples destinations, jusqu'à présent, soit :
reposent sur des assertions relativement fortes sur le réseau, son comportement, voire
sa topologie physique (comme les dénitions reposant sur la symétrie du routage par
exemple),
ne sont pas vraiment spéciés de manière à traduire le comportement du réseau
(comme les dénitions basées sur l'identication de sous-chemins communs).
Nous avons donc développé de nouveaux modèles pour caractériser le comportement du
réseau et sa topologie pour le cas multiples sources, multiples destinations permettant de
réduire le nombre d'hypothèses initiales nécessaires. Dans un premier temps, nous avons
63
Modélisation des performances par une topologie du réseau
élargi les notions propres au MINT pour qu'elles puissent traduire le comportement du
réseau en présence de multiples sources. Nous appelons ce nouveau modèle Multiple Source
Multiple Destination MINT (Multiple Source Multiple Destination Metric Induced Network Topology (MSMDMINT)). Malheureusement, comme nous le verrons en section 4.3.1,
l'extension naturelle de la notion de MINT pour ce cas-ci ne permet pas d'exhiber une problématique bien dénie, car la représentation d'un réseau n'est pas unique. Nous avons donc
déni un modèle plus pratique, le système partiellement ordonné induit par une métrique
ou Metric Induced Network Poset (MINP), qui est, lui, bien déni (voir section 4.3.2). C'est
pour reconstruire des topologies de ce type que nous avons développé les algorithmes de
reconstruction décrits en section 5 ainsi que les méthodes de mesure décrites au chapitre
6.
4.3.1 Topologie réseau induite par une métrique depuis plusieurs sources
vers plusieurs destinations (MSMDMINT)
4.3.1.1 Dénition par construction
Topologie induite par une métrique Une topologie induite par une métrique m
avec un paramètre de sensibilité s est une topologie étiquetée sur les arcs formée à partir
de G00 (c'est-à-dire la topologie logique). Elle peut être construite en 2 étapes : après avoir
établi si la capacité d'un chemin est détectable, on réduit le graphe en supprimant les
sous-chemins ne l'étant pas.
1. Etablissement de la détectabilité : On dénit une application G(p, psub ) qui fait
correspondre à chaque chemin p ayant un sous-chemin psub un nouveau chemin p0 . p0
est obtenu en supprimant psub dans p. On supprime le sous-chemin en confondant le
noeud de départ de psub et son noeud destination en un seul et même point.
On dénit l'application H(Pi , psub ) faisant correspondre à tout sous-ensemble Pi de
Pe2e un ensemble de chemins constitué de toutes les images des p ∈ Pi par l'application G(p, psub ).
On dénit l'application I(pi ) qui fait correspondre à chaque pi ∈ M axPe2e l'ensemble
Ps dont les éléments sont les ensembles de chemins appartenant à Pe2e admettant pi
comme sous-chemin commun maximum.
Pour chaque pmax ∈ M axPe2e on établit si :
H(P ,p
i max
∃Pi ∈ I(pmax ), pj ∈ Pi tel que m(fpPji ) 6= m(fG(pj ,p
) ± s (1)
max )
)
Cela revient à vérier si il existe parmi toutes les diérentes possibilités d'injections
concomitantes de tests une conguration où le chemin pmax inue sur les mesures,
et possède donc une capacité détectable.
Si la métrique est constante, alors on peut déterminer la valeur de l'étiquette à
appliquer sur le sous-chemin considéré. En eet, cela signie que quels que soient les
64
Modélisation des performances par une topologie du réseau
Pi et leurs éléments pj satisfaisant la condition (1), les valeurs déduites pour cpmmax
seront similaires. L'étiquette pourra donc être par exemple la moyenne des valeurs
trouvées.
Si la condition n'est pas respectée, cela signie que la capacité des liens de ce pmax
est indétectable.
2. Réduction du graphe : On dénit une application G 0 (p, Psub ) qui fait correspondre
à chaque chemin p ayant un ensemble de sous-chemins Psub un nouveau chemin p0 .
p0 est obtenu en supprimant tous les arcs n'appartenant à aucun élément de Psub
dans p. On supprime ces sous-chemins en confondant leurs noeuds de départ et de
destination respectifs en un seul et même point. Cela revient à supprimer tous les
liens propres à p vis-à-vis de ses sous-chemins appartenant à Psub .
De même, on dénit une application H0 (Pi , Psub ) faisant correspondre à tout sousensemble Pi de Pe2e un ensemble de chemins constitué de toutes les images des p ∈ Pi
par l'application G 0 (p, Psub ).
On classe tout d'abord les pmax ∈ M axPe2e par cardinalité croissante. Ainsi les souschemins communs maximum les plus courts seront considérés en premier.
Puis on procède comme suit pour chaque pmax :
Si la capacité du pmax considéré est détectable, alors on étiquette par la valeur
détectée un de ses liens propres vis-à-vis de l'ensemble des liens déjà étiquetés
contenus par ce pmax .
Si la capacité pmax est indétectable, alors on remplace les éléments de l'ensemble
I(pmax ) par leurs images par H0 (Pi , Psub ), où Psub est l'ensemble des sous-chemins
détectés de pmax . Notons que si de tels chemins existent, ils ont déjà été étiquetés,
puisque nous traitons les pmax par cardinalité croissante.
La gure 4.6 donne un exemple de ce type de changement pour l'exemple précédent
si la métrique est le délai et s = 1ms.
A
3ms
1
4ms
B
3ms
Oms 3
C
4ms
0ms
2
4ms
4ms
5
4ms
A
X
2ms
Y
B
4ms
4ms
3ms
4ms
2
4ms
5
4ms
X
2ms
Y
3ms
2ms
2ms
C
2ms
2ms
W
W
Figure 4.6. Liens entre une topologie logique et une topologie induite par une métrique
65
Modélisation des performances par une topologie du réseau
4.3.1.2 Problématique
Comme nous l'avons évoqué précédemment, l'extension intuitive du problème de la
reconstruction d'un MINT au cas multiples sources, multiples destinations ne permet pas
de dénir un problème bien déni. En eet, la représentation des eets des capacités et de
la topologie physique d'un réseau vis-à-vis d'une métrique donnée en posant uniquement
les conditions établies précédemment n'est pas unique. Cela tient au fait de la nécessité de
choisir un lien à étiqueter parmi ceux représentant le sous-chemin commun lors de la phase
de réduction du graphe décrite en section 4.3.1.1. Une illustration pratique et simple de
deux modèles MSMDMINT correspondant au même réseau est donnée à la gure 4.7 (1).
De manière à avoir une problématique plus aisée à résoudre, bien dénie, nous avons dû
dénir un nouveau modèle du réseau, le MINP, que nous présentons à la section suivante.
4.3.2 Système partiellement ordonné induit par une métrique (MINP)
4.3.2.1 Dénition
Un MINP (Metric Induced Network Poset ) est un système partiellement ordonné M m =
(N, ) formé à partir de l'ensemble M axPe2e .
N est déni par la relation ∀i ∈ M axPe2e , i détectable pour la métrique m ⇐⇒ i ∈
N,
≺ est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i,
Chaque élément de p ∈ N est étiqueté par sa capacité cpm .
Pour des raisons pratiques, nous pouvons ajouter un noeud de jointure supérieur ainsi
qu'un noeud de jointure inférieur au système partiellement ordonné. Le noeud de jointure
supérieur (le supremum) est un élément de N que nous noterons Ω qui est un chemin
détectable de longueur 0 et qui est lié aux autres éléments de N par la relation ∀i ∈
N
Ω ≺ i. Si l'on considère la métrique de la bande passante atteignable en régime
permanent pour un ux TCP, l'étiquette de ce chemin pourrait être cΩ
m = ∞. De par la
dénition d'un MINP, le système partiellement ordonné obtenu par l'ajout du noeud Ω
et des relations qui le lient aux éléments de N est un demi-treillis supérieur, puisque ce
nouveau noeud représente un sous-ensemble de toutes les partitions de chaque chemin de
M axPe2e en sous-chemins. Nous ne représentons habituellement pas ce noeud.
De même, nous pouvons ajouter un inmum p∞ pour obtenir une structure de treillis
complet, structure plus simple à représenter et à utiliser qu'un simple système partiellement
ordonné. Cette borne inférieure peut être dénie comme l'ensemble E contenant tous les
liens réseaux. Nous ne représentons habituellement pas ce noeud.
Pour résumer, le modèle MINP ne représente plus vraiment la topologie physique, mais
les relations entre les diérents chemins du réseau. Les noeuds représentent les chemins
et sous-chemins communs détectables pour tous les sous-chemins de Pe2e et les relations
66
Modélisation des performances par une topologie du réseau
représentent les relations d'inclusion pour l'ensemble de ces chemins et sous-chemins.
Représentation De manière classique, nous utilisons une représentation sous forme de
diagramme de Hasse pour représenter un MINP. Nous représentons le système partiellement ordonné via la relation de couverture du MINP en utilisant une orientation implicite
vers le haut. Dans un diagramme de Hasse, chacun des éléments de N est représenté par un
point, et des arcs sont dessinés entre deux points si les conditions suivantes sont respectées :
si x ≺ y dans le système partiellement ordonné, alors le point correspondant à x doit
apparaître plus bas dans le diagramme que celui réprésentant y .
L'arc entre deux éléments x et y du système partiellement ordonné est dessiné si et
seulement si x couvre y ou y couvre x.
Nous représentons donc les éléments de Pe2e en bas du diagramme, et si l'on désire le
représenter, plus bas encore, l'inmum p∞ ; quand il est représenté, le noeud Ω est le point
le plus haut du diagramme.
Quelques exemples A des ns didactiques, nous donnons ici quelques topologies et
leurs représentations en tant que MINP. Dans la gure 4.7, les cercles blancs représentent
des noeuds sources et les noirs, des noeuds destinations. Les carrés sont des routeurs ou
des équipements physiques qui sont des points de conjonction ou de disjonction pour les
0
0
chemins de Pe2e . Les paramètres cem , cem , cfm , cfm , cgm , chm et cim sont les étiquettes des arêtes
correspondantes. Les lignes pointillées représentent les chemins de Pe2e pris par les ux
entre les noeuds sources et les noeuds destinations. Nous considérons que l'organisation
logique des transferts ne permet que les communications de a vers a0 , b vers b0 et c vers
c0 . Comme nous nous intéressons plus spéciquement dans cette thèse à la bande passante
atteignable en régime permanent par des ux de type TCP, nous considérerons ici cette
métrique.
MINP et bande passante disponible La gure 4.7 (1) représente deux topologies
contenant chacune 3 sources et 3 destinations. Nous considérerons ici que tous les liens
autres que e et f ont une capacité plus grande que ceux-ci et sont donc indétectables.
Ces topologies vont avoir un impact similaire sur les performances des communications si
0
0
ceBandwidth = ceBandwidth et cfBandwidth = cfBandwidth . Ceci est dû au fait que les chemins paa0
et pbb0 vont partager dans les deux cas un lien commun étroit de capacité ceBandwidth et que
le lien étroit commun à tous les chemins (f ou f 0 ) a une capacité de cfBandwidth dans les
deux cas.
Les deux MINP possibles représentés sur la droite de la gure correspondent à deux
relations diérentes entre les valeurs de ceBandwidth et cfBandwidth . Le MINP sur la gauche
représente le cas où ceBandwidth < cfBandwidth . Le noeud le plus haut représente le souschemin f , celui du milieu le sous-chemin commun formé par e et f , et les noeuds les plus
67
Modélisation des performances par une topologie du réseau
a
b
e
(1)
a’
c
a
f
c
c’
a’
f
f’
e’
b’
a
b
b’
e
c’
a−>a’
b−>b’ c−>c’
u
w
a−>a’
b−>b’ c−>c’
b
c
u
(2)
v
w
u
w
v
c’
f
a’
b’
a−>a’
b−>b’
c−>c’
a−>a’
b−>b’
u
c−>c’
a−>a’
b−>b’ c−>c’
Figure 4.7. Quelques topologies simples et leurs représentations en tant que Metric Induced Network Poset (MINP)
bas représentent respectivement de gauche à droite les chemins paa0 , pbb0 et pcc0 . Le MINP
sur la droite représente le cas où ceBandwidth ≥ cfBandwidth . Dans un tel cas, le sous-chemin
e n'est pas détectable puisque aucun sous-ensemble de Pe2e ne peut saturer ce lien par
l'injection simultanée de ux/tests/mesures sur ces chemins. La diérence entre ces deux
possibles sous-cas peut dans des cas réels être causée par le trac interférent, quand on
considère la bande passante atteignable par un ux de type TCP en régime permanent. Si
nous considérons que la bande passante physique du cable e est une constante, le premier
cas correspond au fait que le trac interférent fait baisser la bande passante disponible sur
le chemin e au point que la capacité de celui-ci devient détectable. Cet exemple permet
d'illustrer une caractéristique d'un MINP : un MINP ne dépend pas uniquement de la
topologie du réseau, des chemins inclus dans Pe2e et de leurs capacités, mais aussi du trac
interférent.
La gure 4.7 (2) représente une situation intéressante : chaque paire de ux partage
un lien commun étroit, mais il n'existe aucun chemin commun étroit partagé par tous les
ux. Cela signie qu'une représentation de type arborescente ne peut être susante pour
cette topologie réseau. Si u, v et w sont des liens étroits avec des capacités similaires (cum =
cvm = cw
m ), alors le MINP correspondant à ce cas est celui immédiatement sur la gauche, car
chaque lien étroit est détectable. Le MINP central représente le même réseau pour cvm > cw
m
u
w
et cm = cm . Dans un tel cas, aucune injection de ux ne va permettre de saturer le lien v ,
68
Modélisation des performances par une topologie du réseau
et nous avons donc uniquement deux sous-chemins communs détectables. Enn, le MINP
v
w
u
de droite représente le cas où cvm et cw
m ne sont pas détectables, car cm > cm > cm par
exemple.
4.3.2.2 Problématique
Dénition Nous dénissons le problème de reconstruction d'un MINP de la manière la
plus simple qui soit : reconstruire un MINP représentant le comportement du réseau à un
instant t, étant donné des mesures sur Pe2e .
Ce problème précédemment posé est bien déni si :
1. La solution existe
2. Elle est unique
Prouver que le problème est bien déni revient donc simplement à prouver que la représentation d'un réseau existe et est unique, quel que soit le réseau cible. Le plus simple
est de partir du réseau cible et de reconstruire le MINP représentant ses propriétés. Nous
donnons donc ici les preuves de l'existence d'une telle représentation, ainsi que celle de son
unicité, sous des hypothèses relativement faibles vis-à-vis du comportement du réseau ou
des propriétés de la métrique considérée.
Existence Une représentation MINP d'un réseau peut toujours être reconstruite à partir
d'un réseau, sous certaines conditions. Les chemins doivent être stables pour pouvoir être
décomposés en sous-chemins détectables. Ces derniers ne pourront être étiquetés que si
la métrique est constante. Sinon, la décomposition en sous-ensembles de liens n'est bien
sûr pas faisable. Les auteurs de [54] assurent que les chemins traversant Internet sont
hautement stables. Si nous considérons que le réseau Internet a des propriétés similaires
à celles de notre réseau cible, cela implique que les chemins qui le traversent sont assez
stables. Sous ces conditions, on peut conclure à l'existence d'un MINP pour un réseau
quelconque.
Considérons le réseau cible comme un graphe orienté V (G, E) muni d'une fonction de
routage associée dénissant des chemins stables. La fonction de routage est donc un mapping
entre l'ensemble des chemins de bout en bout Pe2e et les ensembles de liens consécutifs de
E . Chaque image de chaque élément de Pe2e par la fonction de routage dans E peut
être décomposée en sous-ensembles de liens adjacents. De tels ensembles d'éléments de E
sont soit détectables, soit ils ne le sont pas. Les ensembles détectables qui appartiennent à
l'ensemble M axPe2e sont par dénition contenus dans l'ensemble des parties de l'ensemble
E (i.e. le power set de E noté P owerSet(E)). L'ensemble des parties de l'ensemble E existe
suivant l'axiome de l'ensemble des parties. Puisqu'un tel ensemble existe, les éléments qu'il
contient aussi. Le système partiellement ordonné formé par dénition de l'ensemble des
parties de l'ensemble P owerSet(E) et la relation ⊂ est un treillis, où l'ensemble vide est
69
Modélisation des performances par une topologie du réseau
le suprémum et l'inmum l'ensemble E . Le sous-ensemble de P owerSet(E) ne contenant
que les sous-chemins détectables inclus dans M axPe2e plus l'ensemble vide et l'ensemble E
lui même, muni de la relation ⊂ est, par dénition, un MINP.
Unicité Comme nous l'avons mentionné précédemment, des MINP diérents peuvent
être reconstruits pour le même réseau, suivant la nature du trac interférent circulant sur
le réseau cible. Donc, dire qu'il existe un unique MINP pour un réseau donné muni d'une
fonction de routage générant des chemins stables sur celui-ci n'est une assertion viable que
si les conditions réseau (i.e. le trac interférent) ne changent pas signicativement durant
la période où des ux sont injectés pour permettre une reconstruction.
Puisque le trac interférent change peu, la détectabilité est une propriété qui dénit une
injection depuis l'ensemble P owerSet(E) vers l'ensemble des chemins détectables. Donc,
puisque la dénition d'un MINP est basée sur une injection de M axPe2e vers l'ensemble
N d'un MINP et d'une injection depuis l'ensemble des relations ⊂ vers ≺, un MINP est
unique pour un M axPe2e et une relation ⊂ donnée. Pour prouver qu'un MINP est unique
pour un réseau donné, il faut prouver l'unicité de l'ensemble M axPe2e et de l'ensemble des
relations ⊂ pour tout réseau G(V, E) et sa fonction de routage associée produisant des
chemins stables. Puisque M axPe2e contient par dénition tous les sous-chemins communs
maximum pour l'ensemble Pe2e on ne peut trouver deux M axPe2e diérents pour un Pe2e
donné. Puisque les chemins de routage sont supposés être stables, il existe un unique Pe2e
pour un G(V, E) donné et une fonction de routage associée générant des chemins stables.
Puisque la relation ⊂ ne depend pas de l'état du réseau, mais des propriétés des ensembles,
il existe donc un unique MINP pour un réseau cible donné.
4.3.2.3 k-MINP
Prenons maintenant le cas où l'on recherche des chemins et sous-chemins k-détectables.
Un point intéressant est que la détectabilité reste toujours une injection depuis l'ensemble
des éléments de P owerSet(E) vers l'ensemble des chemins et sous-chemins. En appliquant
le même raisonnement que précédemment, on peut ainsi prouver que la reconstruction
d'un MINP ne représentant que les chemins k-détectables est toujours un problème bien
déni. On peut donc aisément donner la dénition d'un k-Metric Induced Network Poset
(k-MINP) comme étant la représentation MINP d'un réseau en reprenant la dénition
donnée plus haut et en changeant la détectabilité par la k-détectabilité :
Dénition Un k-MINP (k - Metric Induced Network Poset) est un système partiellement
ordonné M m = (N, ) formé à partir de l'ensemble M axPe2e .
N est déni par la relation ∀i ∈ M axPe2e , i k-détectable pour la métrique m ⇐⇒
i ∈ N,
≺ est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i,
70
Modélisation des performances par une topologie du réseau
Chaque élément de p ∈ N est étiqueté par sa capacité cpm .
Le MINP peut être considéré comme un k-MINP où k = |Pe2e |.
4.3.2.4
∞-MINP
De même, il pourra être utile comme nous le verrons dans le chapitre 5 consacré à
la reconstruction de MINP d'avoir une représentation en MINP de la vue logique d'un
réseau. Dans ce cas-là, on considèrera tout lien logique comme détectable et l'on parlera
∞-MINP. De même que pour les autres types de MINP et pour les mêmes raisons, il existe
une unique représentation MINP d'un réseau logique. De manière formelle on peut dénir
le ∞-Metric Induced Network Poset (∞-MINP) comme suit :
Dénition Un ∞-MINP (∞ - Metric Induced Network Poset) est un système partielle-
ment ordonné M m = (N, ) formé à partir de l'ensemble M axPe2e .
N est déni par la relation ∀i ∈ M axPe2e ⇐⇒ i ∈ N ,
≺ est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i,
Les éléments de p ∈ N ne sont pas étiquetés.
L'∞-MINP peut être considéré comme le MINP représentant les sous-chemins communs
de l'ensemble des sous-ensembles de Pe2e , que ces sous-chemins soient détectables ou non.
k-MINP et nombre de sous-chemins communs détectables Un point intéressant
de la structure d'un k-MINP est que le nombre de sous-chemin communs k-détectables
est directement lié à k. Par exemple, un chemin 1-détectable sera mis en valeur par tous
les sous-ensembles de Pe2e de cardinalité 1. Si n = |Pe2e | il y aura donc, au plus, dans un
1-MINP n noeuds induits en plus des noeuds représentant les chemins de Pe2e . De même,
un 2-MINP ne pourra contenir que des chemins 1-détectables et des chemins engendrés
par tous les couples de chemins, soit n chemins 1-détectables plus n(n − 1)/2 chemins 2détectables, soit en tout n2 + n/2 noeuds. D'une manière générale, le nombre m de noeuds
induits dans un k-MINP peut être exprimé par :
m≤
k
X
Cni
(4.14)
i=1
Cette propriété, qui permet de borner le nombre de noeuds dans un k-MINP, peut être
utile lorsque l'on tente d'en reconstruire un. En eet, le nombre de noeuds présents dans
un MINP permet de dénir des assertions sur les noeuds à découvrir, par exemple.
4.3.2.5 Hypothèses de dénition
De par l'existence d'un unique (k-)MINP pour tout réseau cible respectant les contraintes
évoquées plus haut, on peut dire que le problème de la reconstruction d'un MINP est bien
déni. Les hypothèses sous lesquelles ce problème est bien déni sont donc :
71
Modélisation des performances par une topologie du réseau
1. La stabilité. Si les chemins ne sont pas assez stables pour permettre d'avoir une forte
probabilité que ceux-ci ne changent pas lors de la phase de l'injection de ux pour
reconstruire le réseau, alors de multiples représentations MINP peuvent être trouvées
pour un même réseau. Comme cité précédemment, puisque les chemins parcourant
l'Internet sont assez stables, cette assertion ne paraît pas irréaliste.
2. La stabilité du trac interférent. Si le trac interférent change signicativement, la
détectabilité d'un lien peut changer. La notion de changement signicatif est cependant très variable suivant le type de procédure de tests du réseau ainsi que la métrique
considérée.
4.3.2.6 Relation avec les modèles existants
Relation entre MINPs et topologies issues d'identications d'équipements le
long de chemins La topologie par identication d'équipements le long de chemins
n'étant valuée que par les adresses des équipements, la seule structure MINP utilisable
pour retranscrire les informations obtenues par ce biais est l'∞-MINP. Le passage de cette
topologie à un ∞-MINP peut se faire très simplement si l'on considère que tous les équipements réseaux ont répondu aux requêtes d'identication. Dans un premier temps, on
peut retranscrire la topologie obtenue en tant que topologie logique en suivant la méthode
décrite en section 4.2.1.2. Depuis ce graphe il est trivial de reconstruire M axPe2e , puis, en
utilisant la dénition d'un ∞-MINP, de reconstruire la représentation de cette topologie.
Notons que la reconstruction inverse n'est pas possible, puisque nous avons perdu les
identications des diérents noeuds dans ∞-MINP correspondant.
Enn, dans le cas où l'on ne dispose que d'identications partielles du réseau, on peut
tout de même construire des MINP partiels eux-aussi en utilisant la méthode décrite cidessus. Les MINP partiels obtenus, et la manière de les représenter dépendent de l'utilisation de ceux-ci. Nous reviendrons dans le chapitre 5 sur la façon d'utiliser ceux-ci.
Relations entre MINPs et MINTs Un MINT étant déni comme une représentation
des disjonctions détectables entre un ensemble de k chemins partant de la même source
s0 , chaque arête correspond à un sous-chemin commun k -détectable pour un ensemble de
chemins. Un k-MINP M m = (N, ) peut donc trivialement être reconstruit : en partant
de la racine du MINT, on construit l'ensemble de N en y ajoutant un élément par arc
du MINT. La valuation du nouvel élément de N est celle de l'étiquette de l'arc du MINT
considéré. La relation est elle construite à partir de l'adjacence des arcs. On aura ∀x, y ∈
N, x y si l'arc correspondant à x a pour destination le point origine de l'arc y .
La représentation obtenue peut être considérée comme une forêt, si l'on ne tient pas
compte de l'inmum et du supremum du treillis, de par sa construction. Les feuilles des
arbres obtenus sont les chemins complets de Pe2e .
Il est simple de constater que si on dispose d'une représentation MINP d'un ensemble de
72
Modélisation des performances par une topologie du réseau
chemins Pe2e ayant tous une source commune s0 on peut de manière inverse et en utilisant
la même méthode que celle décrite précédemment construire un MINT correspondant à ce
MINP.
Relations entre MINPs et topologies issues de recoupement de MINT Dans le
cas de recoupement de MINT autrement qu'en utilisant la symétrie, il ne peut exister de
dénition formelle des relations entre MINP et ces recoupements de MINP, ceux-ci n'étant
pas formellement une représentation du réseau, mais plutôt une représentation des liens
entre les diérentes arborescences MINT. Dans le cas de recoupement par symétrie, la
topologie obtenue présente les mêmes caractéristiques que la topologie logique. Les liens
entre ces topologies et les MINP sont donc identiques à ceux décrits en section 4.3.2.6.
Relations entre MINPs et graphes d'interférences Les graphes d'interférences
étant non étiquetés, la seule relation pouvant exister entre ce modèle et les MINP est
la reconstruction d'un ∞-MINP. Le graphe d'interférence peut aisément être transformé
en topologie logique, en utilisant la techique de reconstruction de celle-ci dénie à la section 4.2.1.2. Les relations entre ces deux modèles sont donc identiques à celles décrites en
section 4.3.2.6.
Relations entre MINPs et MSMDMINTs Les MSMDMINT tels que dénis à la
section 4.3.1 ont les mêmes propriétés qu'une topologie logique qui serait étiquetée. Les
liens entre ces topologies et les MINPs sont donc identiques à celles décrites en section
4.3.2.6.
4.4
Synthèse
Nous donnons ici une rapide synthèse de l'apport de nos travaux par rapport aux
travaux existants.
4.4.1 Modèles existants
Les modèles existants, sont, la plupart du temps, basés sur des paradigmes de communication client/serveur, et ne sont donc pas adaptés au problème plus spécique posé par
le fait d'avoir de multiples serveurs et de multiples destinations. Dans le cas de modèles
prenant en compte ces problèmes, on peut distinguer soit :
1. des modèles à la signication sémantique faible (ou en tout cas inutile dans notre cas
où la métrique considérée est la bande passante), comme le couplage d'arborescences
73
Modélisation des performances par une topologie du réseau
par identications de branches communes, ou encore le recoupement d'arborescences
dans le cas symétrique, cas irréaliste.
2. des modèles sémantiquement plus forts, mais reposant sur des hypothèses fortes sur
le réseau ou son comportement, comme par exemple les graphes d'interférence.
4.4.2 Nouveaux modèles
Les nouveaux modèles présentés ici répondent aux problèmes posés par les modèles
existants :
1. Le problème du manque de signication de la dénition formelle de ce qu'est un
MINT dans le cas Multiple Source Multiple Destination (MSMD), rendait nécessaire
la dénition d'un MSMDMINT. La redénition formelle de ce modèle permet d'entrevoir que le modèle visé doit être plus souple, car certains ordres, en particulier ceux
induits par les chemins, sont indiérenciables sans hypothèses fortes sur le réseau
(symétrie du routage ou de la métrique par exemple).
2. Le problème des hypothèses fortes pour les modèles existants pour le cas multiples
sources, multiples destinations, rendait nécessaire la dénition d'un nouveau modèle,
nécessitant moins d'hypothèses, pour permettre une réelle mise en oeuvre de la tomographie réseau multiples sources, multiples destinations. L'existence d'un MINP
ne reposant que sur des hypothèses simples et réalistes (stabilité des chemins, consistance des métriques) répond à ce besoin.
Enn, l'utilisation d'un (k-)MINP pour représenter les caractéristiques d'un réseau
permet de dénir le problème de la tomographie réseau pour le cas multiples sources,
multiples destinations de manière réaliste ; restent les problèmes de la reconstruction et de
la mesure des relations topologiques sur le réseau, qui sont le sujet des chapitres suivants.
74
Algorithmes de reconstruction pour la
tomographie réseau
Dans ce chapitre, nous traitons de la reconstruction de topologie réseau d'un point de
vue algorithmique. Comme nous l'avons évoqué précédemment, les diérentes techniques
de reconstructions sont intimement liées aux modèles que nous voulons reconstruire, ainsi
qu'aux interactions entre un ensemble de chemins que permet d'établir la relation dénie
à partir de la fonction de valuation lors des mesures. Ces mesures, qui sont donc à la
base du jeu de données utilisé lors de la reconstruction, peuvent être classées suivant une
taxonomie basée sur les propriétés des mesures elles-mêmes. Par exemple, certaines mesures
nécessitent la saturation des chemins testés, comme par exemple les mesures décrites dans
[96]. D'autres types de mesures au contraire, ne sont que peu intrusives, comme celle utilisée
dans [107] pour l'identication de sous-chemins communs. Certaines mesures ne pourront
donc pas être eectuées en parallèle, à moins de connaître une partie de la topologie du
réseau, alors que d'autres pourront s'eectuer en parallèle sans introduire de biais entre
mesures concomitantes. Cet aspect des tests est un exemple qui démontre que la complexité
et l'écriture des algorithmes de reconstruction peuvent dépendre de l'ordonnancement de
ceux-ci. La suite du chapitre est donc découpée comme suit : dans un premier temps,
nous donnons les principales propriétés des tests qui inuent sur l'algorithmique employée
pour la reconstruction des topologies. Puis, nous faisons un état de l'art des principales
méthodes existantes pour reconstruire les modèles de la littérature, pour donner une échelle,
en terme de complexité, tant en nombre d'étapes de tests, de tests, ainsi qu'en complexité
de l'algorithme, par rapport à laquelle estimer les algorithmes développés dans le cadre
de cette thèse. Enn, nous décrivons les algorithmes implémentés dans notre outil, ainsi
que les algorithmes pouvant améliorer les performances de l'outil dans le cadre de travaux
futurs.
5.1
Propriétés des mesures
5.1.1 k-mesure et k-test
Les mesures, telles que nous les avons évoquées jusqu'à présent, sont donc des techniques nous permettant de retrouver des relations entre les diérents chemins appartenant
75
Algorithmes de reconstruction pour la tomographie réseau
à l'ensemble de chemins Pprobe sur lesquels ces mesures sont eectuées. De manière à aner
cette dénition, pour permettre de dénir plus précisément les caractéristiques de celles-ci,
nous introduisons ici deux notions diérentes et complémentaires : la k-mesure et le k-test.
Une k-mesure est une mesure qui s'eectue sur un ensemble de chemins de cardinalité k,
c'est-à-dire en injectant des ux sur ces k chemins, par exemple, (Pprobe ). Intuitivement,
on pourra penser qu'utiliser une k-mesure nécessitera pour reconstruire l'intégralité d'une
topologie d'eectuer cette mesure sur l'ensemble des sous-ensembles de cardinalité k de
Pe2e (ce qui n'est pas forcément le cas en pratique, comme nous le verrons par la suite).
Un autre aspect important d'une mesure est la cardinalité de la relation qui est établie
par le test eectif. Cette cardinalité correspond à la k-détectabilité du sous-chemin commun
que l'on teste. On nommera un test un k-test si il permet d'établir une relation k-détectable.
Prenons par exemple la métrique de la bande passante et la relation nécessaire à la reconstruction le fait d'établir si "un ensemble de k chemins possède un goulot d'étranglement
commun 2-détectable". Supposons que l'on dispose d'informations pré-établies sur un ensemble P de n chemins et que l'on sache qu'ils ne possèdent pas de sous-chemin commun
deux à deux, ainsi qu'un chemin p dont on ne connaisse que la bande passante disponible
quand un ux est injecté le long de celui-ci. Un exemple de n-mesure 2-test simple serait
le suivant. On établit une saturation des n chemins, puis l'on évalue la bande passante sur
le chemin p ; une baisse de la bande passante disponible le long de p indiquerait l'existence
d'un sous-chemin commun 2-détectable. Si par diérentes méthodes, on arrive à déterminer
quels sont les chemins de P qui ont aussi subi des baisses de performances, on obtiendrait
à priori une mesure d'une propriété 2-détectable sur (n + 1) chemins, en utilisant donc une
(n+1)-mesure 2-test.
En général, la cardinalité de k-mesures k-tests est de 2. Cette cardinalité n'est pourtant
pas la règle : nos mesures pour les MINP dénissent le plus souvent une relation entre 3 ux
à l'aide d'un 1 ou 3-test, c'est-à-dire qu'elles identient des sous-chemins 1 ou 3-détectables
pour un ensemble de 3 chemins. Les mesures d'identication de sous-chemins communs à
2 arborescences sont des 4-mesures 4-tests, puisque l'ensemble des chemins Pprobe a une
cardinalité de 4 et qu'elles établissent le fait que "les 4 chemins ont une section commune",
soit une 4-détectabilité, et ne permet pas l'établissement des relations 2 ou 3-détectables.
Les tests incluant des recoupements d'arbres multicast impliquent un nombre arbitraire
de chemins. Certains tests, modiés, comme ceux utilisés pour la reconstruction du jeu de
données initial de notre algorithme 5.4.6, peuvent impliquer un nombre croissant de ux.
5.1.2 Temps d'exécution
Un aspect très important des mesures est le temps nécessaire pour eectuer un test sur
l'ensemble des chemins impliqués par la mesure. Ce temps est très souvent long, soit pour
des aspects statistiques (récupération d'un ensemble de données susamment grand pour
76
Algorithmes de reconstruction pour la tomographie réseau
être signiant statistiquement) soit pour des aspects pratiques (par exemple lors de mesures
reposant sur l'évaluation de propriétés de ux TCP en régime permanent). D'autres types
de tests, par contre, ont des temps de réponse très courts (comme par exemple l'établissement de traces de route par envoi de requêtes ICMP). Par exemple, le test d'identication
de sous-chemins communs à plusieurs arborescences par répartition statistique des ordres
d'arrivées sur les noeuds cibles prend environ 2 minutes par quadruplet de chemins. Certaines procédures de mesures, comme par exemple celles reposant sur les propriétés de ux
TCP en régime permanent telle que celle utilisée dans [107] sont uniquement théoriques
dans un cadre de grille : en eet, les grilles possèdent le plus souvent des réseaux high
badwidth.delay, rendant l'attente de la stabilisation de la bande passante utilisée par un
ux dépendant du RTT (comme par exemple les ux TCP) prohibitive (temps d'attente
supérieur à la demi-heure pour un seul ux). La partie la plus coûteuse en pratique lors de
la reconstruction d'une topologie sera le plus souvent non pas la complexité algorithmique
du traitement du jeu de données, mais bien le nombre d'exécutions de mesures séquentielles
nécessaire à la terminaison de l'algorithme, c'est-à-dire la cardinalité du jeu de données.
De plus, l'exécution de tests peut être de temps xe (comme par exemple quand on
récupère un jeu de n données statistiques à intervalles xes), variables (comme quand
par exemple on établit un régime permanent pour un ux) ou bornables (dans le cas
de la récupération d'un ensemble de n données statistiques basées sur des établissements
d'équilibre ou des valeurs de métrique du réseau). Il est donc nécessaire pour évaluer la
diculté de mise en oeuvre d'un algorithme d'avoir une évaluation précise du coût d'une
mesure.
5.1.3 Exclusion mutuelle
Si certains types de tests peuvent être eectués en parallèle car ils ne sont pas très
intrusifs, certains autres, comme ceux basés sur la saturation par exemple, ne peuvent être
menés en parallèle. Cela entraîne de lourdes conséquences sur la complexité de la mise en
oeuvre des tests. A contrario, un exemple de tests pouvant être exécuté en parallèle est la
reconstruction de traces de routes par traceroute ou bien encore une estimation du RTT.
5.1.4 Relations topologiques et reconstruction
Chaque type de mesure repose sur une relation topologique particulière. Cette relation
topologique entre les chemins permet alors, dans la majorité des cas, une reconstruction
d'un modèle dédié à ce type de mesure. Néanmoins, les diérentes relations topologiques
peuvent se recouvrir, tout du moins partiellement, rendant possible la réutilisation de tout
ou partie d'un jeu de données de mesures pour la reconstruction d'une topologie pour
laquelle elle n'était pas initialement destinée. Par exemple, les techniques de mesures déve77
Algorithmes de reconstruction pour la tomographie réseau
loppées dans le cadre de cette thèse tendent à mesurer l'inclusion de sous-chemins communs
à un ensemble de ux dans un autre sous-chemin commun à un autre ensemble de ux. Ce
type de mesure recouvre donc par exemple, les méthodes par identication de sous-chemins
communs, qu'elles soient basées sur la distributions d'arrivées de paquets [107] ou sur la
saturation de chemins pour détecter l'existence des sous-chemins en question [96]. Il existe
donc une hiérarchie sémantique entre les diérentes relations topologiques utilisées, qui se
répercute directement sur les méthodes de reconstruction, permettant certains passages
d'un modèle vers un autre. Comme nous l'avons vu précédemment dans le chapitre 4 il est
tout à fait possible, à partir d'un MINP, de reconstruire des MINT. L'inverse n'est pas toujours vrai. De plus, certaines opérations qui sont attractives car peu coûteuses donnent en
fait des indications très faibles sémantiquement sur les caractéristiques du réseau, comme
par exemple la technique d'identication de sous-chemins communs qui ne permet que de
coupler des arbres de type MINT deux à deux. Au-delà du simple aspect de modélisation, la
relation topologique issue de la mesure possède ainsi une vraie valeur sémantique donnant
une description plus ou moins forte du réseau.
L'intêret que l'on porte aux diérentes mesures inue bien sûr fortement sur le type de
relation établie : par exemple, le modèle MINP peut faire disparaître l'ordre total des points
de disjonction que l'on trouve entre un serveur et ses clients. Or, ces informations sont
inutiles quand on cherche à évaluer la bande passante atteignable commune à l'ensemble
des ux, puisque cette métrique est basée sur la valeur minimum présente le long du chemin,
et non sur l'ordre de traversée des diérents sous-chemins.
5.2
Algorithmes pour les MINT
Les algorithmes existants pour la reconstruction de MINT ne dièrent que très peu
lorsque l'on parle de MINT basé sur des relations de conjonction ou de disjonction. Nous
traiterons donc ici uniquement des reconstructions de MINT basées sur la disjonction. De
même, l'étiquetage des arcs des arbres ne fait que très peu diérer l'algorithme de reconstruction ; nous ne développerons donc pas de manière spécique le cas de la reconstruction
de topologie non étiquetée, mais regrouperons les deux manières de résoudre le problème
en une seule section.
Nous donnons ici les conditions nécessaires et susantes pour la reconstruction d'un
MINT pour un réseau et une métrique donnée ; puis nous introduisons les deux grandes
familles d'algorithmes pour la reconstruction de MINT : celle basée sur les pré-ordres, et
celle basée sur l'estimation de la vraisemblance.
78
Algorithmes de reconstruction pour la tomographie réseau
5.2.1 Hypothèse de reconstruction
Les hypothèses de reconstruction pour un MINT sont la séparabilité (voir section
4.1.1.6) et la monotonicité (voir section 4.1.1.2).
5.2.2 Reconstructions basés sur les pré-ordres
Par reconstruction basée sur les pré-ordres, nous désignons les algorithmes ne faisant pas
appel à des méthodes d'optimisation statistique pour la reconstruction. Historiquement,
le premier algorithme pour reconstruire des MINT est de ce type [49]. Quelques nouveaux
algorithmes ont été depuis développés [50] [113].
5.2.2.1 Algorithme de reconstruction
Rappelons que la dénition d'un MINT ne porte que sur des chemins ayant tous la
même source, que nous noterons s0 . Nous noterons Pe2e l'ensemble de ces chemins partant
de s0 . Nous noterons l'ensemble des noeuds destinations de ces chemins partant de s0
D0 ⊆ R. Cet ensemble est de cardinalité n, tout comme Pe2e .
Ce premier algorithme de reconstruction de MINT, parfois appelé Deterministic Binary
Tree (DBT (DBT)) nécessite d'avoir le jeu de données initial suivant :
1. La valuation de la fonction disj(Pprobe ) pour tout sous-ensemble de Pe2e de cardinalité
P
), où j est le point de disjonction des chemins de Pprobe .
|Pprobe | = 2, soit m(fpsprobe
0j
2. Le paramètre de sensibilité s.
Lors de sa terminaison, il produit une arborescence de type MINT étiquetée sur les
arcs par la valeur de la métrique considérée, si la métrique permet de le faire, c'est-à-dire
si la métrique est monotone et séparable. Notons que seule la monotonie est nécessaire
pour reconstruire une topologie MINT non-étiquetée. L'algorithme peut être scindé en
trois étapes principales :
Réduction Dans un premier temps, on trie suivant la relation d'ordre ≤ associée à la
métrique m l'ensemble des valuations de la fonction disj(Pprobe ) de cardinalité 2. Puisque
cette valeur correspond à la capacité du sous-chemin commun aux éléments de Pprobe , cette
étape revient à trier les sous-chemins communs à toute paire de ux suivant leur capacité.
Si ces capacités sont supérieures au paramètre de sensibilité s alors le sous-chemin commun
est détectable ; dans le cas contraire, les chemins ne possèdent pas de sous-chemin commun
détectable. Puisque la métrique est monotone, le sous-chemin placé le premier dans cette
liste ne peut être contenu dans aucun autre sous-chemin commun à n'importe quelle autre
paire de ux. Il convient donc de créer le sous-chemin ; on peut donc créer l'arc reliant
s0 et le point de disjonction r entre les deux sous-chemins. Etant donné qu'aucun autre
chemin partant de s0 vers n'importe laquelle des destinations ps0 i et ps0 j ne peut contenir
79
Algorithmes de reconstruction pour la tomographie réseau
r, l'arbre enraciné par r est complètement déni. On donne temporairement aux deux arcs
constitués les valeurs des sous-chemins pri et prj .
Récursion On procède ensuite par récursion grâce à r. Ce nouveau point peut en ef-
fet remplacer les points destinations des éléments de Pprobe . Chacune des valuations de
disj(Pprobe ) dont un des éléments px ∈ Pprobe est ps0 i ou ps0 j peut être réexprimé en remplacant le chemin px par le sous-chemin ps0 r . Après chaque étape i, le problème se réduit
à trouver la topologie entre s0 et Dk+1 = Dk \ {i, j} ∪ {r}. La cardinalité de D est donc
réduite de 1 à chaque étape.
Compression et étiquetage Une fois l'arbre binaire reconstitué à la terminaison de
la récursion, on peut procéder à la compression et à l'étiquetage des arcs. En partant
(l )
des feuilles, on confond chaque noeud interne r avec son noeud père r0 si cmr0 r ≤ s, soit
¬ (Pprobe ). Les étiquettes de liens reliant les anciens enfants de r doivent être mises à
p 0
p
jour. Puisque la métrique est séparable, la nouvelle valeur doit être égale à g(cms0 r , cms0 r ).
5.2.2.2 Compléxité
Etapes de calcul Les auteurs prouvent que la complexité de l'algorithme est polynomiale et bornée par O(|Pe2e |2 ).
Nombre de tests Ce type de reconstruction implique des tests sur l'ensemble des
ensembles Pprobe ∈ Pe2e de cardinalité 2, soit l'ensemble des paires de chemins, donc,
|Pe2e |(|Pe2e |−1)
mesures.
2
5.2.3 Reconstructions basées sur la vraisemblance
5.2.3.1 Algorithme de reconstruction
Ce type de méthode est issu de la communauté statisticienne qui traite souvent l'intégration temporelle de mesures, connaissant la topologie du réseau cible. Leur méthode
d'optimisation de la fonction de vraisemblance utilisée lors de l'intégration temporelle est
transposée au problème de l'inférence de la topologie. Si le but change, le principe général est similaire : à partir d'une fonction de coût, il s'agit d'estimer quel arbre parmi
les arbres possibles est l'arbre possédant l'estimation de vraisemblance la plus grande. La
problématique peut être formalisée comme suit :
Soit un arbre inconnu T (V ∪ R ∪ {s0 }, L), contenant un ensemble V de noeuds internes,
un ensemble R de feuilles (i.e. de noeuds destination), une source s0 et un ensemble L d'arcs.
Soit X ≡ {Xij : i, j ∈ R, i 6= j} où Xij est une variable aléatoire dénie par les valeurs
des mesures disjT ({ps0 i , ps0 j }) = {disjt0 ({ps0 i , ps0 j }), . . . , disjt |T |({ps0 i , ps0 j })}. Soit un
échantillon provenant d'une paire ij de X , soit x ≡ {xij : i, j ∈ R, i 6= j}. Soit p(x|δ) la
80
Algorithmes de reconstruction pour la tomographie réseau
probabilité de x sachant que la capacité du chemin menant de s0 au point de disjonction
(si il existe) entre ps0 i et ps0 j est δ . La probabilité de tous les xij sachant δ connaissant
l'ensemble des mesures peut être considéré comme la fonction de vraisemblance de l'arbre
T . L'arbre T ∗ ayant la vraisemblance maximale est exprimable par :
T ∗ = max log sup p(x|δ),
T ∈F
δ
(5.1)
où F est l'ensemble des arbres possibles ayant pour source s0 et pour feuilles les éléments
de R. T ∗ est donc l'arbre recherché. L'approche brute-force consistant à générer toutes
les arborescences possibles, pour estimer leur vraisemblance, n'est jamais employée. En
eet, on peut dans un premier temps réduire l'ensemble F à l'ensemble des arbres binaires
possibles, puisqu'il est toujours possible de reconstruire un arbre n-aire à partir d'une
représentation binaire, comme on l'a vu dans la description du DBT lors de la phase de
compression de l'arbre. On peut aussi limiter la valeur de δ grâce à la monotonicité. A
partir de cela, diérents algorithmes ont été développés.
Le Lilekihood Based Tree de [58] reprend par exemple le même fonctionnement général
que le DBT, avec la diérence bien sûr que l'inférence est faite pour un ensemble de mesures
dispersées dans le temps. L'équivalent de la topologie produite par cet algorithme est le
résultat de l'intégration temporelle de topologies déterminées par le DBT telle que décrite
dans la section 3.1.5.4.
On peut aussi baser la recherche de la topologie sur des méthodes relativement complexes basées sur les méthodes de Monte Carlo à chaînes de Markov [58], ce qui permet
d'éliminer l'eet de seuil de l'étape de compression, ou encore sur des méthodes de clustering hiérarchique.
5.2.3.2 Complexité
Etapes de calcul Une borne générale, mais très large, du problème de reconstruction
de MINT par l'utilisation de la vraisemblance est le nombre d'arbres possibles dans la
forêt F , soit |R|!
2 . La plupart des techniques, cependant, ont une complexité similaire ou
inférieure à celle de la construction et de l'intégration temporelle de plusieurs MINT pris
à des instants diérents, soit O(|T ||R|2 log(|R|).
Nombre de tests ce type de reconstruction implique le même nombre de tests que le
DBT, soit
mesures.
|R|(|R|−1)
2
mesures répétées |T | fois soit le nombre d'échantillons temporels de
81
Algorithmes de reconstruction pour la tomographie réseau
5.2.4 Reconstruction par recoupement d'arborescences MINT pour le
cas symétrique
5.2.4.1 Hypothèses de reconstruction
Les hypothèses de reconstruction sont les mêmes que celles induites par la dénition du
modèle, à savoir la symétrie du routage, sa consistance et sa stabilité ainsi que la symétrie
de la métrique.
5.2.4.2 Algorithme de reconstruction
L'algorithme présenté dans [50] consiste à regrouper plusieurs arborescences MINT
préexistantes partageant le même ensemble de machines hôtes (source et destination).
L'étape initiale de cet algorithme est la génération de l'ensemble des arbres enracinés par
les noeuds sources F ∫ , soit |S| arbres, ainsi que la génération de F ∇ qui contient |R|
arbres enracinés par un des noeuds destination décrivant l'ensemble des chemins entre un
élément de R et l'ensemble des sources S . L'algorithme prend ensuite en compte chaque
paire d'arbres (Ti , Tj ) appartenant à T ∫ . Pour chacun de ces couples, on intègre chacun des
arbres de F ∇ en préservant la couverture des noeuds. Par couverture, nous entendons que
l'intégration des noeuds est faite en conservant la relation de descendance de chacun de
ceux-ci ; puis on eectue une phase de compression similaire à celle décrite dans la section
5.2.2.1 pour obtenir une intégration cohérente des diérentes arborescences vis-à-vis du
seuillage de la métrique.
5.2.4.3 Complexité
Etapes de calcul Les étapes de construction des forêts F ∫ et F ∇ ont des complexités
diérentes suivant l'algorithme utilisé ; dans le cas du DBT, cette première étape est une
reconstruction en O(|S||R|2 ) et O(|R||S|2 ) pour chacune des forêts respectivement.
La deuxième étape de fusion d'arbres, se fait, elle, en O(|R||S|2 ).
Nombre de tests le nombre de tests induit par cette reconstruction est basiquement
celui demandé par la reconstruction de tous les éléments des forêts F ∫ et F ∇ , soit |S||R|2 +
|R||S|2 .
5.3
Algorithme pour les graphes d'interférence
5.3.1 Hypothèses de reconstruction
Les hypothèses de reconstruction sont les mêmes que celles induites par la dénition
du modèle, à savoir la symétrie du routage, sa consistance et sa stabilité.
82
Algorithmes de reconstruction pour la tomographie réseau
5.3.2 Algorithme de reconstruction
La dénition de la structure induite par l'algorithme utilisé par les auteurs du graphe
d'interférence étant basée sur sa construction, nous avons déjà donné les grandes lignes de
cet algorithme à la section 4.2.3 ; la seule diérence entre l'algorithme donnant la structure
de la topologie reconstruite et celui utilisé par les auteurs est l'éventuel recourt à un
ordonnancement des tests. Cet ordonnancement est possible si l'on sait que deux chemins
ne partagent pas de sections communes à travers lesquelles ils pourraient inuer l'un sur
l'autre. C'est le cas lorsque la relation rl implique l'absence de sous-chemin communs à
deux ux. Ainsi, l'on pourra continuer à saturer simultanément les deux liens lorsque l'on
tentera d'évaluer les interférences d'un troisième avec ceux-ci. Notons que ce raisonnement
ne fonctionne que dans le cas où il n'existe que des sous-chemins communs étroits 1détectables.
Pour mieux illustrer les problèmes de telles mesures, prenons des exemples. Considérons
par exemple la topologie de gauche de la gure 5.1. Si le ux passant par pa sature le souschemin commun de pa et pc , l'intersection entre pb et pc ne sera soit pas détectée, ou alors,
seulement par pc . Plus génant, ce fonctionnement, en cas de détection d'un conit entre
le chemin pc testé et des chemins saturés pa et pb par la fonction mes (pc , x) > s mais
mes (x, pc ) < s ne permettra pas de déterminer si x est le chemin pa ou pb , ce qui implique
de tester à nouveau l'ensemble des paires constituées de pc et des chemins considérés comme
indépendants. De plus, si les ux pa et pc partagent la bande passante de manière équitable,
si l'intersection entre pc et pb est 2-détectable ou plus, elle ne sera pas détectée, car pc ne
pourra pas atteindre la bande passante nécessaire pour saturer ce lien. Dans ce cas, le
raisonnement sus-cité ne peut être appliqué.
Considérons encore la topologie de droite de la gure 5.1. Si l'intersection entre pc
et pb est 3-détectable ou plus, elle ne sera pas détectée, ou alors, seulement quand les 3
ux interagiront ensemble. Cette technique de mesure induit donc que les sous-chemins
communs détectés sont i-détectables, où i est la cardinalité du test.
pb
pa
pa
pc
pc
pb
Figure 5.1. Exemples d'intersections
83
Algorithmes de reconstruction pour la tomographie réseau
5.3.3 Complexité
5.3.3.1 Etapes de calcul
La complexité en nombre d'étapes de calcul n'est pas explicitement calculée dans les
diérents articles publiés sur cet algorithme. En eet, les auteurs considèrent (à juste titre
dans ce cas) que c'est le nombre de tests qui est déterminant pour les performances de
l'algorithme.
5.3.3.2 Nombre de tests
Le nombre de tests dépend ici du nombre de chemins impliqués dans les tests. Pour le
cas le plus simple, c'est-à-dire 2, on doit mesurer l'ensemble des paires de chemins, ce qui
implique un nombre de tests quadratique suivant le nombre de chemins, soit |Pe2e |2 . Ce
nombre peut être un peu réduit dans le cas de tests simultanés, suivant la topologie et les
capacités du réseau cible.
5.4
Algorithmes de reconstruction pour les MINP
Je présente ici les diérents algorithmes que j'ai développés durant cette thèse pour la
reconstruction de topologie de type MINP. Les algorithmes se basent sur les propriétés du
modèle décrites ci-après ; les algorithmes sont classés par ordre décroissant de complexité
en nombre de tests et requièrent tous un sous-ensemble d'hypothèses de reconstruction qui
leur est propre.
5.4.1 Hypothèses de reconstruction
Les hypothèses de reconstruction utilisées par tous les algorithmes présentés ici sont
la monotonicité étendue, la séparabilité étendue et la bornation pour la métrique, et la
consistance et la stabilité pour le routage. Rappelons que les conditions utilisées pour
prouver la bonne dénition du problème de reconstruction d'un MINP sont uniquement
les hypothèses (faibles) sur le routage.
5.4.2 Propriétés d'un MINP
5.4.2.1 Couverture unique
Une propriété utile d'un MINP est que, si un supremum existe pour un ensemble de
chemins P 0 , il est unique. Dans le cas général, de par l'hypothèse de consistance du routage,
on peut considérer qu'un ensemble de chemins possède un unique sous-chemin commun.
Dans le cas contraire, cela signierait qu'au moins deux chemins se sont croisés, ont partagé
84
Algorithmes de reconstruction pour la tomographie réseau
un chemin commun, se sont séparés et ont partagé à nouveau un sous-chemin commun, ce
qui viole l'hypothèse de consistance. Dans le cas des métriques bornées telles que celles liées
à la bande passante, c'est-à-dire dont la valeur est déterminée par une capacité minimum
le long de l'ensemble de chemins, on peut considérer qu'il existe un unique sous-chemin
commun étroit, de par l'hypothèse de constance de la métrique. Ceci renforce l'hypothèse
de l'existence de cette couverture unique.
5.4.2.2 Propriété de regroupement
Soit deux ensembles de chemins P = Pnoyau ∪ {pa } ∪ Ppivot , P = Pnoyau ∪ {pb } ∪ Ppivot ,
|Pnoyau | ≥ 0. Supposons que P et P 0 et Ppivot possèdent tous trois un sous-chemin commun.
Si {pa , pb }∪Ppivot possède un sous-chemin commun, alors P 00 = Pnoyau ∪{pa }∪{pb }∪Ppivot
possède un sous-chemin commun unique.
0
Preuve Quand
|Pnoyau | = 0, cette propriété est triviale. Prenons le cas |Pnoyau | = 1,
i.e. Pnoyau = {pd }. Pour plus de simplicité, appelons le sous-chemin commum maximum
de Ppivot pc . Les propriétés énoncées ci-dessus signient que {pa , pb , pc }, {pa , pc , pd } et
{pb , pc , pd } possèdent chacun un sous-chemin commun. On a donc {pa ∩ pc } ∩ pd et {pa ∩
pc } ∩ pb non nul. L'intersection entre chemins étant unique, le sous-chemin commun de
{pa , pc } possède deux intersections respectivement avec les chemins pd et pb . Soit ces deux
intersections {pa ∩pc }∩pb et {pa ∩pc }∩pd sont disjointes, soit elles partagent un sous-chemin
commun. Puisque {pb , pc , pd } possède un sous-chemin commun non nul, les intersections
de {pa ∩ pc } avec pb et pd possèdent un sous-chemin commun. Sinon, il existerait plusieurs
intersections {pb , pc } et {pc , pd }. Il existe donc un sous-chemin commun à l'ensemble des
chemins {pa , pb , pd } ∪ Ppivot . Pour tous les cas où |Pnoyau | > 1, il sut de remplacer
les chemins de Pnoyau par le sous-chemin commun de Pnoyau . Le raisonnement ci-dessus
s'applique. Il existe donc un sous-chemin commun à {pa , pb } ∪ Pnoyau ∪ Ppivot .
Notons au passage que si Pnoyau = Pnoyau0 \ {px }, on peut appliquer le même raisonnement en utilisant {px } à la place Ppivot et reprendre la même démonstration. On obtient
donc une méthode de construction par récursion d'un sous-chemin commun maximum pour
un ensemble P de chemins.
5.4.2.3 Propriété de regroupement pour les métriques bornées
Si la métrique considérée est bornée, alors on peut pré-ordonner les diérentes intersections de chemin issues de la propriété de regroupement si celles-ci sont au plus 3-détectables
(i.e. 1 ou 2-détectables). De plus, 2 sous-chemins communs sur les 3 peuvent être confondus
car ils ont la même capacité, celle du sous-chemin commun à l'ensemble des ux.
Preuve Considérons à nouveau le cas simple où |Pnoyau | = 1, i.e. Pnoyau = {pd }. Puisqu'il
existe un sous-chemin commun pz pour {pa , pb , pc , pd }, chaque triplet de chemin a pour
85
Algorithmes de reconstruction pour la tomographie réseau
borne supérieure (dans le cas de bande passante par exemple où la relation associée est ≤)
(resp inf.) la capacité de ce sous-chemin commun, puisque par dénition, il est contenu dans
chacun de ces chemins-là (les sous-chemins communs maximum de {pa , pb , pc }, {pa , pb , pd },
{pa , pc , pd } et {pb , pc , pd }). Si la capacité d'un (ou plusieurs) de ces sous-chemins px est
inférieure ±s(toujours pour la bande passante) (resp. sup.) (s paramètre de sensibilité) à la
capacité de ce sous-chemin, alors cela signie qu'il contient un lien de capacité inférieure au
sous-chemin des 4 chemins pz . Le chemin px contient donc le sous-chemin pz , permettant
de pré-ordonner les diérents sous-chemins par une arborescence où pz est la racine. Si la
capacité d'un sous-chemin est similaire à pz , alors il peut être confondu avec ce dernier, pz
étant par dénition 3-détectable. Puisque pz est 3-détectable, cela signie qu'il est au moins
la borne de l'un des triplets sous-ensembles du quadruplet {pa , pb , pc , pd }. Or, si plus de
2 strictement de ces triplets ne permettent pas de détecter pz , alors on ne peut appliquer
la règle de regroupement. Parmi les trois sous-chemins communs, 2 ont forcément comme
borne inférieure pz . Pour tous les cas où |Pnoyau | > 1, comme précédemment, il sut de
remplacer les chemins par le sous-chemin commun de Pnoyau .
5.4.3 Un algorithme de reconstruction pour les k-MINP pour des métriques bornées
Nous donnons ici un premier algorithme polynomial pour la résolution du problème
de reconstruction d'un MINP à partir de mesures eectuées sur l'ensemble de Pe2e tel
que décrit à la section 4.3.2.2. L'algorithme repose sur les propriétés d'un MINP énoncé
ci-avant ; l'idée générale est de reconstruire une représentation complète du réseau à partir
de mesures eectuées sur des sous-parties du réseau cible. Une fois obtenu l'ensemble des
mesures nécessaires, l'algorithme applique itérativement les propriétés de regroupement et
de couverture unique pour reconstruire une topologie complète. Cet algorithme est proche,
dans l'esprit, du DBT s'appliquant sur les MINT décrit dans la section 5.2.2.
5.4.3.1 Algorithme de reconstruction
L'algorithme comprend trois parties principales. Une première phase de tri, une boucle
centrale sur les MINPs partiels eectuant une recherche des cas où l'on peut appliquer
la règle de regroupement, et enn les parties responsables de la fusion des informations
contenues dans l'ancien MINP et les nouvelles informations que produit l'ajout du MINP
partiel courant, que ce soit par l'application de la règle de regroupement, celle de couverture unique, ou par ajout simple. Notons que la propriété de regroupement ne peut être
appliquée que sur des k-mesures pour lesquelles k ≥ 3. Dans nos travaux, nous utilisons
d'ailleurs le plus souvent des 3-mesures, le choix de k devant être le plus petit possible
k
pour minimiser le nombre de sous-ensembles possibles (C|P
).
e2e |
86
Algorithmes de reconstruction pour la tomographie réseau
Tri initial La première étape consiste en un tri des diérents MINP partiels de
eectué suivant l'ordre
R≤
Mk
déni comme suit :
∀x = (X, ≤), y = (Y, ≤), x, y ∈ Mk
xR≤ y = (Supr(X) 6= {0} ∧ Supr(X) détectable , Supr(Y ) = {0} ∨ Supr(Y ) indétectable )
∨((Supr(X) = {0} ∨ Supr(X) indétectable ) ∧ (Supr(Y ) = {0} ∨ Supr(Y ) indétectable)
∨(Supr(X) 6= {0} ∧ Supr(X) détectable ,
)
Supr(Y ) = {0} ∨ Supr(Y ) détectable cSupr(X)
≤ cSupr(Y
)
m
m
(5.2)
Où Supr(X) est le supremum c'est-à-dire le noeud couvrant tous les éléments d'un ensemble
X (i.e. l'équivalent dans le MINP du sous-chemin commun maximum de l'ensemble de
chemins appartenant à Pe2e qui sont représentés dans X ). Cette relation peut être vue
comme un tri croissant par les valeurs des suprema des éléments de Mk quand ils en ont
un. Quand ils n'en ont pas, les éléments sont considérés comme supérieurs à tous ceux qui
ont un supremum.
Ce tri est utile dans le cas où la métrique m considérée possède la propriété de monotonicité étendue. Dans ce cas, en eet, on peut prouver le lemme suivant :
1 Si la métrique
considérée possède la propriété de monotonicité étendue, alors le
plus petit élément xmin de Mk par rapport à l'ordre R≤ est complètement déni. Il ne peut
exister d'autres sous-chemins k-détectables communs à l'ensemble des chemins de xmin .
m
Preuve De part la monotonicité étendue, le sous-chemin commun de plus petite capacité
ne peut, par dénition, être inclus dans aucun autre sous-chemin commun.
Boucle principale La partie centrale est une boucle sur l'ensemble des MINP partiels
Mk obtenus à partir des k-mesures eectuées sur chacun des sous-ensembles de Pe2e de
cardinalité k. On recherche trois couples de noeuds, qui, avec le supremum éventuel intro-
duit par le MINP courant, sont susceptibles d'être regroupés tous les quatre en utilisant la
règle de regroupement. Elle est décrite de manière formelle par l'algorithme 1.
87
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 1 Algorithme principal
Paramètre de sensibilité s, la liste sortMk contenant les éléments de Mk triés
par rapport à l'ordre R≤ .
Sorties : reconstruction d'un MINP pour l'ensemble du réseau.
Entrées :
M IN P total ← sortMk [0]
i←1
tantque i ≤ length(sortMk ) faire
M IN P courant ← sortMk [i]
si M IN P courant possède un supremum entre au moins 3 de ses chemins alors
Recherche parmi les sous-chemins déjà présents dans M IN P total de sous-chemins com-
muns pour appliquer la reconstruction par la règle de regroupement pour les métriques
bornées (algorithme 2), i.e. deux noeuds x et y . Cela signie rechercher l'existence d'un
supremum pour chacun des triplets couverts par x, y et le supremum de M IN P courant.
nsi
si règle de regroupement non applicable alors
fusion de M IN P courant et M IN P total en respectant la propriété de couverture unique
(algorithme 3).
nsi
i←i+1
n tantque
Ajout des noeuds Ω et p∞ à MINPtotal
retourne M IN P total.
Ajout des nouvelles informations Les deux algorithmes de fusions sont donnés ci-
après : l'algorithme de fusion des MINP basé sur la règle de regroupement est l'algorithme
2 et celui sur la règle de couverture unique est l'algorithme 3.
88
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 2 Fusion des MINP par utilisation de la règle de regroupement
M IN P total,x, y sous-chemins communs de M IN P total, M IN P courant et
son sous-chemin commun z , paramètre de sensibilité s
Entrées :
fusion des MINP
trier les sous-chemins communs suivant la relation ≤ associée à la métrique.
Créer un noeud w dans MINPTotal de capacité égale à la capacité du chemin de plus
grande (au sens de ≤) capacité dans la liste de sous-chemins communs.
Sorties :
pour tout chemin ∈ {x, y, z} faire
si cchemin
− cw
m
m = 0 ± s alors
confondre chemin et w.
sinon
Ajouter un nouveau noeud v ls de w couvrant les mêmes chemins que chemin dans
M IN P T otal.
nsi
n pour
retourne M IN P total.
Notons qu'il n'est pas nécessaire, normalement, de conserver les noeuds du MINP partiel
x = (X, ≤) ajouté soit par la règle de couverture unique soit par celle de regroupement ;
en eet, les sous-ensembles de X doivent appartenir au M IN P total pour que l'on puisse
trouver les sous-chemins communs nécessaires à l'application de la règle de regroupement
pour les k-MINP bornés.
Algorithme 3 Fusion respectant la règle de couverture unique
Entrées :
Sorties :
M IN P courant, M IN P total, paramètre de sensibilité s.
Fusion des MINP respectant la règle de couverture unique.
si M IN P T otal ⊇ M IN P courant alors
Ne rien faire (les relations décrites dans le M IN P partiel sont déjà représentées).
sinon
insérer les noeuds n'étant pas dans M IN P total suivant leurs couvertures.
nsi
Retourne x.
5.4.3.2 Exemple
La gure 5.2 donne un exemple d'exécution pour une topologie simple. Dans cette gure,
et les suivantes illustrant l'exécution d'algorithmes, nous avons adopté les conventions
suivantes. Dans le premier cadre en haut à gauche, entouré d'une ligne solide, gure la
topologie logique. Sur cette même ligne, gurent les MINP partiels correspondant aux
mesures qui doivent être eectuées avant le début de l'exécution de l'algorithme. Dans
89
Algorithmes de reconstruction pour la tomographie réseau
notre exemple, ici, on doit lancer des 3-mesures 3-tests de manière à établir les MINP
partiels correspondant aux sous-ensembles de cardinalité 3 de l'ensemble Pe2e . Ces MINP
partiels gurent donc dans les cadres de la première ligne. Notons que lorsqu'une mesure
est eectuée, le MINP résultant est entouré de tirets. Quand un MINP partiel provient
de l'exécution de l'algorithme (application de la règle de regroupement, ajout simple par
exemple ou utilisation de MINP déjà établis dans une phase précédente) le MINP résultant
est entouré de pointillés.
Les lignes qui suivent la première sont les étapes de déroulement de l'algorithme. La
règle appliquée pour obtenir le nouveau MINP partiel (ajout simple, regroupement ou
couverture unique) est indiqué au-dessus de chaque "=". les étapes d'ajout simple sont
ignorées (et donc, non représentées) quand elles ne présentent pas d'intérêt particulier.
Lors de la première étape, aucune correspondance particulière n'est trouvée, et les MINP
font donc l'objet d'un ajout simple. Lors de la seconde étape les 3 sous-chemins communs
les plus hauts permettent d'appliquer la règle de regroupement, ce qui donne le MINP
correspondant à la totalité des Pe2e testés. Notons que l'information contenue dans le
4ième et dernier MINP partiel de la première ligne est redondant par rapport aux autres.
Cela n'aurait pas été le cas, par exemple, en l'absence totale de sous-chemin commun
3-détectable.
5.4.3.3 Complexité
Etapes de calcul Le nombre d'étapes de calcul est quadratique suivant le nombre de
MINP partiels obtenus. Néanmoins, c'est ici le nombre de tests qui est le principal écueil
à l'utilisation de cet algorithme.
Nombre de tests Le nombre de tests requis pour l'utilisation de ce test est prohibitif :
d'une part, la construction "o-line" du MINP implique que chaque k-uplet ( k ≥ 3) de
sous-chemins soit mesuré. Pour le cas où k = 3, on doit donc faire un nombre cubique de
mesures les unes à la suite des autres ( 61 n(n − 2)(n − 1) où n = |Pe2e |), rendant l'utilisation
de cet algorithme impossible pour des plates-formes de taille même modeste. Il semble donc
logique de modier en conséquence l'algorithme pour permettre de réduire le nombre de
mesures et/ou de rendre ces mesures indépendantes dans le but d'exécuter simultanément
plusieurs mesures.
5.4.4 Un algorithme de reconstruction pour les 1-MINP pour des métriques bornées
Comme nous l'avons dit précédemment, le premier algorithme est trop coûteux en
terme de mesures pour être utilisé dans des plates-formes de dimensions raisonnables. L'algorithme présenté ici tend à diminuer le nombre de mesures dans certains cas, au détriment
90
Algorithmes de reconstruction pour la tomographie réseau
a
b
c
d
a’
b’
c’
d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
Ajout simple
couverture
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
Regroupement
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
Figure 5.2. Déroulement de l'algorithme sur un exemple simple
de la généricité de l'algorithme présenté auparavant : on ne peut plus reconstruire que des
1-MINP au lieu de k-MINP précédemment. La réduction du problème à celui de la reconstruction de 1-MINP peut être considérée comme relativement justiée si l'on considère
que le réseau est exempt ou contient peu de trac interférent inuant sur la mesure. En
eet, les équipements actuels déployés ont des capacités variant les uns par rapport aux
autres le plus souvent par un facteur 10 (ethernet 100 ou gigabit par exemple). De fait,
la reconstruction de k-MINP ne serait justiée qu'à partir du moment où k ≥ 10, ce qui
rend la procédure de mesure complexe à réaliser. La piste suivie ici pour réduire le coût
de l'algorithme initial est de le rendre "on-line", c'est-à-dire de rendre dépendante des
propriétés des MINP partiels les mesures à eectuer. Par exemple, comme nous l'avons vu
dans l'exemple pour l'algorithme donné à la section 5.4.3, l'acquisition du dernier 3-MINP
représenté était en fait inutile. L'algorithme que nous présentons ici cherche donc à minimiser le nombre de mesures à faire tout en restant identique dans sa forme à l'algorithme
précédent.
91
Algorithmes de reconstruction pour la tomographie réseau
5.4.4.1 Algorithme de reconstruction
La principale diculté pour rendre l'algorithme précédent dépendant des résultats déjà
obtenus est la phase de tri, qui dépend des suprema des diérents MINP partiels, et qui
donc, nécessite d'avoir acquis une connaissance sur ceux-ci. Ce point est celui qui motive
l'augmentation des contraintes, à savoir le passage à des 1-MINP ainsi que l'utilisation de
métriques bornées. On peut en eet dénir le lemme suivant :
2 La capacité vis-à-vis d'une métrique bornée d'un supremum (si il existe) d'un 1-MINP
représentant un ensemble de chemins P est égale à la capacité d'un de ces chemins. Ce
chemin aura la capacité la plus grande (vis-à-vis de la relation associée à la métrique) de
l'ensemble P .
Preuve Trivialement, si un supremum existe dans un 1-MINP borné, la capacité de
celui-ci est celle d'un des chemins P , par dénition. De plus, un sous-chemin commun 1détectable étant par dénition un sous-chemin qui peut être saturé par un des chemins de
P , ce sous-chemin est forcément une borne pour l'un des chemins.
Cette propriété permet de contourner le problème de la pré-obtention des MINP, en
utilisant simplement des mesures de la capacité chemin par chemin. Comme on peut le
deviner, cette mesure de capacité, faite individuellement, est de coût beaucoup plus réduit
que l'obtention de mesure d'interactions entre chemins.
De même que précédemment on peut prouver cette fois que :
3 Si un sous-chemin commun 1-détectable a une capacité inférieure vis-à-vis de la rela-
tion d'ordre associée à la métrique m considérée, il ne peut appartenir à aucun chemin de
capacité supérieure quand la métrique est bornée.
Les lemmes précédemment prouvés en section 5.4.3 étant valides pour tous les k-MINP
bornés, ils le sont aussi pour ce cas particulier, et en particulier le lemme 1. L'ordre donné
par l'équation 5.2 est toujours valide dans ce cas. On peut donc aisément pré-trier les
MINP partiels potentiels selon la capacité des chemins qu'ils contiennent.
L'algorithme principal reste donc assez similaire au précédent. En triant les chemins
selon leurs capacités respectives, on peut donc exclure que tout ux dont la capacité est
supérieure partage les sous-chemins communs de capacité inférieure qui sont détectés auparavant ; ceci étant, cela n'est pas forcément réciproque. On itère sur les chemins ; on
maintient donc une liste des chemins communs déjà induits, et pour chaque sous-chemin
déjà induit on recherche si le chemin courant possède un sous-chemin commun avec lui.
Sinon, on doit mesurer toutes les combinaisons avec tous les (sous)-chemins déjà testés.
L'algorithme est décrit de manière formelle ci-après 4.
De part le lemme 3, le MINP partiel constitué après chaque tour de boucle principale
est bien déni.
92
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 4 Algorithme principal pour la reconstruction d'un 1-MINP borné
Paramètre de sensibilité s, la liste sortPe2e contenant les éléments de Pe2e
triés par rapport à l'ordre ≤ associé à la métrique m, couv(x) fonction donnant la liste
des chemins couverts pour un sous-chemin commun x donné trié par capacité suivant la
relation ≤ associée à la métrique.
Sorties : reconstruction du 1-MINP pour l'ensemble du réseau pour une métrique bornée.
Entrées :
M axList = {0}
i←1
tantque i ≤ length(sortPe2e ) faire
cheminCourant =← sortPe2e [i]
j←1
nouveauxSousChemins ← {0}
tantque j ≤ length(M axList) faire
cheminM axCourant ← M axList[j]
nouveauxSousChemins
←
nouveauxSousChemins
ChercherSousChemin(cheminM axCourant, cheminCourant) (algorithme 6)
∪
n tantque
M axList ← nouveauxSousChemins ∪ M axList
n tantque
Recréer M IN P T otal à partir des éléments de M axList et des relations de couverture
de chacun des éléments.
retourne M IN P total.
Les deux autres parties de l'algorithme concernent pour l'une la recherche de souschemins communs, et pour l'autre, la règle de création de nouveaux sous-chemins.
Algorithme 5 CreerSousMax
Paramètre de sensibilité s, cheminM axcourant, cheminCourant.
reconstruction du 1-MINP pour l'ensemble du réseau pour une métrique bornée
Entrées :
Sorties :
unique.
axcourant = ccheminCourant ± s alors
si ccheminM
m
m
ajouter cheminCourant à la liste de chemins couverts par cheminM axCourant
sinon
Sinon, créer un nouveau chemin maximum cheminCourant de capacité ccheminCourant
m
couvrant couv(cheminM axCourant) ∪ {cheminCourant}.
nsi
93
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 6 ChercherSousChemin
Paramètre de sensibilité s, cheminM axcourant, cheminCourant.
Les nouveaux sous-chemins
Entrées :
Sorties :
nouveauxSousChemins ← {0}
si |couv(cheminM axCourant)| == 1AN D{cheminM axCourant, cheminCourant}
admet un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant) (algorithme 5)
∪
sinon
Sinon, ajouter cheminCourant dans la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| == 2
AN D({couv(cheminM axCourant)[1], couv(cheminM axCourant)[2], cheminCourant})
possèdent un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant) (algorithme 5)
∪
sinon
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| ≥ 3 alors
∀i, j, k < |couv(cheminM axCourant)|, i 6= j, j 6= k, i 6= k
si {couv(cheminM axCourant)[i], couv(cheminM axCourant)[j], cheminCourant},
{couv(cheminM axCourant)[i], couv(cheminM axCourant)[k], cheminCourant} pos-
sède un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant) (algorithme 5)
∪
sinon
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
nsi
nsi
retourne nouveauxSousChemins.
5.4.4.2 Exemple
La gure 5.3 montre l'exécution de l'algorithme sur une topologie simple. Les conventions graphiques sont similaires à celle de la gure 5.2.
Les mesures sont donc d'abord eectuées le long de chaque chemin, de manière à déduire
la capacité de chacun. Puis on tente de détecter si le chemin de plus basse capacité possède
un sous-chemin commun avec le chemin de capacité le plus faible, puis on procède de
94
Algorithmes de reconstruction pour la tomographie réseau
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a−>a’
b−>b’
c−>c’
d−>d’
regroupement
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
Figure 5.3. Déroulement de l'algorithme pour les 1-MINP bornés
même pour le troisième. La cardinalité du sous-chemin courant étant de 3, on procède à
l'évaluation de l'applicabilité de la règle de regroupement.
5.4.4.3 Complexité
Etapes de calcul La complexité de cet algorithme est, de par sa nature, variable suivant
la topologie du réseau. Les mesures sur les diérents sous-ensembles du réseau étant faites
"on-line", la principale composante, en terme de coût, provient des mesures. L'algorithme
possède une complexité similaire au nombre de tests requis.
Nombre de tests L'étape initiale permettant d'ordonner les chemins par la capacité de
ceux-ci demande que chaque chemin soit testé séquentiellement pour éviter les interférences,
soit n mesures si n = |Pe2e |. Les étapes suivantes dépendent de la topologie du réseau
sous-jacent ; les deux cas extrêmes sont apparaissent quand il existe un seul sous-chemin
commun 1-détectable pour tous les ux, ou quand il n'en existe aucun. Dans le premier cas,
la complexité sera égale à celle de l'algorithme précédant. Dans le cas contraire, c'est-à-dire
quand tous les chemins de Pe2e sont indépendants, la taille de la liste M axList augmentera
P
de 1 à chaque fois, entraînant en tout O( ni i) mesures, soit O(n2 ) mesures, qui doivent
être eectuées séquentiellement pour éviter les interférences entre mesures.
Cet algorithme est donc moins coûteux que le précédent, même si cela se fait au détri95
Algorithmes de reconstruction pour la tomographie réseau
ment de la généricité (l'algorithme ne porte que sur la reconstruction de 1-MINP pour les
métriques bornées). Sa complexité reste néanmoins importante, réduisant les possibilités
de mise en oeuvre de celui-ci. Cela est dû à la phase de récursion de l'application de la
règle de regroupement, qui oblige à tester tous les triplets de l'ensemble somme des ensembles couverts par les noeuds regroupables. L'algorithme que nous présentons dans la
section suivante permet de diminuer la complexité (en terme de nombre de mesures) de
cet algorithme.
5.4.5 L'algorithme LTC
L'algorithme précédent peut rester très coûteux en terme de nombre de mesures, du fait
de la phase de récursion nécessaire pour prouver que la règle de regroupement s'applique.
L'algorithme présenté ici coupe cette phase de mesures, en utilisant une propriété propre
aux métriques possédant une borne induite par un lien unique.
5.4.5.1 Algorithme de reconstruction
L'algorithme reprend le principe général de l'algorithme précédent, et reprend les 3
principaux éléments précédents. Ils ne sont modiés que par l'application du lemme suivant :
4 Soit un ensemble de chemins
P = Pnoyau ∪ {pa , pb , pc }, |Pnoyau | ≥ 0, P
possédant
un sous-chemin commun détectable pour une métrique possédant une borne induite par un
lien unique de capacité α et un chemin pe ∈/ P . Si {pa , pb , pe } et {pa , pc , pe } possèdent
chacun un sous-chemin commun détectable de capacité α pour une métrique possédant une
borne induite par un lien unique, alors P 00 = Pnoyau ∪ {pa } ∪ {pb } ∪ {pc } ∪ {pe } possède
un sous-chemin commun détectable pour une métrique possédant une borne induite par un
lien unique de capacité α .
Preuve Cela signie concrètement qu'en choisissant trois représentants (trois chemins
pa , pb , pc ∈ P ) pour un sous-chemin commun de P , on peut facilement s'assurer, étant
donné un chemin pc que soit P 00 admet un sous-chemin commun, soit non. De manière
similaire à précédemment, on peut constater que la propriété est triviale quand |Pnoyau | =
0, puisqu'elle se réduit à la condition de regroupement.
Intéressons nous au cas où |Pnoyau | = 1, i.e. |Pnoyau | = {pd }. Dans ce cas, on sait de par
les hypothèses ci-dessus et par la règle de regroupement que les ensembles {pa , pb , pc , pd } et
{pa , pb , pc , pe } possèdent chacun un sous-chemin commun de capacité α. Puisque la borne
est unique, les bornes des deux ensembles sont incluses dans le sous-chemin commun de
{pa , pb , pc }, qui par dénition, contient une borne induite par un lien unique. Les bornes
des deux ensembles sont donc en fait la même, celle de l'ensemble {pa , pb , pc }. Il y a donc
une borne induite par un lien unique pour l'ensemble {pa , pb , pc , pd , pe } de capacité α. De
96
Algorithmes de reconstruction pour la tomographie réseau
même que précédemment, le raisonnement est identique quand |Pnoyau | > 1 en remplacant
pd par le sous-chemin commun étroit détectable de l'ensemble Pnoyau . La diérence ici est
que l'hypothèse de borne induite par un lien unique nous évite de passer par l'étape de
récursion qui implique de tester si le lien est partagé avec tous les éléments de Pnoyau . Il en
résulte qu'en se servant de cette règle pour la reconstruction il n'est plus nécessaire qu'un
grand nombre de triplets soient testés.
L'algorithme principal reste donc assez similaire au précédent en utilisant cette fois ci
la condition de regroupement pour les métriques possédant une borne induite par un lien
unique. En triant les chemins par leurs capacités respectives, on peut donc exclure que
tout ux dont la capacité est supérieure ne partage les sous-chemins communs de capacité
inférieure qui sont détectés auparavant ; ceci étant, cela n'est pas forcément réciproque. On
itère sur les chemins ; on maintient donc une liste des chemins communs déjà induits, et
pour chaque sous-chemin déjà induit on recherche si le chemin courant possède un souschemin commun avec ceux déjà induits. La seule modication par rapport à l'algorithme
précédant est donc la coupure de la procédure de recherche de sous-chemin commun, telle
que décrit de manière formelle ci-après 7.
97
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 7 ChercherSousCheminLTC
Paramètre de sensibilité s, cheminM axcourant, cheminCourant.
Les nouveaux sous-chemins pour le cas borne induite par un lien unique
Entrées :
Sorties :
nouveauxSousChemins ← {0}
si |couv(cheminM axCourant)| == 1AN D{cheminM axCourant, cheminCourant}
admet un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
sinon
Sinon, ajouter cheminCourant dans la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| == 2
AN D({couv(cheminM axCourant)[1], couv(cheminM axCourant)[2], cheminCourant})
possèdent un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
sinon
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| ≥ 3 alors
si {couv(cheminM axCourant)[1], couv(cheminM axCourant)[2], cheminCourant},
{couv(cheminM axCourant)[1], couv(cheminM axCourant)[3], cheminCourant}
possèdent un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
sinon
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
nsi
nsi
retourne nouveauxSousChemins.
5.4.5.2 Exemple
La gure 5.4 montre l'exécution de l'algorithme sur une topologie simple. Les conventions graphiques sont similaires à celles de la gure 5.2.
Les mesures sont donc d'abord eectuées le long de chaque chemin, de manière à
déduire la capacité de chacun. Puis on tente de détecter si le chemin de plus basse capacité
possède un sous-chemin commun avec le chemin de capacité le plus faible, puis on procède
de même pour le troisième. La cardinalité du sous-chemin courant étant de 3, on procède
98
Algorithmes de reconstruction pour la tomographie réseau
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a’
b’
c’
d’
a−>a’
b−>b’
c−>c’
d−>d’
regroupement
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
a−>a’
d−>d’
b−>b’
c−>c’
d−>d’
regroupement
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
b−>b’
c−>c’
d−>d’
a−>a’
a−>a’
b−>b’
c−>c’
b−>b’
c−>c’
d−>d’
d−>d’
Figure 5.4. Déroulement de l'algortime LTC
à l'évaluation de l'applicabilité de la règle de regroupement pour les métriques de borne
induite par un lien unique.
5.4.5.3 Complexité
Etapes de calcul La complexité de cet algorithme est, de par sa nature, variable suivant
la topologie du réseau. Les mesures sur les diérents sous-ensembles du réseau étant faites
"on-line", la principale composante, en terme de coût, provient des mesures. L'algorithme
possède une complexité similaire au nombre de tests requis.
Nombre de tests L'étape initiale permettant d'ordonner les chemins par la capacité de
ceux-ci demande que chaque chemin soit testé séquentiellement pour éviter les interférences,
soit n mesures si n = |Pe2e |. les étapes suivantes dépendent de la topologie du réseau sousjacent ; les deux cas extrêmes apparaissent trivialement quand il existe un seul sous-chemin
commun 1-détectable de capacité minimale pour tous les ux ou quand il n'en existe aucun.
Dans ce cas, chaque adjonction à l'ensemble de chemins déjà couverts par le sous-chemin
commun detecté demandera l'exécution d'un test établissant la couverture par un même
99
Algorithmes de reconstruction pour la tomographie réseau
sous-chemin commun de deux ensembles de ux, soit 2n mesures de ce type. Dans le cas
contraire, c'est-à-dire quand tous les chemins de Pe2e sont indépendants, la taille de la
P
liste M axList augmentera de 1 à chaque fois, entraînant en tout O( ni i) mesures, soit
O(n2 ) mesures, qui doivent être eectuées séquentiellement pour éviter les interférences
entre mesures.
Cet algorithme est donc moins coûteux que le précédent, même si cela se fait au détriment, encore une fois, de la généricité (l'algorithme ne porte que sur la reconstruction de
1-MINP pour les métriques possédant une borne induite par un lien unique). Sa complexité
reste néanmoins importante, réduisant les possibilités de mise en oeuvre de celui-ci. Cela
est dû à l'absence de possibilité de procéder à des mesures simultanément. L'algorithme
que nous présentons dans la section suivante permet de diminuer la complexité (en terme
de nombre de mesures séquentielles) de cet algorithme.
5.4.6 L'algorithme LTC parallèle
5.4.6.1 Algorithme de reconstruction
L'algorithme LTCP présenté ici repose sur le lemme simple décrit ici :
5 Soit un ensemble de sous-chemins communs 1-détectables tous indépendants les uns
vis-à-vis des autres et un chemin px pour une métrique bornée unique. Il est possible de
tester simultanément si tous les sous-chemins communs partagent un sous-chemin avec le
chemin px sans interférer sur les mesures.
Si le postulat est simple, et assez simple à prouver (puisque les sous-chemins sont
indépendants et que le lien limitant est unique, il ne pourra exister qu'un lien limitant
entre px et les sous-chemins partageant celui-ci), il se heurte à plusieurs problèmes dans la
réalité :
Chemins n-détectables. L'assertion donnée dans 5.4.5 concernant la pertinence de
tenter de reconstruire des k − M IN P où k > 1 permet de même de justier qu'il
faudra un nombre assez grand de chemins mesurés en parallèle pour avoir à traiter
ce problème. Ce problème est aussi très lié à la mesure en elle-même, qui peut être
capable, éventuellement, de déterminer quel est l'ensemble des chemins couverts par
un sous-chemin commun détecté (ou en tout cas sa cardinalité).
Sous-chemins communs partageant une partie de leur couverture. La procédure impliquant des représentants d'un sous-chemin permet de résoudre une partie du problème. En eet, choisir seulement deux représentants d'un sous-chemin donné permet d'établir le partage de sous-chemin. Néanmoins, on sera confronté à un problème
d'ordonnancement plus ou moins complexe des mesures dans le cas où certains chemins sont couverts par de nombreux sous-chemins. Ceci étant dit, le fait que nous
détections des sous-chemins 1-détectable rend cette hypothèse moins probable.
100
Algorithmes de reconstruction pour la tomographie réseau
Extensibilité de la mesure à n ux. Si il peut être simple d'intuiter des méthodes de
mesures génériques à n ux, il peut s'avérer infaisable de les mettre en oeuvre pour
des raisons pratiques. Nous considérerons néanmoins ici l'extensibilité réaliste, pour
au moins j ux. Si la méthode de mesure n'est pas extensible à n ux mais à j , il
conviendra de résoudre ce problème par un ordonnancement ad hoc des mesures. Ce
problème d'extensibilité des mesures peut rendre plus simple le problème de souschemins communs partageant une partie de leur couverture cité précédemment.
Le principe de l'algorithme reste, en dehors des problèmes sus-mentionnés, très proche
de l'algorithme LTC. Nous donnons dans la gure 5.4.6 la description formelle de l'algorithme. On retrouve toujours les 3 étapes principales de celui-ci :
la mesure faite en amont des capacités de chaque chemin appartenant à Pe2e puis le
tri de la liste de ceux-ci suivant la relation ≤ associée à la métrique m considérée,
La mesure "on-line" de l'existence de sous-chemin commun est identique, sauf que la
boucle interne sur les sous-chemins communs déjà détectés à l'étape i est cette fois
rendue parallèle par l'utilisation de mesures parallèles.
La reconstruction du treillis en utilisant la liste des sous-chemins communs détectés
et leurs relations de couverture.
101
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 8 Algorithme principal LTC parallèle
Paramètre de sensibilité s, la liste sortPe2e contenant les éléments de Pe2e
triés par rapport à l'ordre ≤ associé à la métrique m, couv(x) fonction donnant la liste
des chemins couverts par un sous-chemin commun x donné trié par capacité suivant la
relation ≤ associée à la métrique.
Sorties : reconstruction du 1-MINP pour l'ensemble du réseau pour une métrique bornée
unique.
Entrées :
M axList = {0}
i←1
tantque i ≤ length(sortPe2e ) faire
cheminCourant =← sortPe2e [i]
j←1
nouveauxSousChemins ← {0}
Mesurer si les éléments de M axList ont un sous-chemin commun détectable avec
cheminCourant. Le sous-ensemble de sous-chemins de M axList admettant un souschemin commun avec cheminCourant sera noté cheminsDetectes, l'inverse de celui-ci
cheminsIndependants.
pour j ≤ |cheminsDetectes| faire
cheminM axCourant ← cheminsDetectes[j]
nouveauxSousChemins
←
nouveauxSousChemins
∪
creerSousM ax(cheminM axCourant, cheminCourant)
n pour
pour tout cheminsIndependants faire
Chercher si les sous-ensembles des ensembles contenus dans cheminsIndependants privés de leurs représentants présentent des sous-chemins communs avec cheminCourant.
n pour
nouveauxSousChemins ← nouveauxSousChemins ∪ M axList
Réduire éventuellement l'ensemble M axList en utilisant le principe de couverture
unique.
n tantque
Recréer M IN P T otal à partir des éléments de M axList et des relations de couverture
de chacun des éléments.
retourne M IN P total.
5.4.6.2 Exemple
La gure 5.5 donne un exemple d'exécution de l'algorithme pour une topologie simple.
Dans la gure, pour des questions de place, nous avons omis les phases de mesures ne
trouvant pas de sous-chemins communs entre les chemins qui amènent à la construction
102
Algorithmes de reconstruction pour la tomographie réseau
des deux sous-chemins existants. La dernière ligne illustre le cas où les deux sous-chemins
communs sont déjà trouvés, et où on évalue si le dernier chemin ne partage pas de souschemins communs avec eux.
a
b
c
d
e
a
b
c
d
e
a
b
c
d
e
a
b
c
d
e
a
b
c
d
e
a
b
c
d
e
a’
b’
c’
d’
e’
a’
b’
c’
d’
e’
a’
b’
c’
d’
e’
a’
b’
c’
d’
e’
a’
b’
c’
d’
e’
a’
b’
c’
d’
e’
ajout simple
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
ajout simple
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
a−>a’
b−>b’
c−>c’
d−>d’
e−>e’
Figure 5.5. Déroulement de l'agorithme LTCP
5.4.6.3 Complexité
Etapes de calcul De même que pour l'algorithme LTC, l'algorithme LTCP possède une
complexité en étape de calcul liée à l'exécution des mesures. Il est, lui aussi, polynomial,
de complexité en terme de calcul négligeable par rapport à la complexité nécessaire en
nombre de tests.
Nombre de tests Le nombre de tests est ici variable suivant la topologie du réseau
sous-jacent ainsi que l'extensibilité de la mesure utilisée lors des tests parallèles. Notons
que dans le cas où tous les ux partagent un unique sous-chemin commun, celle-ci reste
linéaire suivant le nombre de ux (toujours 3n). Dans le cas le plus coûteux précédemment
cité, i.e. le cas où aucun sous-chemin commun n'existe celui-ci reste maintenant aussi
linéaire (n fois des mesures dont la cardinalité varie entre 1 et n). Le cas le plus coûteux
devrait être celui où les chemins partagent plusieurs sous-chemins communs les uns avec
les autres, forçant un ordonnancement des mesures sur plusieurs étapes. Notons ici que les
performances réelles de cet algorithme dépendent des capacités de l'ordonnancement des
j-mesures.
103
Algorithmes de reconstruction pour la tomographie réseau
5.4.7 Un algorithme de reconstruction pour les 1-MINP en relaxant
l'hypothèse de borne induite par un lien unique
La condition d'unicité de borne sur les métriques peut sembler une hypothèse forte ; en
contrepartie, elle permet de diminuer drastiquement le nombre de mesures à eectuer en
limitant le nombre de triplets à tester pour assurer l'application de la règle de regroupement
classique. On peut intuitivement se demander si il ne serait pas rentable de relaxer cette
hypothèse en ne testant qu'un sous-ensemble des triplets contenant le nouveau chemin,
plutôt que l'ensemble de ceux-ci, tout en acceptant un risque de détection d'un faux-vrai.
Il convient donc d'analyser les conditions pour lesquelles on peut avoir ce faux-vrai.
5.4.7.1 Relaxation de l'hypothèse de borne induite par un lien unique
Dans la plupart des cas que nous avons décrit dans le chapitre 2, les plates-formes de
grilles sont constituées de sites reliés entre eux par des réseaux haut débit. Si l'on considère
que les points de saturations sont à l'entrée et à la sortie de ces sites, cela signie que les
chemins présentent au plus deux liens 1-détectables, l'un à la sortie du site hébergeant
l'hôte à l'origine du chemin, l'autre à l'entrée du site hébergeant l'hôte à la destination
dudit chemin. Si les capacités de ces liens étroits sont assez également réparties, on peut
considérer qu'un couple de chemins partagera au plus deux liens étroits dans les cas réels,
et, si l'hypothèse de consistance du routage est vériée, d'un seul lien faisant oce de
sous-chemin commun maximum 1-détectable.
Hormis des hypothèses telles que celles-ci sur la nature de la topologie du réseau et
ses propriétés, rien ne permet de spéculer sur le nombre de sous-chemins communs à des
ensembles de chemins. Supposons que l'on ait, à un moment donné de la reconstruction, un
ensemble P de chemins de cardinalité n partageant un sous-chemin commun détectable.
Supposons qu'un chemin pc partage un sous-chemin commun détectable avec pa , pb ∈ P .
Par dénition, soit il existe un sous-chemin commun détectable à tous les chemins de
P ∪ {pc }, soit il existe un sous-chemin commun entre les chemins d'un P 0 ⊂ P et de pc ,
ainsi qu'un ensemble de chemins P 00 = P \ P 0 pour lesquels il n'existe pas de sous-chemins
communs entre pc et pa , pb ∈ P 00 .
Si l'on considère qu'il n'existe pas de propriétés particulières au réseau sous-jacent,
les ensembles P 0 et P 00 sont donc une partition de l'ensemble P . Cette partition étant
quelconque, on peut en déduire que la probabilité qu'un chemin appartienne à P 0 ou P 00
est donc de 21 . La détection d'un faux vrai se faisant lorsqu'au moins l'un des deux chemins
de P tiré au hasard parmi les n − 2r chemins restant à la r-ième mesure conrmant la règle
de regroupement appartient à l'ensemble P 00 , on peut donc estimer la probabilité P rob(A)
104
Algorithmes de reconstruction pour la tomographie réseau
de n'avoir pas détecté un faux vrai à la r-ième mesure comme suit :
P rob(A) =
r−1
Y
C 2n −2i
i=0
2
Cn−2i
2
r−1
Y
( n2 − 2i − 1)( n2 − 2i)
(n − 2i − 1)(n − 2i)
i=0
r
1
≈
4
=
(5.3)
Grâce à cela, on peut, pour un degré de conance donné d, xer le nombre de mesures
optimales pour estimer si la règle de regroupement est applicable, ou non, simplement en
r
choisissant r tel que 14 ≤ 1 − d.
Cette technique reste cependant très dépendante d'une certaine homogénéité de la
répartition des chemins ainsi que de celles des sous-chemins communs 1-détectables sur
ceux-ci. Cependant, il faut aussi garder à l'esprit que cette technique est appliquée à des
1-MINP pour des métriques bornées : cela signie que les deux sous-chemins communs
détectables de P 0 et P 00 respectivement ont la même capacité (à un paramètre de sensibilité
s) ce qui rend moins probable l'existence de ceux-ci.
5.4.7.2 Algorithme de reconstruction
L'algorithme de reconstruction est donc similaire à celui présenté en section 5.4.5,
excepté pour la procédure de recherche de sous-chemins. Celle-ci fait donc r mesures au
lieu de 1. Dans le cas où la présence de deux sous-chemins communs est détectée, on
procède à la détermination de l'appartenance à chacun des ensembles P 0 et P 00 , puis, le
noeud correspondant à P 0 est ajouté. La procédure de recherche de sous-chemins communs
est donnée à la gure 9. La procédure en cas de faux-vrai détecté est elle décrite à la gure
10.
105
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 9 ChercherSousChemin - Relaxation de la borne unique
Paramètre de sensibilité s, cheminM axcourant, cheminCourant, r.
Les nouveaux sous-chemins
Entrées :
Sorties :
nouveauxSousChemins ← {0}
si |couv(cheminM axCourant)| == 1AN D{cheminM axCourant, cheminCourant}
admet un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
sinon
Sinon, ajouter cheminCourant dans la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| == 2
AN D({couv(cheminM axCourant)[1], couv(cheminM axCourant)[2], cheminCourant})
possèdent un sous-chemin commun détectable
alors
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
sinon
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
nsi
si |couv(cheminM axCourant)| ≥ 3 alors
l←1
si
{couv(cheminM axCourant)[1], couv(cheminM axCourant)[2], cheminCourant},
{couv(cheminM axCourant)[1], couv(cheminM axCourant)[3], cheminCourant}
possède un sous-chemin commun détectable
alors
booleanf auxvraidetecte = f aux
tantque l ≤ rOR!f auxvraidetecte faire
Choisir deux chemins couv(cheminM axCourant)[i] et couv(cheminM axCourant)[j]
non précédemment testés dans la couverture de cheminM axCourant
si {couv(cheminM axCourant)[i], couv(cheminM axCourant)[j], cheminCourant} ne
possède pas de sous-chemin commun détectable alors
f auxvraidetecte = vrai
nsi
l ←l+1
n tantque
nsi
si fauxvraidetecte alors
fauxVraiDetecte(cheminCourant, cheminM axCourant) (alogrithme 10).
nsi
nsi
retourne nouveauxSousChemins.
106
Algorithmes de reconstruction pour la tomographie réseau
Algorithme 10 fauxVraiDetecte(cheminCourant, cheminM axCourant) : Cas de faux
vrai - Relaxation de la borne unique
Entrées :
Sorties :
cheminCourant, cheminM axCourant
Nouveau sous-chemin correct créé
Créer un nouveauSousChemin
couv(nouveauSousChemin) = couv(nouveauSousChemin) + cheminCourant
∀i, j, k < |couv(cheminM axCourant)|, i 6= j, j 6= k, i 6= k
si {couv(cheminM axCourant)[i], couv(cheminM axCourant)[j], cheminCourant},
{couv(cheminM axCourant)[i], couv(cheminM axCourant)[k], cheminCourant} pos-
sède un sous-chemin commun détectable
alors
couv(nouveauSousChemin) = couv(nouveauSousChemin) + {i, j, k}
Sinon, ajouter cheminCourant à la liste nouveauxSousChemins
sinon
nouveauxSousChemins
←
nouveauxSousChemins
creerSousM ax(cheminM axCourant, cheminCourant)
∪
nsi
5.4.7.3 Exemple
Vu le peu de diérences entre les exécutions de cet algorithme et celui donné pour les
1-MINP bornés uniques, nous ne donnons pas ici d'exemple.
5.4.7.4 Complexité
Etapes de calcul Le nombre d'étapes de calcul reste toujours négligeable par rapport
aux nombre de mesures à eectuer ; il est cependant similaire au nombre de mesures à
eectuer, puisque l'algorithme fonctionne de manière "on-line".
Nombre de tests La complexité de cet algorithme est plus importante que celle de l'algorithme LTC mais il reste moins coûteux que l'algorithme le précédent pour les métriques
bornées. Elle est, hormis le facteur r, similaire à celle de l'algorithme LTC.
5.5
Vers des algorithmes hybrides pour la reconstruction de
MINP
Comme nous l'avons vu au travers des algorithmes décrits précédemment, les techniques
de reconstruction sont coûteuses, surtout en terme de mesures. Il semble naturel de se tourner soit vers des heuristiques pour améliorer le temps de reconstruction de représentations
MINP du réseau, ou encore vers l'utilisation de données provenant de sources diérentes.
107
Algorithmes de reconstruction pour la tomographie réseau
Une limite théorique simple permet de s'en persuader. Considérons une relation quelconque
entre les chemins (conjonction, disjonction, "avoir un sous-chemin commun") et supposons
que nous disposions d'une technique de mesure qui nécessite que les ensembles de chemins
testés soient testés séquentiellement pour éviter les interférences entre mesures, et qu'elle
puisse, comme celle utilisée dans l'algorithme LTCP, parvenir à évaluer les interférences
entre un chemin et un ensemble de chemins indépendants entre eux. Pour un ensemble Pe2e
de chemins tous indépendants entre eux, l'évaluation des relations liant les chemins les uns
avec les autres, nécessite que l'on teste une paire de chemins, puis, si ils sont indépendants,
3 chemins, et ainsi de suite, ce qui implique |Pe2e | étapes de mesures. Si les chemins ne sont
pas tous indépendants, cela conduit à une augmentation du nombre de mesures. Notons
que le nombre de mesures minimal est de plus celui où il n'y a aucune interférence entre les
chemins, ce qui laisse supposer que l'éventuel utilisateur de la méthode n'aura rien gagné
à l'appliquer. Ceci implique donc que l'on peut au mieux être linéaire par des méthodes
de ce type si l'on ne connaît rien des chemins de Pe2e . L'utilisation de quelque méthode
que ce soit reste donc coûteuse, à moins d'être capable d'utiliser des informations sur les
chemins provenants de sources extérieures.
5.5.1 Algorithmes hybrides utilisant des données complètes
5.5.1.1 Données d'entrée
Nous considérons ici que nous pouvons connaître entièrement la topologie physique du
réseau grâce à un outil tel que traceroute, c'est-à-dire qu'aucun des points existants dans
le réseau n'est ignoré (modulo certains appareils tels que les hubs, mais ceux-ci sont de nos
jours de plus en plus rare). Ce type d'information est celui que l'on obtient lorsque l'on
utilise la technique d'identication d'équipement réseau telle que décrite en section 3.1.4.1.
Nous avons présenté, en section 4.3.2.4 le modèle d'∞-MINP, et en section 4.3.2.6, comment
reconstruire une telle représentation du réseau en ayant à disposition des informations de
type traceroute.
Nous considérerons donc, dans cette section, que nous disposons de l'∞-MINP correspondant au réseau sous-jacent, puisqu'on peut l'obtenir par les transformations simples
citées ci-avant. La reconstruction de MINP consistera donc à établir quels sont les souschemins communs qui sont détectables, et quels sont ceux qui ne le sont pas, à partir de
de cet ∞-MINP.
5.5.1.2 Quelques propriétés des 1-MINP bornés
Quelques transformations dans le cas des 1-MINP bornées peuvent être eectuées sans
même procéder à une mesure de manière à simplier l'∞-MINP. Ces transformations reposent sur la règle de couverture unique. Dans l'∞-MINP obtenu, la topologie peut avoir
engendré des noeuds ayant la même couverture. On peut donc, en partant du supremum,
108
Algorithmes de reconstruction pour la tomographie réseau
parcourir l'∞ − M IN P et confondre les noeuds possédant la même couverture, de manière
à réduire le nombre de noeuds.
Une deuxième transformation repose sur la propriété suivante :
6 Soit un ∞-MINP utilisé pour reconstruire un 1-MINP borné. Si un noeud x de l'∞-
MINP ne représentant pas un chemin complet (i.e. un chemin de Pe2e ) et n'ayant pas de
ls qui soit un chemin de Pe2e , possède un ls y de même capacité que x qui ne représente
pas non plus un chemin complet de Pe2e et qui n'a qu'un père (i.e. x), alors le ls peut être
confondu avec son père (x et y peuvent être confondus).
Preuve La couverture du noeud y est un sous-ensemble de celui de x. De plus, ces deux
noeuds ayant la même capacité, ils sont indiscernables les uns des autres, sauf si le noeud
y présente un lien vers une autre couverture. Puisque ce noeud n'a qu'un père, cela n'est
pas le cas, et on peut donc confondre x et y .
Cette propriété peut être utile lors de la phase de reconstruction. En eet, de par cette
étape, nous obtenons un MINP pré-étiqueté ne contenant plus de noeud qui ne puisse être
1-détectable. En eet, les noeuds 2-détectables ou plus sont des noeuds dont la capacité
(pour les métriques bornées) est supérieure à la capacité de son ls qui possède la plus
importante (par rapport à la relation associée à la métrique) capacité. Il ne reste donc,
dans ces topologies que des noeuds potentiellement 1-détectables.
5.5.1.3 Algorithme de reconstruction de 1-MINP borné
Un algorithme de reconstruction permettant d'utiliser un ensemble complet de données
provenant de traceroute peut être construit comme suit.
La première étape de reconstruction, est de reconstruire l'∞-MINP en suivant la procédure décrite en section 4.3.2.6.
Un moyen peu coûteux de réduire encore le MINP non valué est d'utiliser la propriété
simple donnée en section 5.5.1.2. Pour cela on évalue la capacité de chaque chemin de
Pe2e . Cela permet de réaliser un pré-étiquetage des chemins, puisque tout noeud de N
est soit indétectable, soit étiqueté par la capacité de son ls de plus grande capacité. Une
fois ce pré-étiquetage fait, ce qui est simple à réaliser en partant de l'inmum, on doit
réévaluer le respect de la règle de couverture unique. Notons qu'à la n de cette étape,
tous les sous-chemins communs existants dans le MINP résultant de ces transformations
possèdent une couverture diérente les uns des autres. Notons aussi, que par dénition,
cet ∞-MINP respecte l'inégalité 4.14, c'est-à-dire que le nombre m de sous-chemins du 1MINP pré-étiqueté est inférieur ou égal à la cardinalité de Pe2e , n, et ce de par l'application
des transformations 6 et 5.5.1.2.
Quand tous les noeuds du MINP pré-étiqueté ont une couverture diérente, on peut
utiliser la propriété suivante :
109
Algorithmes de reconstruction pour la tomographie réseau
7 Soit un 1-MINP pré-étiqueté dont chacun des noeuds a une couverture diérente des
autres. Soit un noeud x et un noeud y de ce MINP ne représentant pas un chemin complet
de Pe2e , tels que couv(x) ⊂ couv(y), |couv(x)| ≥ 2. Il est toujours possible de trouver
un ensemble P et un ensemble P 0 de cardinalité supérieure ou égale à 2 tels que P ⊆
couv(x), P 0 ⊆ couv(y), pa ∈ P, pb ∈ P 0 , pa ∈
/ P 0 , pb ∈
/ P, |P | = |P 0 |, P = {pa } ∪ |P 0 | \ {pb }.
Preuve Cette propriété est triviale de par la dénition des ensembles. Soit
couv(x) =
en choisissant P = {px , py }
{px , py }, et couv(y) = {px , py , pz }. On peut construire P et
et P 0 = {py , pz }, et donc pa = px et pb = pz . On obtient donc bien les ensembles désirés.
On peut généraliser en prenant couv(x) = {px , py } ∪ Q et couv(x) = {px , py , pz } ∪ Q ∪ R
où Q et R sont des sous-ensembles de Pe2e quelconques.
P0
Cette propriété est utile quand on cherche à éliminer des chemins du MINP valué
obtenu : cela signie qu'on est capable, en 2 mesures, l'une sur P et l'une sur P 0 d'estimer,
en cas de sous-chemin commun détecté, si on a détecté x ou bien y . Si on établit que x et
y sont detectés tous les deux, alors on peut confondre x avec y si ils possèdent la même
capacité, excepté si x possède plusieurs pères. Si ils n'ont pas la même capacité, alors on
peut conserver x et y . si l'on détecte x et non y , alors y est indétectable.
L'étape suivante consiste à établir quels sont les sous-chemins communs qui sont 1détectables. Notons ici que la condition de regroupement, qui étayait nos précédents algorithmes, n'a plus d'utilité ici, puisque la couverture des diérents sous-chemins communs
possibles est déjà connue. Elle sera remplacée par l'estimation de l'existence de x ou de y
basée sur la propriété sus-citée.
Plusieurs approches sont possibles, entre autres :
Une approche où l'on présuppose que les sous-chemins communs ayant les couvertures
les plus grandes ne sont pas détectables, et où on élague donc le MINP des noeuds
superus en cherchant à éliminer d'abord les liens de couverture les plus grandes.
Une approche où l'on présuppose que les sous-chemins communs ayant les plus petites couvertures ne sont pas détectables, et où l'on élague le MINP par le bas, en
supprimant les noeuds de couverture les plus petites en premier.
Une approche où l'on cherche à réduire le plus vite possible le nombre de noeuds du
MINP, en prouvant que certains ensembles de noeuds ne sont pas couverts par des
sous-chemins détectables.
Pour chacune de ces méthodes, on peut procéder comme suit. Supposons que nous
disposions d'une 1-mesure k-test, c'est-à-dire que l'on puisse évaluer l'existence de souschemins communs 1-détectables pour un ensemble de k chemins. La première étape est de
générer la liste des sous-ensembles de cardinalité inférieure ou égale à k et supérieure ou
égale à 2 d'éléments de Pe2e , puis à évaluer le critère suivant lequel on désire traiter en
priorité les chemins. Par exemple, pour réduire le plus vite possible le nombre de noeuds du
110
Algorithmes de reconstruction pour la tomographie réseau
MINP pré-étiqueté, on évalue le nombre d'ancêtres communs que ces ensembles partagent.
Puis on peut ordonner la liste de ces ensembles suivant le critère évalué.
Puis on teste l'existence d'un sous-chemin commun pour un premier ensemble x. Deux
cas se présentent :
On n'a pas réfuté l'existence de sous-chemin commun détectable pour cet ensemble de
chemin. On passe à l'ensemble père (ou ls) suivant pour évaluer y . Comme explicité
précédemment, cela nous permet de conrmer ou d'inrmer l'existence de x, de y ou
de l'un de ses ls.
On a réfuté l'existence de sous-chemins communs détectables pour cet ensemble :
cela signie qu'aucun des ancêtres n'existe. On peut donc supprimer ces ancêtres
dans N . Il est nécessaire de réévaluer le nombre d'ancêtres des ensembles restants,
puis de les réordonner comme précédemment.
5.5.1.4 Complexité
La complexité des diérentes techniques dière suivant la topologie du réseau sousjacent. Cependant, elle est en terme de mesures nettement inférieure aux algorithmes basés
uniquement sur les données issues de mesures.
Etapes de calcul Les étapes de calcul sont ici nombreuses, de par l'application de la
règle de couverture unique, de la règle de confusion du père et du ls pour les 1-MINP
bornés, ainsi que pour le tri et la réévaluation des couvertures des diérents noeuds et
sous-ensembles des couvertures de ceux-ci, et elles impliquent une utilisation mémoire
importante. Néanmoins comme précédemment on estime que ce temps de calcul reste
toujours négligeable devant le temps de mesure.
Nombre de tests Le nombre de mesures dépend beaucoup de la topologie sous-jacente.
Celui-ci peut néanmoins être borné. On a de toute facon un ensemble de |Pe2e | mesures
à eectuer pour construire le 1-MINP pré-étiqueté. Puisque l'opération de comparaison
de x et y permet à chaque fois de conrmer l'existence ou l'inexistence d'un sous-chemin
commun détectable du 1-MINP pré-étiqueté, on peut conclure, puisque le nombre de souschemins communs du 1-MINP est borné par n, que ces techniques ont une complexité au
pire linéaire suivant le nombre de noeuds représentants des sous-chemins dans le MINP, et
donc, n.
5.5.2 Algorithmes hybrides utilisant des données partielles
5.5.2.1 Données d'entrée
Nous considérons ici que nous disposons d'un ensemble d'∞-MINP partiels correspondant à des sous-parties du réseau P ⊂ Pe2e . Cette fois-ci, les données peuvent donc
111
Algorithmes de reconstruction pour la tomographie réseau
provenir d'outils de type traceroute, si certains noeuds n'ont pas répondu, ou bien encore
de données locales connues d'un utilisateur souhaitant utiliser ce type d'algorithme, comme
par exemple les liens existants entre certaines machines d'un même site appartenant à la
plate-forme de grille.
Un autre type de données partielles que l'on peut obtenir de mesures par traceroute est
un ensemble de données parcellaires, c'est-à-dire qui ne portent que sur un certains nombre
de points d'un chemin logique. On procédera de même pour ces données, en vériant
la détectabilité des éventuels sous-chemins communs existants. On obtiendra de fait un
ensemble de relations entre chemins, ce qui n'est pas génant pour la méthode proposée ici
pour travailler avec des données hybrides.
Dans un premier temps, on appliquera les transformations données en section 5.5.1.2
de manière à simplier ces données.
5.5.2.2 Algorithmes hybrides pour la reconstruction de 1-MINP pour une
métrique bornée
De manière à exploiter les données d'entrées transformées, il n'est plus possible d'utiliser la première approche cité en section 5.5.1.3, c'est-à-dire de présupposer que les souschemins communs détectables de plus grande couverture ne sont pas détectables, car nous
ne connaissons pas ceux-ci. Il convient donc, dans ce cas, d'utiliser la deuxième ou la troisième approche de la section 5.5.1.3. Elle est en eet applicable à tous les MINP partiels
qui ont été donnés en entrée.
A la n de cette étape, on obtient donc un ensemble de MINP partiels complètement
dénis. Des modications simples peuvent être faites sur les algorithmes que nous avons
donnés précédemment pour les 1-MINP bornés (section 5.4.3, 5.4.4, 5.4.5, 5.4.7 ou encore 5.4.6) de manière à tirer partie de ces MINPs partiels. Ces modications portent sur
l'évaluation lors de la recherche de sous-chemins communs : plutôt que de recourir à des
mesures pour connaître l'existence de sous-chemins communs, il sut de vérier d'abord
si cette connaissance peut être établie en utilisant les MINP partiels déjà obtenus. Une
formalisation de cette technique est donnée à la gure 11.
Algorithme 11 évaluer le MINP partiel x, y et z
Entrées :
x, y, z chemins.
MINP partiel pour {x, y, z}
si {x, y, z} appartiennent à un MINP partiel connu
Renvoyer MINP partiel {x, y, z}
Sorties :
alors
sinon
Mesurer le MINP partiel {x, y, z}
nsi
112
Algorithmes de reconstruction pour la tomographie réseau
Notons que cette méthode permet tout aussi simplement d'intuiter des méthodes permettant d'agglomérer les données issues de MINP partiels déjà obtenus, ou encore de
modèles dont les données peuvent être simplement transformées en 1-MINP suivant les
méthodes décrites en section 4.3.2.6.
5.5.3 Vers une utilisation réelle des MINP
D'une manière générale, un utilisateur nal désirera mettre le moins de temps possible pour reconstruire une topologie complète. Dans le cadre d'une utilisation réelle de ces
méthodes, et comme dans beaucoup de domaines, il peut être très utile d'avoir une intervention humaine intelligente sur les données initiales, de manière à minimiser le nombre
de mesures.
Un point crucial est le choix des chemins qui feront partie de l'ensemble Pe2e . Plus
cet ensemble de départ sera réduit, plus petit sera la nombre de mesures nécessaires à la
reconstruction de MINP.
Par exemple, un moyen simple et ecace de réduire le nombre de mesures est de choisir
un hôte représentant d'un site, d'où partira/arrivera chacun des chemins inclus dans Pe2e
pour ce site.
En eet, si cet hôte est judicieusement choisi, il sera simple d'aggréger les données
connues localement sur le réseau et sa topologie et la représentation MINP du réseau
général. La gure 5.6 illustre un tel choix.
Figure 5.6. Choix d'un représentant
Pour chaque site (isolé par un cercle) on choisit un représentant (la machine à la fois
113
Algorithmes de reconstruction pour la tomographie réseau
source et destination colorée dans la gure). Il sut, si l'on peut connaître de manière
simple la topologie menant au lien sortant du site de la machine, d'eectuer une construction du MINP local reliant chacune des machines, puis de concaténer ce MINP avec le
MINP reliant chacun des représentants de sites. Un moyen pour élire automatiquement un
représentant de site, qui, à priori, devrait être au plus près de la sortie de celui-ci peut être
par exemple le suivant. On mesure le RTT et la capacité de chacun des chemins appartenant à Pe2e ayant comme source des hôtes appartenant à un site Ss et destination un hôte
appartenant à un autre site Sd . L'estimation de la capacité étant requise pour l'application
de tous les algorithmes présentés ici, et les mesures de RTT pouvant être eectuées en
parallèle, ce processus est peu coûteux. Le chemin parmi ceux ayant la meilleure bande
passante disponible et ayant le plus court RTT devrait être à priori le chemin reliant les
meilleurs représentants de Ss et Sd , ceux-ci étant physiquement les plus proches de la sortie de chaque site. On peut donc, en formant des couples entre sites, élire un représentant
pour chacun d'eux. La reconstruction de MINP peut se faire, une fois des représentants
choisis, et dans l'hypothèse où chaque site possède une sortie (resp. entrée) unique vers
l'extérieur, en 2 étapes distinctes de mesures, à savoir l'établissement du MINP inter-site
pour la première étape, et pour la deuxième, l'établissement d'un MINP local pour chacun
des sites. Pour chaque site Ss , le MINP local représentera les interactions entre les chemins
Ss
Ss
appartenant à Pe2e internes au site et un ensemble de chemins P Ss = Pentrant
∪ Psortant
,
Ss
Pentrant étant l'ensemble de chemin ayant pour origine le représentant et pour destination
Ss
les noeuds du site, et Psortant
l'ensemble de chemins ayant pour destination le représentant
et pour origine les noeuds du site. Ces deux ensembles représentent donc les sous-chemins
communs locaux aux éventuels chemins sortant du site, ou y entrant. La concaténation
des MINP locaux avec le MINP total inter-site peut se faire relativement simplement, en
considérant que le chemin partant du représentant de Ss à destination du représentant du
site Sd est le sous-chemin commun de l'ensemble Psd des chemins plus longs appartenants
à Pe2e ayant pour origine des noeuds du site Ss et pour destination des noeuds du site
destination Sd . De même, on considère que les chemins intra-site ayant pour origine le
représentant de Sd et destination les noeuds du site Sd sont des sous-chemins des chemins
de Psd (et inversement, ceux ayant pour origine les noeuds de Ss et pour destination le
représentant de Ss ). Dans ce cas, la concaténation se fait en 2 étapes : la première consiste
à ajouter au MINP total un noeud x père du chemin ayant pour origine le représentant
de Ss et pour destination celui de Sd , de même capacité que ce chemin, puis à lui donner comme ls le chemin entre représentants (si celui-ci fait partie de Psd ) ainsi que les
Ss
sous-chemins les plus courts (i.e. les sous-chemins ls directs de Ω) de l'ensemble Psortant
Sd
et Pentrant
, formant par concaténation avec le chemin inter-site représenté par le noeud x
les chemins de Psd .
Il ne reste plus qu'à éliminer les éventuels doublons, ainsi que les sous-chemins indé114
Algorithmes de reconstruction pour la tomographie réseau
tectables sur la totalité du chemin introduits par cette concaténation. On confond dans un
premier temps tous les noeuds ayant une capacité plus grande que (ou égale ±s à) celle
de leur père, puisque par dénition ils ne sont plus détectables dans le chemin complet.
En appliquant la règle de couverture unique, on peut ensuite confondre les noeuds entre
eux. Dans le cas où deux noeuds à confondre ont des capacités diérentes, on étiquette le
noeud né de cette confusion par la capacité la plus basse.
Dans le cas où plusieurs sorties (resp. entrées) de sites existent, on peut procéder de
même que précédemment, en utilisant un représentant par sortie (resp. entrée) de site,
qui peut être élu de même que précédemment, à condition, bien sûr, de savoir quelles
sont les sorties (resp. entrées) utilisées par les chemins de Psd . Notons que dans ce cas,
Ss
Ss
l'ensemble P Ss = Pentrant
∪ Psortant
n'augmentera pas suivant le nombre de représentant,
S
Ss (ri )
Ss (ri )
Ss
car si on q représentants ri , on aura Pentrant
= qi=0 Pentrant
, où Pentrant
est l'ensemble de
chemins entrants reliant le représentant ri aux noeuds de Ss qui sont des noeuds destination
Ss
de chemins de Pe2e qui passent par l'entrée représentée par ri . L'ensemble Psortant
sera
constitué de même.
D'une manière générale, l'utilisation de représentants fera que certaines méthodes seront
plus ecaces. Par exemple, la relaxation de l'hypothèse de borne induite par un lien unique
est très dépendante de l'ensemble de Pe2e . Or, si Pe2e est constitué de l'ensemble de chemins
d'un graphe complet sur une topologie en étoile, alors on peut démontrer que la probabilité
qu'un chemin appartienne à P ou P 0 est exactement 1/2, ce qui rend cette méthode d'autant
plus sûre.
Enn, utiliser réellement les MINP implique d'être capable d'inrmer ou de prouver
l'existence d'un sous-chemin commun détectable à un ensemble de chemins. Ceci est le
sujet du chapitre suivant.
5.6
Synthèse
Comme nous l'avons vu dans ce chapitre, nombre d'algorithmes existent pour reconstruire une représentation des connaissances que l'on a des performances du réseau, tous
plus ou moins dédiés à la modélisation pour laquelle ils ont été pensés. De même que les
travaux existants, ceux eectués dans le cadre de cette thèse ont porté sur l'algorithmique
de reconstruction pour le nouveau modèle introduit au chapitre précédant. Après avoir
donné un premier algorithme démontrant avec succès la faisabilité de cette reconstruction,
un ensemble d'algorithmes a été donné, ayant pour but de réduire le temps total de reconstruction, en s'appliquant à réduire le nombre de mesures à eectuer, en jouant sur
les hypothèses portant sur les métriques, le facteur de détectabilité k, la conance sur le
115
Algorithmes de reconstruction pour la tomographie réseau
résultat obtenu ainsi que sur le type de techniques de mesures utilisées.
Puis un ensemble d'algorithmes hybrides, utilisant des informations provenant de sources
diverses ont été donnés de manière à réduire encore la complexité en terme de mesure des
méthodes considérées, amenant à des algorithmes qui peuvent avoir une complexité, en
terme de mesures, au maximum égal au nombre de chemins, soit |Pe2e |. Enn, un ensemble
de conseils pour la mise en oeuvre dans des cas réels de ces algorithmes a été donné.
116
Techniques de mesures pour les sous-chemins
communs étroits
Ce chapitre traite des diérentes techniques de mesures pour évaluer l'existence et
les performances d'un sous-chemin commun détectable entre plusieurs chemins. La vue
d'ensemble des techniques de mesures existantes porte sur les techniques de mesures actives,
qui représentent la majorité des techniques développées ; cependant il faut noter que des
techniques de mesures passives existent [45] [104]. Notons que nous traitons ici des cas où
les sous-chemins communs sont communs à plus d'un chemin. Nous avons au chapitre 2
section 3.2 dressé un rapide portrait des techniques existantes pour le cas de l'estimation
de la bande passante disponible ou bien encore de la capacité en bande passante d'un seul
chemin.
Notons aussi que les techniques sont souvent extrêmement dépendantes de la mesure
pour laquelle elles ont été conçues. La majeure partie des travaux dans ce domaine porte
sur le délai [89][60] ou le taux de perte [49], [66] qui possèdent des propriétés intéressantes
pour la reconstruction de MINT (monotonicité, séparabilité, symétrie dans le cas du délai
quand le routage est lui aussi symétrique). De nombreux travaux présentent des techniques
de mesures basées sur des mesures multicast ; notre travail se basant sur les techniques de
mesures unicast, nous porterons une emphase particulière sur ceux-ci.
6.1
Techniques existantes
L'immense majorité des techniques de mesures de sous-chemins communs étroits est
basée sur une notion d'entrelacements de paires de paquets, proche des techniques de
mesures de la bande passante pour un seul chemin basées sur des paires de paquets dos
à dos. C'est le cas des techniques par paires de paquets imbriquées, de la technique de la
cartouche ou de l'approche bayésienne par exemple. Nous donnons ici quelques exemples
de ces méthodes.
6.1.1 Méthode par paires de paquets imbriquées
Ces techniques dites packet-pair probes [60] sont les techniques les plus souvent utilisées
lorsque l'on veut reconstruire une représentation MINT du réseau dans le cas où une source
117
Techniques de mesures pour les sous-chemins communs étroits
communique vers plusieurs destinations. Le principe général n'est pas sans rappeler les
techniques de mesures de bande passante par injection de paquets dos à dos présentés dans
la section 3.2.
6.1.1.1 Description
Comme la plupart des techniques de mesures existantes, cette technique est une 2mesure 1-test. L'idée générale est illustrée par la gure 6.1.1.1. Cette technique est souvent
utilisée pour estimer le délai. Elle n'implique aucune synchronisation entre les diérents
noeuds participant à la mesure. Un paquet de grande taille (q ) est destiné au noeud d1 ,
p2
s0
p2
d
p1
q
p2
p1
p2
d + ∆q
p1
p2
p1
p1
d1
d2
Figure 6.1. Mesure par injection de tests sandwich
tandis que les autres paquets (p1 et p2 ) sont destinés au noeud d2 . Le paquet p2 et le
paquet q sont envoyés dos à dos. Tous les paquets sont émis depuis la source s0 . Si l'on
considère qu'il n'y a aucun trac interférent, l'écart temporel entre les petits paquets
destinés à d2 augmente progressivement le long du chemin jusqu'au point de disjonction
des chemins ps0 ,d1 et ps0 ,d2 , car le second paquet p2 est ralenti par le temps de queue induit
par le grand paquet q . A l'arrivée, l'intervalle de temps entre les paquets p1 et p2 permet
d'estimer le délai ∆q induit par q , puisque l'intervalle de temps initial d est connu. Notons
qu'en l'absence de trac interférent, la valeur ∆q est directement liée à la bande passante
atteignable sur le sous-chemin commun aux deux chemins. d est choisi de manière à être
susamment grand pour éviter que le paquet p2 ne rattrape son retard sur la paquet p1
pour des raisons de trac interférent.
6.1.1.2 Exploitation des valeurs obtenues
On considère que le trac interférent est stationnaire, c'est-à-dire qu'il varie peu temporellement. On itère régulièrement le test décrit ci-avant dans le temps, en prenant soin
que ces itérations soient indépendantes (c'est-à-dire que l'injection d'une preuve a n'induise
pas de queue pour une preuve b envoyée plus tard).
118
Techniques de mesures pour les sous-chemins communs étroits
On obtient par ces itérations des valeurs bruitées des capacités du sous-chemin commun
vis-à-vis de la métrique considérée, que l'on peut considérer comme une variable aléatoire
Xij où i, j ∈ R. Dans des conditions de trac interférent raisonnables, les diérents échantillons des valeurs de Xij sont statistiquement indépendants les uns des autres et ont un
écart type ni.
Dans les cas les plus simples, comme par exemple dans [49], la valeur retenue sera la
moyenne arithmétique des valeurs de cette variable aléatoire, et l'évaluation de la relation
de disjonction est équivalente à celle donnée en chapitre 2.
Dans certains travaux utilisant une approche statistique basée sur la vraisemblance
telle que décrite en section 5.2.3, on utilise plutôt les propriétes de cette variable aléatoire.
6.1.1.3 Performances
Bien sûr, ce type de preuve est sujette à des perturbations de ses performances en présence de trac interférent, et se trouve donc fortement bruitée. Elle est donc à priori plus
ecace dans le cas où l'on mène une reconstruction par un algorithme basé sur la vraisemblance, qui est par nature moins sujet à des erreurs induites par des mesures bruitées.
6.1.1.4 Limitations
Ces techniques étant basées sur la disjonction de chemin partant d'une même source
vers plusieurs destinations, elles ne peuvent être utilisées que dans ce cas-là. De plus, elles
sont sujettes aux eets de la dispersion dûe au trac interférent ; il est donc nécessaire
d'itérer un grand nombre de fois les injections de paquets pour obtenir un échantillon
statistique signicatif.
Enn, un problème plus profond vient compromettre l'avenir de ce type de tests lorsqu'ils sont eectués sur des réseaux haut débit (qui ont des débits de l'ordre du Gigabit/s).
Les cartes Gbit sont quasiment toujours équipées d'un buer d'entrée assez grand, qui empêche une mesure précise de l'écart de temps d'arrivée de paquets successifs. De fait, ces
techniques sont inutilisables pour des réseaux haut débit. On est alors obligé de choisir un d
initial grand, ce qui met en péril le respect de l'hypothèse de trac interférent stationnaire,
et, lors d'expérimentations réelles, doit donner une estimation très bruitée. De plus il faut
un q de taille importante pour induire un ralentisement du deuxième paquet.
6.1.2 Méthode de la "cartouche"
Cette méthode [89] est une variante plus ancienne de la technique précédente, cette
fois-ci adaptée au cas où l'on désire mesurer la capacité d'un ensemble de liens précis
contenus dans deux chemins ayant une même origine. Elle a donc été pensée pour dénir
la capacité d'un sous-chemin commun aux chemins considérés, et se comporte donc comme
une 3-mesure 1-test.
119
Techniques de mesures pour les sous-chemins communs étroits
6.1.2.1 Description
La technique repose elle aussi sur l'injection de paquets et la mesure de l'intervalle de
temps qui sépare leur arrivée sur le noeud destination. La gure 6.1.2.1 donne une vue
d'ensemble du type de motif de paquets qui est injecté.
q
pb
{pq}r
pc
pa
pcible
enregistreur
loupe
p
enregistreur final
Paquet cadenceur
loupe
Paquet cadenceur
enregistreur
loupe
enregistreur final
∆t
Figure 6.2. Mesure par la technique de la cartouche
La technique repose sur quatre types de paquets : un paquet dit paquet cadenceur
(pacer ), des paquets dits enregistreurs (marker ), de 2 paquets enregistreurs naux et enn
des paquets dits loupe (magnier ).
Ces diérents types de paquets sont utilisés dans un contexte bien précis. Soit deux
chemins pa et pb ayant une même origine. Soit le chemin pcible t.q. pcible est un sousa ,pb }
chemin du sous-chemin commun maximum à pa et pb , soit p{p
maximum se nissant au point
de disjonction de pa et pb . Soit les noeuds i et j respectivement les noeuds source et
destination de pcible . Soit enn un dernier chemin pc ayant la même origine que les chemins
pa et pb et ayant comme point de disjonction avec ces deux chemins le noeud source de
pcible i.e. i.
Dans le cas décrit ici, la technique de mesure de la cartouche permet de calculer la
bande passante le long du chemin pcible . Le train de paquets initial est constitué de la suite
de paquets suivants envoyés dos à dos : tout d'abord le cadenceur, suivi d'un paquet loupe,
d'un enregistreur nal, puis de r paires de paquets constituées d'un paquet loupe et d'un
paquet enregistreur, et enn, d'un paquet loupe et du dernier paquet enregistreur.
Le paquet cadenceur est de grande taille, et doit servir à ralentir le trac qui le suit
120
Techniques de mesures pour les sous-chemins communs étroits
immédiatement. Le paquet cadenceur suivra le chemin pc . Il permet, en ayant soigneusement choisi la taille de ce paquet, de faire en sorte qu'à l'arrivée au noeud i (soit au début
du chemin pcible ), les paquets le suivant soient encore dos à dos.
Puis ce paquet continue sur un chemin diérent des autres paquets qui le suivent.
Ces paquets parcourent ensuite le chemin pcible . Les paquets loupes, plus grands que les
paquets enregistreurs, ralentissent les paquets marqueurs le long du chemin à chaque queue
de routeur plus lente que les autres rencontrées. A la n du parcours de pcible les paquets
enregistreurs et loupes se sont comportés comme un train de paquets (voir la section
3.2.2.2). Tous les paquets, à l'exception des enregistreurs naux, nissent leur route le
long du chemin pb . Enn, les enregistreurs naux arrivent sur l'hôte destination de pa .
L'intervalle ∆t séparant leurs arrivées sur l'hôte destination permet d'évaluer le temps de
parcours le long de pcible du train de paquets. La raison pour laquelle seuls les paquets
enregistreurs naux arrivent à cet hôte est simple : si le train de paquets continuait jusqu'à
lui, il pourrait être ralenti par les liens appartenant à la n du parcours. En évitant cela,
les deux paquets arrivent susamment espacés pour que leurs parcours n'interfèrent pas
l'un avec l'autre.
6.1.2.2 Exploitation des valeurs obtenues
L'estimation de ∆t obtenu en mesurant la diérence entre les temps d'arrivées des
deux enregistreurs naux permet d'estimer le délai induit par le sous-chemin pcible pour le
train de paquets constitué des diérentes paires de paquets enregistreurs et loupes. Tout
comme les techniques précédentes, l'itération de l'injection de tests à des intervalles de
temps susamment grands pour que les tests n'inuent pas les uns sur les autres permet
d'obtenir des mesures statistiquement ables.
6.1.2.3 Performances
Cette méthode est une des seules permettant de cibler un sous-chemin commun précis
du réseau. En cela, c'est celle qui, parmi l'existant, se rapproche le plus de d'une mesure
nécessaire à la reconstruction d'un MINP.
6.1.2.4 Limitations
Tout d'abord, le sous-chemin cible doit pouvoir être déni par 3 chemins, tel que décrit
précédemment, sous peine de ne pouvoir être testé. Ceci ne sera pas forcément le cas
dans un schéma de communication partiel. De plus, il faut recourir à une autre méthode
pour estimer la position des diérents points de disjonction de ces chemins. L'utilisation
de cette technique nécessite donc soit d'avoir une connaissance de la topologie du réseau,
soit de l'acquérir préalablement. Enn, le dimensionnement des diérents paquets ainsi
que le nombre de paires d'enregistreurs et de loupes nécessite d'avoir une estimation des
{pa ,pc }
{pa ,pb }
capacités des diérents sous-chemins pmaximum
, pa \pmaximum
. Cela rend plus que complexe
121
Techniques de mesures pour les sous-chemins communs étroits
l'utilisation de ce type de méthode sans connaître à l'avance les capacités du réseau.
Enn, la techique soure de la même vulnérabilité au trac interférent que les techniques de mesures de bande passante par trains de paquets, excepté que cette vulnérabilité
est double : les paires de paquets enregistreurs et loupes peuvent subir des ralentissements
{pa ,pc }
dûs au trac interférent soit le long de pcible soit sur pmaximum
, sans qu'il soit possible
d'estimer la provenance des perturbations. De plus, le facteur r destiné à atténuer l'impact
a ,pb }
de la bande passante de la portion pa \ p{p
maximum peut, si il est grand, faire en sorte que
les perturbations deviennent probables.
6.1.3 Méthode bayesienne
Cette méthode est adaptée au cas où l'on désire mesurer la capacité d'un lien précis
contenu dans deux chemins ayant une même origine. Cette méthode permet d'évaluer,
comme la plupart des techniques de mesures, la capacité vis-à-vis du taux de perte d'un
sous-chemin commun à deux chemins ayant la même origine.
6.1.3.1 Description
Soit pa , pb deux chemins ayant la même origine sur lesquels on désire eectuer cette
mesure. Le principe général de cette méthode est assez simple : on procède à une estimation
de la capacité des deux chemins séquentiellement, puis on estime la capacité atteinte lors
d'injections simultanées sur les deux chemins, permettant, en cas de métrique séparable,
l'estimation de la capacité du sous-chemin commun. La technique de mesure étant destinée
à l'évaluation du taux de perte, la métrique considérée est donc celle-ci.
Dans le but d'estimer le taux de perte du premier chemin (pa ) on injecte un à un
des paquets en laissant un intervalle de temps entre les envois aléatoire mais supérieur ou
égal à un seuil ∆ permettant de supposer l'indépendance entre les diérents tests, et l'on
observe les éventuelles pertes de paquets. En recueillant un echantillon statistique susant,
on obtient une variable aléatoire X pa décrivant les pertes sur le chemin pa . On procède
ensuite de même pour pb .
Enn, on tente d'estimer les pertes dûes au sous-chemin commun de pa et pb en envoyant
des paires de paquets composées d'un paquet allant vers pa et d'un allant vers pb . Les envois
des deux paquets sont séparés par un intervalle de temps . L'intuition qui prévaut ici est
que plus les paquets sont temporellement proches, plus ils ont de chances d'être sujets
aux mêmes évènements tels que la perte dûe au trac interférent. En pratique, les auteurs
de [49] obtiennent d'ailleurs les meilleures performances avec un nul (c'est-à-dire qu'ils
envoient les paquets dos à dos). On observe ici les évènements de perte de la paire complète,
qui est à priori dûe à une perte sur la section commune aux deux chemins, et l'on recueille
un échantillon statistique susant pour obtenir une estimation du taux de perte.
122
Techniques de mesures pour les sous-chemins communs étroits
6.1.3.2 Exploitation des valeurs obtenues
L'exploitation des valeurs obtenues est simple : les auteurs [49] se contentent d'établir le
pourcentage de pertes observées pour les trois estimations (sur pa , pb et sur le sous-chemin
{pa ,pb }
{pa ,pb }
commun de pa et pb ). L'estimation des valeurs de pa \ pmaximum
et de pb \ pmaximum
(soit
les sous-chemins des chemins pa et pb partant du point de disjonction des deux chemins
jusqu'à leurs destinations respectives) est faite en utilisant la fonction g propre à la métrique
séparable considérée.
6.1.3.3 Performances
Cette technique relativement simple permet d'évaluer de manière relativement able le
taux de pertes sur un sous-chemin commun à deux chemins ayant la même origine.
6.1.3.4 Limitations
La méthode repose sur deux paramètres principaux : l'espacement minimal temporel
entre l'envoi de deux paquets (∆) quand l'estimation est faite sur un seul chemin, ainsi
que sur l'intervalle de temps séparant l'envoi des deux messages lors de l'évaluation du
sous-chemin commun.
Le choix de ∆ ne peut jamais, en pratique, garantir l'indépendance des tests injectés.
Ceci signie que lors des tests réels, il faut choisir une valeur pour ce paramètre de manière
empirique (car un trop grand ∆ augmente sensiblement le temps de mesure). Cela nuit à
l'automatisation de ce genre de techniques.
6.1.4 Méthode par agglomération de tests unicasts
L'idée principale de cette technique [66] est d'adapter les méthodes basées sur les mesures eectuées par des arbres multicasts au cas unicast. Dans ce but, les auteurs agglomèrent diérents tests unicast de telle façon que les propriétés statistiques de ces tests
avoisinent celles des tests eectués grâce aux arbres multicasts. Cela est rendu possible
par l'assertion que des tests temporellement très proches expérimenteront les mêmes évènements de congestion ou de perte de paquets, et donc, permettront une inférence des
caractéristiques du sous-chemin commun à tous les chemins considérés. Cette technique
de mesure est donc une n-mesure, du moins théoriquement. Les auteurs utilisent cette
technique dans le cadre de l'évaluation du taux de perte le long des chemins.
6.1.4.1 Description
Le schéma général du fonctionnement de l'injection de test est représenté à la gure
6.1.4.1. Une stripe de paquets, c'est-à-dire un ensemble de paquets envoyés dos à dos à
un ensemble de destinations {d1 , . . . , dr } ⊆ R est injecté depuis un hôte source s0 . Les
diérents paquets sont ensuite routés à travers l'arbre vers leurs diérentes destinations.
Certains paquets traversent une portion commune de l'arbre induit par le routage car
123
Techniques de mesures pour les sous-chemins communs étroits
leurs destinations sont proches les unes des autres. De par la proximité temporelle de leurs
passages à travers des sous-chemins communs, ces ensembles de paquets sont soumis à
d'éventuelles pertes, qui sont à priori corrélées les unes avec les autres. Cela permet, en
itérant l'injection de stripes, d'obtenir un ensemble de mesures concernant les diérents
sous-chemins communs à l'ensemble de chemins considérés.
s0
d1
d2
d1
d2
d1
d3
di
une "stripe"
dr−2
dr−1
dr
di
dr−2
d1
d1
dr−1
di
dr
dr−2
dr−1
dr
d1
dr
d1
di
dr
Figure 6.3. Mesure par injection de stripes
Même si le cadre général permet de penser qu'une reconstruction à partir d'arbres
ayant un nombre de feuilles arbitraire est possible, elle se révèle très complexe à mettre
en oeuvre. Les auteurs réduisent donc en pratique le nombre de feuilles à deux. Un autre
paramètre sur lequel les auteurs peuvent jouer est le nombre de messages destinés au même
hôte destination ainsi que leur place dans le stripe.
6.1.4.2 Exploitation des valeurs obtenues
A partir de l'injection de tests réguliers, les auteurs obtiennent un échantillon statistique
de pertes et d'arrivées de paquets. Les auteurs peuvent ensuite chercher une corrélation
entre les pertes de paquets en direction des deux hôtes.
6.1.4.3 Performances
Les avantages de l'utilisation de techniques de mesures telles que celles-ci sont multiples.
Tout d'abord, elles permettent d'utiliser les algorithmes pré-existants de reconstruction
basés sur les arbres multicasts. De plus, le type de méthodologie employé (l'estimation
de la corrélation d'évènements entre 2 sous-chemins) peut à priori être adapté à d'autres
métriques que la perte de paquets.
6.1.4.4 Limitations
Cette technique de mesure dépend beaucoup des conditions du trac interférent. De
nombreux paramètres, comme la taille du stripe en terme de paquets, la taille des paquets
124
Techniques de mesures pour les sous-chemins communs étroits
eux-mêmes, l'ordre d'envoi des paquets vers les diérentes destinations ne peuvent être
xés de manière optimale sans connaître l'état du réseau et du trac interférent lors de
l'injection des tests.
Enn, la corrélation entre les évènements tels que la perte de paquets peut être nulle
dans le cas par exemple de routeur utilisant la politique de Random Early Detection (RED),
qui détruit préventivement certains paquets si le taux de remplissage des buers du routeur
dépasse un certain seuil.
6.1.5 Méthode par mesures d'interférences
Cette méthode est celle utilisée par [96] ; notons que cette mesure est utilisée dans le
cadre de simulation utilisant SimGrid [32], un simulateur de grille de haut niveau utilisant
une simulation des performances du réseau non paquet par paquet mais établissant uniquement les propriétés de partage de bande passante entre des ux TCP [57]. Notons que
cette technique n'est pas dédiée à un usage réel, puisqu'elle se base sur l'établissement du
régime permanent dans un ux TCP, ce qui peut, dans le cas de liens high bandwidth.delay
prendre un temps rendant prohibitif l'attente d'un tel état [88].
Cette méthode est une 2-mesure, qui tend à établir non pas la performance du lien
considéré, mais son partage par ces deux chemins.
De part sa construction, elle doit permettre de prendre en compte les interférences dûes
à des liens commun étroits 1 et 2-détectables, puisqu'elle est basée sur l'estimation de la
variation de la bande passante lors d'injection de tests simultanés sur 2 chemins.
6.1.5.1 Description
La méthode est basée sur le fait que le simulateur SimGrid alloue une bande passante
aux diérents ux TCP circulant sur un même lien commun étroit par le modèle dit INVRTT-BOUNDED [57]. Dans ce modèle, si P est un ensemble de chemins traversé par des
ux en régime permanent, et si pPmaximum est un sous-chemin commun étroit pour lesdits
ux, alors la règle suivant doit être respectée :
1/RT T (pi )
pP
× cbwmaximum
∀pi ∈ P, bw(fpPi ) = P|P |
j=0 1/RT T (pj )
(6.1)
où bw(f ) est une fonction donnant la bande passante atteinte par le ux f en régime
permanent, RT T (p) une fonction donnant le RTT correspondant à un trajet suivant p puis
le retour par le chemin correspondant.
Dans le cas où la bande passante est allouée à un ux suivant cette règle, on peut
évaluer simplement si deux chemins pa et pb ont un sous-chemin commun détectable vis-àvis de la bande passante. Pour cela, on établit tout d'abord la bande passante obtenue par
chacun des ux séparément. Puis, l'on tente de saturer le chemin pa , et on estime la bande
125
Techniques de mesures pour les sous-chemins communs étroits
passante obtenue par pb dans ce cas. On procède de même pour pa lorsque pb est saturé.
Par ces mesures, on obtient les mesures de bande passante nécessaires à l'évaluation de
la relation telle que décrite dans la section 3.1.6.1.
6.1.5.2 Exploitation des valeurs obtenues
L'exploitation des valeurs obtenues est conforme à celle décrite dans la section 3.1.6.1.
6.1.5.3 Performances
Dans le cadre de son utilisation dans un simulateur, cette mesure atteint parfaitement
son objectif et permet donc d'eectuer des mesures réseau même en utilisant un simulateur
de plate-forme de haut niveau.
6.1.5.4 Limitations
Cette méthode, de par le fait qu'elle repose sur une mesure de la bande passante
atteignable par un ux TCP en régime permanent, est inutilisable dans des cas réels.
6.1.6 Autres méthodes de mesures
Notons enn qu'il existe d'autres méthodes de mesures que celles présentées ici qui
s'attachent à établir une relation entre les chemins plutôt que, comme les techniques précédemment décrites, des méthodes cherchant à évaluer la capacité des chemins considérés
ainsi que la relation les liant.
La méthode par observation de la distribution d'évènements utilisée lorsque l'on souhaite identier des sous-chemins communs entre plusieurs MINT construits à partir d'une
source communiquant vers plusieurs destinations en est un exemple. Elle est utilisée dans
l'outil PERISCOPE [56] pour reconstruire des forêts dans lesquelles les arbres sont plus ou
moins liés deux à deux par ces sous-chemins communs. Elle est basée sur l'observation de
distributions d'évènements sur les noeuds destinations participant aux tests. Nous l'avons
décrite en section 3.1.5.3.
Un autre exemple est l'identication de points communs à deux chemins par l'utilisation
de traceroute que nous avons décrit dans la section 3.1.4.1.
126
Techniques de mesures pour les sous-chemins communs étroits
6.2
Techniques adaptées à la reconstruction de MINP partiels
6.2.1 Principe général
Les techniques existantes que nous avons précédemment décrites ne permettent pas
d'identier convenablement la topologie et les performances du réseau lorsque l'on désire
reconstruire une représentation du réseau sous forme de MINP. Nous avons donc développé
de nouvelles techniques de mesures spéciques à ce problème.
6.2.2 Technique utilisant le régime permanent de ux TCP
Cette technique est en fait assez proche de celle décrite plus haut à la section 6.1.5,
qui peut être considérée comme un sous-cas de cette technique. Nous n'avons bien entendu
pas développé cette technique pour une utilisation dans des cas réels, mais dans le cadre
de simulations de plates-formes comprenant un nombre de noeuds rendant prohibitive
l'utilisation d'un simulateur de bas-niveau du réseau sur lequel seraient eectuées des
mesures adaptées aux cas réels.
6.2.2.1 Description
Puisque ce type de preuve n'est pas conçu pour être utilisé dans des cas réels, mais
dans le seul but de disposer de MINP partiels pour reconstruire une topologie totale d'un
réseau, nous considérerons qu'il n'y a pas de trac interférent, et que le partage entre les
diérents ux se fait suivant le modèle d'INV-RTT-BOUNDED [57] décrit précédemment
dans la section 6.1.5. La propriété qui nous intéresse est que la somme de la bande passante
attribuée à chacun des ux partageant un sous-chemin commun étroit simultanément est
égale à la capacité de celui-ci.
Considérons l'ensemble de chemins Pprobe = {pa , pb , pc }, et les ux correspondants
injectés le long des éléments de cet ensemble, soit fp{pa a } , fp{pb b } et fp{pc c } . Considérons le cas
où nous établissons les bandes passantes obtenues par fpPji quels que soient les ensembles
Pi ⊆ Pprobe et pj ∈ Pprobe . De manière pratique, cela signie que nous établissons les
bandes passantes atteignables lors du régime permanent pour chacun des chemins, d'abord
individuellement, puis lorsque les injections de 2 ux sont simultanées, puis enn quand
les 3 injections sont simultanées.
Puisque la capacité du lien est égale à la somme des bandes passantes atteintes par
les ux, la somme des bandes passantes pour un ensemble donné décroît par rapport à la
somme des bandes passantes obtenues individuellement par chacun des ux sur les chemins
correspondant pour n'importe quel sous-ensemble de P de cardinalité 2. c'est-à-dire :
127
Techniques de mesures pour les sous-chemins communs étroits
∀P t.q. |P | = 2,
|P |
X
bw(fp{pi i } )
>
i=O
|P |
X
bw(fpPi ) ⇐⇒
i=O
pPmaximum detectable
et
pP
cbwmaximum
=
|P |
X
(6.2)
bw(fpPi )
i=O
On est donc capable de déterminer si tout couple partage un sous-chemin commun
détectable, et quelle est sa capacité. Pour le triplet {pa , pb , pc }, il n'est détectable que si la
bande passante obtenue par les 3 ux émettant simultanément est inférieure à toutes les
combinaisons possibles d'interférence entre ux deux à deux, c'est-à-dire :
|P |
X
bw(fpPi )
<
i=O
0 ⊂P
PX
P \P 0
0
bw(fpPi )
pi ∈P 0
pPmaximum
+
X
00
bw(fpPj )
∀P 00 ⊂ P ⇐⇒
pj ∈P \P 0
est détectable et
pP
cbwmaximum
=
|P |
X
bw(fpPi )
(6.3)
i=O
En réalisant ces opérations, on a donc établi la détectabilité de chacun des sous-chemins
communs pour tous les ensembles P 0 ⊆ P .
6.2.2.2 Exploitation des valeurs obtenues
Une fois établie la détectabilité des diérents sous-chemins communs, on peut reconstruire le MINP simplement en utilisant la couverture des sous-chemins communs entre eux
et en étiquetant les noeuds par les diverses capacités obtenues.
6.2.2.3 Performances
Cette technique permet l'établissement de 3-MINP partiels pour le réseau. C'est donc
une 3-mesure. Simple à mettre en place, elle nous a permis de réaliser des mesures sur des
topologies simulées par l'outil SimGrid [32].
6.2.2.4 Limitations
Il est totalement irréaliste d'utiliser cette technique pour des expérimentations réelles.
Néanmoins, cette technique est utile quand on désire simuler une reconstruction de MINP
partiel grâce à un simulateur, ne permettant pas une analyse paquet par paquet du trac
circulant sur le réseau.
6.2.3 Technique par envoi de bursts UDP périodiques
Le passage d'un environnement de simulation à un environnement réel est très souvent
problématique. Nos premières expériences tendant vers une utilisation réelle ont donné
128
Techniques de mesures pour les sous-chemins communs étroits
lieu à cette technique de mesure réelle, qui, bien que jouissant de résultats probants lors
de simulations de bas niveau (paquet par paquet) s'est révélée être totalement inecace
dans les cas réels.
6.2.3.1 Description
Cette technique, tout comme la suivante, est une 1-mesure basée sur les trains de paquets. Les trains de paquets ont été décrits dans la section 3.2.2.2. Les trains de paquets
sont un moyen bien connu de découvrir les capacités d'un lien par l'évaluation de la dispersion des diérents paquets constituant le train. Un train est constitué de paquets envoyés
dos à dos, ce qui est très similaire à un burst. C'est pourquoi nous parlerons indiéremment
de bursts ou de trains de paquets ici.
Le principal reproche fait à ce genre de technique est simple : plus le train de paquets est
long, plus on a de chances que du trac interférent s'immisce entre les paquets constituant
le train. Cela conduit donc (le plus souvent) à une sous-estimation de la bande passante
disponible ([64]).
L'idée est donc d'utiliser ce défaut comme un avantage, c'est-à-dire permettre la détection de sous-chemins communs par la détection des eets mutuels de trains de paquets
provenant de sources et ayant des destinations pouvant être diérentes.
Le principe général est assez simple. On suppose qu'à défaut d'être nul, le trac interférent est constant. Soit un ensemble de chemins P . Pour chaque pi ∈ P on évalue dans un
premier temps la bande passante disponible sur ce lien. Puis, on injecte simultanément à
intervalles réguliers ∆pi des bursts qui ont pour caractéristique de saturer le sous-chemin
étroit du chemin considéré pendant un temps Ut . ∆pi est un multiple de Ut .
Si des chemins partagent un sous-chemin commun détectable, alors les bursts injectés
se collisionneront sur le chemin, de la manière illustrée par la gure 6.2.3.1.
Figure 6.4. Collision de trains sur un goulot d'étranglement
Burst UDP concurrents sur un sous-chemin commun étroit Les paquets des
bursts UDP entrant en collision s'entremêlent sur le sous-chemin commun étroit, et donc
l'intervalle de temps entre le premier et le dernier paquet de chaque burst croîtra par
rapport à un burst n'expérimentant pas de collisions. A l'arrivée sur leurs destinations
respectives, on peut alors mesurer cet intervalle de temps pour chacun des bursts UDP.
Notons que les bursts arrivant à l'entrée d'un chemin et parcourant un chemin pi sont
sensés arriver à un intervalle régulier ∆pi sur le sous-chemin commun détectable, car, tant
129
Techniques de mesures pour les sous-chemins communs étroits
que le trac interférent est régulier ou nul, alors seul sera induit un délai dû au parcours
des diérents chemins menant les diérents bursts de l'origine de chaque chemin pi au
sous-chemin commun détectable. Notons que si les diérents tests injectés subissent un
trac interférent le lien de leur sous-chemin commun, ce trac n'aura pas d'incidence sur
nos mesures, car l'on observe l'intervalle de temps entre le premier et le dernier paquet, et
non leur temps d'arrivée absolu.
Dans le double but de faire en sorte que les collisions aient eectivement lieu, ainsi
que pour pouvoir identier quels sont les chemins (pa , pb , pc ) que parcourent les diérents
bursts qui se sont collisionnés, on s'appuie sur une propriété élémentaire : la composition
de deux fonctions périodiques dont les périodes sont premières entre elles est une fonction
périodique de période égale au produit des périodes. On choisit donc des valeurs entières
Tpa , Tpb et Tpc tels que ∆pi = Tpi ∗ Ut tels que tous soient premiers entre eux.
Le choix de la valeur de Ut , soit l'unité de nos intervalles de temps, peut être guidé par
le jitter observé sur les liens : si le jitter n'est pas négligeable par rapport à Ut , alors les
collisions ne seront plus certaines, et les intervalles entre les temps d'arrivées du premier
et du dernier paquet de chaque burst observés ne seront plus périodiques.
Un autre aspect pratique concernant le choix de la valeur de Ut est le rapport entre
le RTT des diérents ux TCP circulant sur le réseau et Ut . On a intérêt à choisir un Ut
très petit par rapport à ces périodes, de manière à diminuer l'impact des délais induits
par ceux-ci sur nos mesures. De plus, l'intervalle de temps d'émission doit pouvoir être
susamment long pour pouvoir avoir une réelle inuence vis-à-vis des autres ux. Par
contre, choisir un Ut petit nécessite de pouvoir résoudre assez ecacement l'absence de
synchronisation entre les hôtes. Un dernier aspect concerne la taille des bursts émis par
rapport à la bande passante du sous-chemin commun étroit. Cela signie que l'on doit
d'abord évaluer la bande passante disponible de chaque lien avant d'injecter les diérents
ux.
Evaluation de la bande passante disponible L'évaluation de la bande passante dis-
ponible doit être eectuée avant l'injection des bursts UDP, de manière à pouvoir déterminer la taille de ceux-ci. Pour cela, nous avons utilisé la technique d'estimation de type
Bulk Transfer Capacity décrite en section 3.2.2.3.
Elimination des problèmes de synchronisation entre les hôtes L'exécution d'in-
jections de tests simultanés et surtout, le passage simultané de paquets provenant de sources
diérentes le long d'un sous-chemin commun est un problème bien plus complexe qu'il n'y
paraît de prime abord.
Problématique Deux problèmes diérents se posent lors de l'utilisation de cette
technique en terme de synchronisation des hôtes :
130
Techniques de mesures pour les sous-chemins communs étroits
Un problème de synchronisation au niveau de la période, c'est-à-dire que l'on ne doit
eectuer les mesures que dans le cas où tous les hôtes injectent simultanément des
tests le long du réseau.
Un problème de synchronisation au niveau de l'unité de temps, à savoir que l'émission
d'un burst de paquets décalée par rapport aux autres intervalles de temps entraînera
un amoindrissement de son eet pouvant aller jusqu'à réduire de moitié son inuence.
Le second problème ne peut en fait être résolu de manière correcte : en eet, la collision
de bursts entre eux est aussi conditionnée par le délai subi par les diérents paquets
le long du chemin menant au sous-chemin commun. Seule l'analyse ne de la période
des valeurs d'arrivées permet d'obtenir des valeurs correctes. On peut considérer que ce
second problème de synchronisation apporte une contrainte supplémentaire au choix de
Ut , puisque, possiblement, l'eet des bursts de "taille" Ut peut être réduit de moitié. Le
premier, lui, est plus complexe.
En eet, l'estimation du délai se fait le plus souvent par dichotomie. Or, les évaluations
par dichotomie du délai one way (ou aller simple) ne peuvent en pratique être utilisées pour
le genre d'applications que nous avons développées lors de ces travaux. En eet, le temps
d'évaluation peut excéder régulièrement la demi-heure pour un seul chemin observé. Il peut
même arriver que la convergence ne se produise jamais pour cause de trac interférant trop
important. De plus, l'estimation ne d'un délai à un instant t ne garantit rien quant au
délai qu'expérimentera un burst traversant le même chemin, même dans un futur très
proche.
Solution possible Il était donc nécessaire de trouver un moyen de contourner ce
problème en concevant une manière rapide (en terme d'exécution) et relativement robuste.
Ceci nous a conduit à faire un choix des plus rudimentaires : l'utilisation d'une méthode
passablement frustre, mais ecace : la méthode du noyau décrite ci-après.
Méthode du noyau La méthode du noyau consiste à ne conserver lors d'un ensemble
de tests que la partie "centrale" (temporellement parlant) des tests de manière à s'assurer
que les diérents tests ont bien été eectués simultanément. Elle est donc par dénition
plutôt destinée à des tests périodiques. Son principe général est illustré par la gure 6.2.3.1.
Un paramètre important reste celui du dimensionnement du noyau : comment s'assurer
que :
1. Le noyau ne contienne pas d'eets de bords dûs au manque de synchronisation des
hôtes eux-mêmes ?
2. Le noyau ne contienne pas d'eets de bords dûs au temps de transmission entre l'hôte
source et la partie ciblée du réseau ?
3. Le noyau ne contienne pas d'eets de bords dûs aux buers situés le long du réseau ?
131
Techniques de mesures pour les sous-chemins communs étroits
Pour ce qui est du premier problème, la réponse est assez simple : l'écorce doit être susamment épaisse (i.e. susamment longue temporellement) pour rendre improbable cette
situation ; puisque nous ne pouvons extraire d'information concernant le délai one way, mais
que nous sommes à la recherche d'une borne supérieure, nous pouvons utiliser le round trip
time (i.e. le temps de trajet d'un message faisant l'aller-retour entre deux hôtes). Pour
ce qui est du problème de l'eet du délai entre l'hôte source et la partie du réseau, celuici est résolu par le fait que l'on suppose le trac interférent constant ; le délai introduit
donc une absence de synchronisation entre les arrivées des tests injectés, mais ne remet
pas en cause leur périodicité. Pour ce qui est enn du problème d'eets de bords éventuels dûs aux buers situés le long du réseau, il est nécessaire de prendre en compte leur
dimensionnement. Une "règle" veut que le buer d'un équipement réseau soit capable de
stocker l'équivalent de ce que peut émettre un hôte transmettant à la vitesse maximum de
l'équipement pendant 250 ms [74].
pc
pb
pa
Figure 6.5. Méthode du noyau
6.2.3.2 Exploitation des valeurs obtenues
Les valeurs obtenues sont exploitées de la même façon que lors de l'utilisation de la
technique reposant sur le régime permanent de ux TCP (section 6.2.2).
6.2.3.3 Performances
En simulation, cette méthode permet, à partir d'une simulation de bas niveau (i.e.
paquet par paquet) de recréer assez simplement un MINP partiel. Malheureusement, cette
technique est inutilisable telle quelle dans un contexte réel.
6.2.3.4 Limitations
Le principal problème de cette méthode vient de sa vulnérabilité aux variations de délai
(au jitter). En eet, si nos expériences en simulation même en cas de trac interférent
donnaient des résultats corrects, nos tests réels ont révélé que des variations de délai même
minimes pouvaient conduire à une absence de périodicité de mesures. Nous avons donc dû
repenser des techniques plus robustes au jitter, qui cette fois ont donné des performances
132
Techniques de mesures pour les sous-chemins communs étroits
convenables lors d'expérimentations réelles, que nous donnons par la suite.
6.2.4 Technique par saturation de lien par bursts UDP
Cette technique très simple, est une 1-mesure que nous avons développée et testée pour
contourner un des principaux défaut de la technique reposant sur le régime permanent
de ux TCP, à savoir l'attente de l'établissement du régime permanent qui peut être
extrêmement longue.
6.2.4.1 Description
La technique reprend exactement le même principe que la technique basée sur l'établissement du régime TCP, excepté que l'on n'utilise plus de ux TCP mais de longs bursts
UDP pour saturer le lien. Cela nécessite une étape préliminaire par rapport à la précédente
technique, à savoir l'établissement de la bande passante disponible sur chaque chemin de
P.
Evaluation de la bande passante disponible L'évaluation de la bande passante dis-
ponible peut être réalisée de diérentes manières (voir section 3.2). Dans le cadre de cette
technique de mesure, nous avons utilisé la méthode de bulk transfer capacity en envoyant
un important volume de données UDP. Notons que le choix de la technique d'évaluation
de la bande passante est assez arbitraire. Les principaux avantages de cette technique sont
à la fois la durée d'exécution relativement courte de la mesure, ainsi que l'utilisation du
protocole UDP pour celle-ci.
Elimination des problèmes de synchronisation entre les hôtes Nous avons utilisé
la méthode du noyau décrite plus haut (section 6.2.3.1) pour cette technique.
6.2.4.2 Exploitation des valeurs obtenues
L'exploitation des valeurs obtenues est similaire à celle de la technique de mesure par
injection de ux TCP en régime permanent, hormis que dans ce cas l'on ne peut pas
obtenir de mesure de la bande passante en fonction de l'intervalle de temps séparant les
diérents paquets du burst. On est donc contraint de ne pouvoir inférer que des chemins
1-détectables. L'utilisation d'un seuil pour l'évaluation de la performance des diérents
ux permet (à priori) l'élimination de la détection de chemins 2-détectables.
6.2.4.3 Performances
Cette technique permet de réaliser des mesures dans d'autres conditions que la simulation et de reconstruire des MINP partiels.
133
Techniques de mesures pour les sous-chemins communs étroits
6.2.4.4 Limitations
La principale limitation de cette technique est la saturation des liens réseau. De plus, la
saturation induite est longue (en terme de temps) ce qui est particulièrement destructeur
pour un trac interférent basé sur un protocole de bout en bout qui gère des fenêtres de
congestion (TCP par exemple).
6.2.5 Technique basée sur l'approximation de la néguentropie
Cette dernière technique est la plus ecace que nous ayons développée. C'est celle-ci
qui est nalement utilisée dans le prototype d'outil M.I.N.T.C.A.R. présenté au chapitre
7. Cette méthode est, tout comme la méthode décrite précédemment basée sur les bursts
UDP périodiques (section 6.2.3.1), basée sur les interactions de bursts provenant de sources
diérentes et à destination d'hôtes diérents. Elle est fondée sur une observation provenant
de la méthode décrite en section 6.2.3 : les diérents signaux circulant sur ce lien vont
avoir chacun un impact sur les autres, dont la nature n'est pas connue, et qui n'est pas
à priori linéaire, mais qui peut être caractérisée. Une étude approfondie des propriétes de
ces sous-chemins communs étroits a été menée dans [64]. Il nous faut donc une technique
qui permette de faire en sorte que les diérents tests injectés interfèrent les uns avec les
autres, mais aussi une technique qui soit capable d'identier quels tests interfèrent les uns
avec les autres. Le principe de cette technique, l'approximation de la néguentropie, a été
utilisé avec succès dans d'autres domaines de l'informatique tels que l'imagerie [112], les
réseaux de neurones [81] ou le traitement de signal. La technique d'approximation de la
néguentropie a été initialement développée par Hyvärinen et E.Oja dans le cadre de la
résolution du problème du cocktail mondain par l'Analyse des Composants Indépendants
(Independant Component Analysis, ICA (ICA)).
6.2.5.1 Indépendance et néguentropie
Les techniques et méthodes que nous utilisons ici sont issues d'un domaine totalement
diérent voué à la résolution du problème du cocktail mondain. Le problème du cocktail
mondain a été formalisé la première fois au milieu des années 1980 par des chercheurs issus
de la communauté des neurosciences et du traitement du signal. Sa formalisation et le
développement de travaux visant à le résoudre ont conduit au développement du problème
de séparation de source aveugle (Blind Source Separation ou BSS (BSS)) [84].
Le problème peut être décrit comme suit : on dispose lors d'un cocktail mondain de
divers micro dans la salle de réception. Lors du cocktail, les diverses conversations qui se
déroulent dans plusieurs langues, les sons extérieurs, comme les sirènes de voiture de police
passant à proximité s'entremêlent. Tous ces sons sont enregistrés par les diérents microphones comme étant un seul signal sonore. La formulation du problème est simple : peut-on,
sans connaître ni les diérentes sources sonores, ni leur nombre, ni leur emplacement, ni
134
Techniques de mesures pour les sous-chemins communs étroits
les positions des diérents microphones dans la salle, isoler les diérentes conversations
enregistrées ?
Les méthodes pour résoudre ce problème sont le plus souvent basées sur des notions
d'indépendance des diérents composants du signal enregistré. Les diérentes données
provenant des sources sont considérées chacune comme une variable aléatoire qui est une
combinaison de diérents composants aussi indépendants que possible. Le principe général
peut être décrit comme suit :
Dans un premier temps, on décorrèle les données les unes des autres, et on fait en
sorte que leur moyenne soit nulle et leur variance 1. Ce faisant, on approche les
diérents signaux du bruit blanc. Cette étape est appelée whitening.
Ensuite, on essaie de trouver une composante indépendante qui, lorsque les vecteurs
de données sont projetés sur elle, permet de maximiser l'indépendance des signaux
les uns vis-à-vis des autres.
On itère ces étapes jusqu'à l'obtention des diérentes composantes.
La technique décrite ici n'utilise que les deux premières étapes, en rapprochant les
diérents signaux du bruit blanc, puis en évaluant l'indépendance des signaux les uns visà-vis des autres. Si les signaux sont choisis pour être indépendants lors de leur émission,
le fait d'intéragir entre eux le long d'un sous-chemin commun va augmenter l'information
mutuelle qu'ils partagent. Evaluer cette information mutuelle permet donc d'établir si un
ensemble de chemins partage un sous-chemin commun.
Indépendance Le concept d'indépendance peut être bien compris en prenant l'explica-
tion suivante dûe à A.Hyvärinen et E.Oja. Soit deux variables aléatoires y1 et y2 dont les
valeurs sont des réels. Si une information sur la valeur d'une variable ne donne pas d'information sur la valeur de l'autre, alors les variables y1 et y2 sont dites indépendantes. Soit
p1 (y1 ) et p2 (y2 ) les fonctions de densité de probabilités (probability density function, pdf)
des variables y1 et y2 considérées isolément, et p(y1 , y2 ) la fonction de densité de probabilité conjointe (joint probability density function) de y1 et y2 . Si y1 et y2 sont indépendants,
alors l'égalité suivante doit être vraie :
p(y1 , y2 ) = p(y1 )p(y2 )
(6.4)
Pour un nombre arbitraire n de variables aléatoires, la condition d'indépendance peut
être généralisée comme suit : la densité conjointe de n variables aléatoires est le produit
des n densités marginales/isolées des variables. Soit deux fonctions h1 et h2 , la propriété la
plus importante se rattachant à des variables aléatoires indépendantes peut être formulée
comme suit :
E{h1 (y1 )h2 (y2 )} = E{h1 (y1 )}E{h2 (y2 )}
(6.5)
135
Techniques de mesures pour les sous-chemins communs étroits
Une notion plus faible que l'indépendance est l'absence de corrélation. Deux variables
aléatoires y1 et y2 sont dites décorrélées si leur covariance est nulle :
E{y1 y2 } − E{y1 }E{y2 } = 0
(6.6)
Si les variables sont indépendantes, alors elles sont décorrélées. Ceci est directement déductible de la formule E{h1 (y1 )h2 (y2 )} = E{h1 (y1 )}E{h2 (y2 )} en prenant h1 (y1 ) = y1
et h2 (y2 ) = y2 respectivement. La réciproque n'est par contre pas vraie : la décorrélation
n'implique pas l'indépendance.
Mesurer l'indépendance de variables aléatoires peut se faire par de multiples moyens,
comme la divergence de Kullback-Leibler, le test du χ2 [92], etc. Le choix de la méthode
de mesure de l'indépendance de deux variables aléatoires dépend beaucoup du type de
variables aléatoires ainsi que des distributions des variables. Dans le cas présent, nos expérimentations nous ont montré que l'estimateur le plus able est basé sur l'approximation
de la néguentropie que nous présentons ci-après.
Néguentropie La néguentropie (anglicisme provenant de la contraction de negative en-
tropy, entropie négative) est un concept dérivé de la quantité utilisée en théorie de l'information appelée entropie. En théorie de l'information, l'entropie d'une variable aléatoire
peut être interprétée comme le degré d'information que l'observation du comportement de
cette variable donne. Plus l'entropie est grande, plus la variable est aléatoire ; en d'autres
termes, la variable aléatoire peut être considérée comme non-structurée, imprévisible. Donc,
l'entropie peut être vue comme la longueur du code de cette variable aléatoire. Pour une
variable aléatoire discrète Y , l'entropie H peut être dénie comme suit :
H(Y ) = −
X
P (yi ) log P (yi )
(6.7)
i
où yi sont les diérentes valeurs possibles de Y et P (yi ) = P [Y = yi ]. Si la dénition
est généralisée pour un vecteur de variables aléatoires dont les valeurs sont des réels y avec
une densité f (y), l'entropie diérentielle peut être dénie comme suit :
Z
h(y) = −
f (y) log f (y)dy
(6.8)
Cette valeur tend vers l'inni quand la variable considérée est chaotique. En pratique,
on utilise donc une version légèrement modiée de l'entropie diérentielle appelée néguentropie. Plus la variable considérée est aléatoire, plus la néguentropie tend vers zéro.
Puisqu'une variable aléatoire possédant une distribution gaussienne est "la plus aléatoire"
des variables aléatoires, on utilise une variable aléatoire gaussienne ygauss pour estimer la
néguentropie :
J(y) = H(ygauss ) − H(y)
(6.9)
136
Techniques de mesures pour les sous-chemins communs étroits
Il faut noter que la néguentropie est invariante pour les transformations linéaires inversibles. De plus, d'un point de vue statistique, la néguentropie est un estimateur optimal
pour la non-gaussianité. Malheureusement, la néguentropie est en pratique très complexe
à calculer. On utilise donc des méthodes pour approximer la néguentropie.
Approximation de la néguentropie Plusieurs approximations de la néguentropie
existent. Classiquement, elle peut être approximée en utilisant les moments de grand ordre
[81]. Par exemple :
J(y) ≈
1
1
E{y 3 }2 + kurt(y)2
12
48
(6.10)
Où y est une variable aléatoire de moyenne nulle et de variance unitaire. Cette méthode
étant soumise aux mêmes problèmes de robustesse que ceux recontrés par le kurtosis, les
auteurs de [81] recommandent d'utiliser l'approximation basée sur le principe d'entropie
maximale :
p
J(y) ≈
X
ki [E{Gi (y)} − E{Gi (γ)}]2
(6.11)
i=1
où ki est une constante positive, et γ une variable de Gauss standardisée. La variable
aléatoire y doit avoir une moyenne nulle et une variance de un, et les fonctions Gi sont
des fonctions non-quadratiques. Même si cette approximation n'est pas toujours juste, elle
possède la propriété de n'être jamais négative et égale à zéro si et seulement si y suit une
distribution gaussienne. Pour une fonction quadratique G :
J(y) ∝ [E{G(y)} − E{G(γ)}]2
(6.12)
La fonction G est souvent dénommée fonction de contraste. Elle permet d'accentuer
l'écart entre des variables "totalement aléatoires" et d'autres. Deux fonctions sont classiquement utilisées :
1
G1 (u) =
log cosh(a1 u)
(6.13)
a1
G2 (u) = − exp(−
u2
)
2
(6.14)
où 1 ≤ a1 ≤ 2 est une constante à choisir, le plus souvent égale à un. Le choix entre
G1 et G2 dépend le plus souvent du type de variables aléatoires. L'expérimentation nous
a permis de constater que dans notre cas la meilleure fonction de contraste est G1 avec
a1 = 1. Le choix de cette fonction et de ces paramètres permet une estimation able de
la néguentropie. La néguentropie, elle, nous permet d'estimer l'indépendance de plusieurs
variables aléatoires par le biais de sa relation avec l'information mutuelle.
137
Techniques de mesures pour les sous-chemins communs étroits
Information mutuelle On peut dénir l'information mutuelle I entre plusieurs variables
aléatoires yi ∈ y, i = 1 . . . m en utilisant la dénition de l'entropie diérentielle comme suit :
I(y1 , y2 , ..., ym ) =
m
X
H(yi ) − H(y)
(6.15)
i=1
L'information mutuelle est une mesure naturelle de la dépendance (et donc, par contraste,
de l'indépendance) entre des variables aléatoires. Elle est toujours positive, et nulle si et
seulement si les variables sont statistiquement indépendantes. Elle peut être interprétée
en utilisant l'interprétation de l'entropie comme une longueur de code. Les termes H(yi )
donnent les longueurs de code de chacun des yi quand ils sont codés séparément, tandis
que le terme H(y) donne la longueur de code quand tous les composants sont regroupés
dans un même vecteur aléatoire, c'est-à-dire quand tous les composants yi sont codés dans
le même code.
L'information mutuelle montre donc qu'une réduction de la longueur du code est obtenue en codant tout le vecteur plutôt que les composants séparément. En général, de
meilleurs codes sont obtenus quand on code le vecteur en entier. Cependant, si les yi sont
indépendants, ils ne donnent aucune indication les uns sur les autres, on pourrait les coder
tous séparément sans augmenter la longueur du code.
Une propriété importante de l'information mutuelle est que, pour une transformation
linéaire invertible y = W x :
I(y1 , y2 , ..., yn ) =
X
H(yi ) − H(x) − log | det W |
(6.16)
i
Dans le cas où on contraint les yi à être décorrélés et de variance unitaire, cela signie
que E{yy T } = W E{xxT }W T = I , ce qui implique que det I = 1 = (det W E{xxT }W T ) =
(det W )(det E{xxT })(det W T ), ce qui implique que det W doit être constant. De plus, si
yi a une variance unitaire, l'entropie et la néguentropie ne dièrent que d'une constante et
par le signe, on obtient donc :
I(y1 , y2 , ..., yn ) = α −
X
J(yi )
(6.17)
i
Où α est une constante ne dépendant pas de W . Cela donne une relation fondamentale
entre l'information mutuelle et la néguentropie, que nous allons donc pouvoir mettre à prot
pour déterminer le degré d'information mutuelle partagé par les résultats de nos tests ayant
interférés les uns avec les autres le long d'un possible sous-chemin commun détectable. Une
dernière chose à dénir reste l'étape initiale consistant à rendre la moyenne de variables
nulles, puis à décorreler les variables entre elles et rendre leur variance unitaire. La première
étape est appelée centering, centrage. Les deux dernières étapes sont connues sous le nom
de whitening, parfois appelé blanchiment des données. Nous décrivons ces étapes ci-après.
138
Techniques de mesures pour les sous-chemins communs étroits
Centrage Cette étape consiste à soustraire à chacun des éléments de chaque source de
x sa moyenne.
Whitening
L'étape de whitening (rapprochement du signal vers le bruit blanc) consiste
à transformer linéairement le vecteur de variables aléatoires x pour obtenir un vecteur x̃
qui sera blanc. Par vecteur blanc, on entend un vecteur dont tous les composants sont
linéairement décorrélés et de variance égale à l'unité. En d'autres termes, la matrice de
covariance de x̃ est égale à la matrice identité :
E{x̃x̃T } = I
(6.18)
Cette étape de whitening est théoriquement toujours possible. Une méthode très utilisée
pour le whitening est d'utiliser la décomposition en valeurs propres et vecteurs propres de
la matrice de covariance E{xxT } = BDB T , où B est la matrice orthogonale de vecteurs
propres de E{xxT } et D est la matrice diagonale de ses valeurs propres D = diag(d1 , ..., dn ).
Notons que E{xxT } peut être estimé de manière normale à partir des échantillons de
données x(1), . . . , x(T ). Le blanchiment peut être eectué par l'opération suivante :
x̃ = BD−1/2 B T x
(6.19)
Où la matrice D−1/2 est calculée par une opération simple puisque par dénition on
−1/2
sait que D−1/2 = diag(d−1/2
, ..., dn ). Il est simple de vérier que par ces opérations on
1
a maintenant E{x̃x̃T } = I .
Utilisation de l'approximation de la néguentropie pour l'estimation de l'information mutuelle pour notre cas Comme nous l'avons indiqué, la néguentropie
peut être utilisée comme un estimateur du degré d'information mutuelle entre diérentes
variables aléatoires dont les distributions doivent être non-gaussiennes. L'information mutuelle peut elle être un estimateur able pour l'indépendance. Plus des variables aléatoires
sont indépendantes les unes des autres, plus l'information mutuelle qu'elles partagent tend
vers zéro.
L'application dans notre cas est donc la suivante : il faut faire en sorte d'obtenir des
valeurs à partir d'injections permettant de reconstruire des variables aléatoires avec chacune d'elles dont la distribution est non-gaussienne et qui ne dépendent pas linéairement
les unes des autres. En eet, en cas de dépendance linéaire entre les variables aléatoires,
l'étape de calcul que nous avons choisi d'utiliser, à savoir la décomposition en vecteurs
et valeurs propres de la matrice de covariance va produire des valeurs propres nulles, entraînant l'impossibilité de calculer D−1/2 . Puis, on utilisera le centrage et le blanchiment
pour obtenir des variables permettant d'estimer l'information mutuelle en utilisant l'approximation de la néguentropie décrite plus haut. Enn, une méthode à base de seuils
139
Techniques de mesures pour les sous-chemins communs étroits
permettra de déterminer quelles variables partagent de l'information, et quelles variables
sont indépendantes. En eet, comme nous le verrons par la suite dans le chapitre 8, les
tests réels prouvent qu'il existe un véritable écart entre les valeurs d'approximation de la
néguentropie pour des variables aléatoires indépendantes et celles qu'on obtient en utilisant
des variables aléatoires partiellement dépendantes les unes des autres.
Pour pouvoir obtenir des valeurs à partir d'injection de tests nous permettant de déterminer les provenances des interactions suivant la source d'où les ux interférents proviennent, nous pouvons nous baser sur l'hypothèse suivante.
Soit deux ensembles de n bursts UDP parcourant deux chemins diérents pa et pb
possédant un sous-chemin commun détectable. Notons s(pa , t) et s(pb , t) la taille des bursts
(en nombre de bits) parcourant respectivement les chemins pa et pb . Supposons que les
ensembles de bursts UDP sont envoyés comme suit : à chaque période ∆t , on envoie un
burst à une date ∆t + δt où 0 < δt < ∆t . On peut prédire qu'à priori :
Des collisions auront lieu pour un n susamment grand.
Les collisions vont induire des intervalles plus grands entre l'arrivée du premier et du
dernier paquet de chaque burst. Soit d(pa ) la variable aléatoire représentant l'échantillon de n mesures correspondant à la mesure de l'intervalle de temps entre le premier
et le dernier paquet de chaque burst sur pa . La distribution de d(p(a)) sera dépendante de la distribution des valeurs de s(pa , t) et de s(pb , t), tel qu'illustré par la
gure 6.2.5.1.
pa
pb
Figure 6.6. Dépendance des distributions
Or, suivant les travaux présentés dans [64] et les expériences menées dans le cadre de
cette thèse, ces assertions peuvent être considérées comme vraies. En eet, l'article précité
traite des techniques de dispersion de paquets et de l'inuence du trac interférant sur les
performances mesurées par de telles techniques. Les performances mesurées par la méthode
des trains paquets est mesurée par la dispersion de celle-ci ; or, cette dispersion, comme le
140
Techniques de mesures pour les sous-chemins communs étroits
démontre les auteurs de cet article, est dépendante de la distribution du trac interférant.
Les résultats expérimentaux obtenus dans le cadre de cette thèse ne viennent que conrmer
ce fait. Ceci nous donne donc la base de cette méthode de détermination de sous-chemin
commun détectable.
6.2.5.2 Description
Principe général Les sous-chemins communs étroits peuvent être caractérisés par le fait
que si des ux concurrents traversent ces liens, les capacités de ceux-ci vont entraîner des
pertes, dans le pire des cas, ou encore des délais entre les paquets des diérents ux. Une
manière d'obtenir de tels délais lors d'injection de tests sur ce sous-chemin commun étroit,
est de regrouper en train (aussi appelés bursts ) les paquets d'un même ux, et espérer
une collision entre des tests parcourant les diérents chemins sur lesquels sont eectués la
mesure.
Le principe général de cette technique peut être décomposé en 5 étapes :
Dans un premier temps, on estime la bande passante disponible de chacun des chemins.
On choisit une fonction qui donnera pour chaque chemin la taille du burst pour
chaque injection, fonction périodique ayant une distribution donnée diérente des
autres, et ayant une période telle que toutes les périodes soient premières entre elles.
Cela évite d'éventuels eets de phase, et garantit l'indépendance des distributions
des délais d'arrivées pour chacun des chemins.
On injecte un ensemble de tests consistant en des bursts UDP injectés à chaque
période de temps à une date de départ aléatoire dans cette période.
On eectue de tels tests pour tous les sous-ensembles inclus dans l'ensemble des
chemins à tester P . La taille des bursts variant suivant une fonction propre à chaque
chemin et ayant une distribution donnée, les délais perçus à l'arrivée entre le premier
et le dernier paquet de chaque burst va uctuer de manière diérente pour chacun
des chemins. La distribution de ces délais sera donc fonction de la distribution des
injections, mais aussi des collisions avec d'autres bursts dont la taille uctue elle
aussi suivant une fonction donnée. Les délais résultants auront donc une distribution
dépendante à la fois de la fonction de distribution de l'injection des bursts sur le
chemin, mais aussi de la fonction de distribution de la taille des bursts injectés sur
les autres chemins partageant le même sous-chemin commun (voir gure 6.2.5.1).
On analyse la distribution statistique des intervalles de temps d'arrivées entre le
premier et le dernier paquet de chaque burst. Cette analyse basée sur la néguentropie
permet, en croisant la distribution de chacune des arrivées sur chaque chemin, de
statuer sur la dépendance des distributions entre elles, et donc, sur l'existence de
sous-chemin commun étroit.
La façon d'injecter des tests est décrite plus avant dans la section 6.2.5.2. Supposons pour
141
Techniques de mesures pour les sous-chemins communs étroits
l'instant que nous ayons les résultats de ces tests, qui nous donnent une mesure que nous
pouvons seuiller. Puisque nous avons pour chaque sous-ensemble de chemins inclus dans
P moyen d'estimer l'existence ou non d'un sous-chemin commun, nous pouvons appliquer
la méthode d'exploitation des résultats décrite en section 6.2.2.2.
Evaluation de la bande passante disponible L'évaluation de la bande passante dis-
ponible est une étape préliminaire qui doit être conduite séquentiellement pour chaque
ux, comme pour la méthode basée sur l'injection de bursts UDP périodiques décrite en
section 6.2.3. Nous avons utilisé la technique de Bulk Transfer Capacity décrite en section
3.2.2.3 pour réaliser cette estimation.
Techniques de train de paquets (burst) L'étape d'injection des bursts est faite une
fois évaluée la bande passante disponible de chacun des chemins. Elle repose sur les étapes
suivantes :
La détermination d'un intervalle de temps moyen entre l'injection de deux bursts sur
un même chemin.
La détermination de la taille moyenne des bursts à envoyer le long de chaque chemin.
La détermination d'une amplitude de la variation de la taille des bursts.
Le choix d'une fonction donnant la taille d'un burst lors de l'i-ème émission de burst
pour chaque chemin.
Une fois ces étapes nies, on procède à l'envoi d'un nombre l de bursts simultanément
sur les diérents chemins testés. Les contraintes liées à la synchronisation des hôtes sont
traitées par la méthode décrite en section 6.2.5.2 (la méthode du noyau).
Intervalle de temps moyen Dans un premier temps, on xe un
∆t qui sera la
valeur moyenne de l'intervalle de temps entre l'injection de deux bursts sur un même
chemin. On peut le xer par rapport au temps de circulation moyen d'un burst désiré sur
le lien le plus lent du chemin sur lequel il circule. Le temps d'émission, est lui, soumis
aux mêmes contraintes que l'Ut de la section 6.2.3.1, c'est-à-dire qu'il doit être inférieur
à 250ms pour éviter un débordement de buer du routeur de plus faible capacité le long
du chemin, et supérieur au jitter maximal observé. Il doit aussi être susamment long
pour que les bursts atteignent une taille signicative (des trains trop courts entrainent une
absence d'interférence entre trains provenant de sources diérentes), ni être trop long (ce
qui entraine une sensibilité supérieure au trac autre ainsi que l'augmentation du temps
total de mesure). En pratique nous avons xé ce temps Ut comme étant le maximum entre
4 fois le jitter maximum observé et 2 millisecondes. Dans toutes nos expériences, les 2
millisecondes ont été la valeur maximum.
Un moyen de xer l'intervalle de temps moyen de manière à obtenir une valeur utile,
c'est-à-dire l'obtention d'interactions, est de choisir l'intervalle de temps moyen entre
142
Techniques de mesures pour les sous-chemins communs étroits
chaque émission comme étant égale à la somme des temps d'émissions des n diérents chemins de P , de manière à ce qu'en moyenne, la capacité du sous-chemin commun éventuel
soit totalement utilisée. Les temps d'émissions étant par dénition les mêmes (puisqu'on
cherche à avoir une période de transmission égale entre les chemins sur leur sous-chemin
de capacité la plus faible), on peut donc xer ∆t = n ∗ Ut .
Taille moyenne des bursts La taille moyenne des bursts est calculée en fonction du
temps qu'ils vont mettre pour être transmis, donc, de Ut . Connaissant la bande passante
disponible sur chaque chemin pi de P , on choisit pour chaque pi une fonction périodique
dont la distribution est non-gaussienne et diérente des fonctions choisies pour les autres
chemins de P , et dont la période est première par rapport aux périodes des autres fonctions
choisies pour les autres chemins. Cette fonction donne pour chaque 0 ≤ tj ≤ m la taille
du burst à injecter le long de pi . Les travaux sur la taille de paquet "idéale" pour nos
expériences montrent qu'une grande taille est à privilégier, elle est donc par défaut de 1500
bytes (MTU maximum standard, voir section 2.3.1). La moyenne des tailles des bursts
injectés doit être choisie de manière à ce que son temps de transfert sur le lien le plus lent
du chemin sur lequel l'injection est faite soit égale à Ut , soit :
smoy =
cpbwi ∗ Ut
MTU
(6.20)
Détermination de l'amplitude La détermination de l'amplitude de la variation de
la taille des bursts a été faite empiriquement. Si on peut déduire qu'elle doit être importante
(pour marquer les diérences de distribution) elle doit aussi être choisie de manière à ne
pas trop diminuer la taille du burst (pour ne pas avoir de burst sans aucun eet trop
souvent). Les expériences ont montré qu'il était convenable de choisir une amplitude de
variation d'environ 1/3 de la taille moyenne des bursts.
Choix de la fonction L'injection de paquets doit être réalisée de manière à remplir
les conditions suivantes pour pouvoir calculer la néguentropie existant entre chaque test :
Les distributions d'arrivées des diérents tests injectés simultanément doivent être
non-gaussiennes.
Les distributions d'arrivées des diérents tests injectés simultanément doivent être
linéairement indépendantes les unes des autres.
De plus, les contraintes suivantes sont imposées par la pratique :
Les diérents tests injectés simultanément doivent être capables d'interagir et de
garder la trace de leurs interactions mutuelles.
Les diérents tests injectés simultanément ne doivent pas conduire à la saturation
totale d'un éventuel sous-chemin commun et entraîner des pertes de performances.
143
Techniques de mesures pour les sous-chemins communs étroits
On doit être capable de diérencier les interactions dûes aux diérents ux lors
d'injections simultanées de tests le long de plus de deux chemins.
Notons que les contraintes de non dépendances linéaires peuvent être intuitivement reliées,
et conduisent à considérer l'injection de ux possédant des distributions non-gaussiennes
et diérentes les unes des autres. Notons aussi que, si l'on injecte des tests de distributions
linéairement indépendantes dont les distributions d'arrivées sont linéairement dépendantes
les unes des autres, on peut estimer que les chemins considérés partagent un sous-chemin
commun détectable, même si on ne peut calculer leur néguentropie, de par le choix de la
méthode de blanchiement.
Les 2 premières contraintes pratiques, quant à elles, sont respectées de par le choix de la
taille des bursts et de l'intervalle de temps moyen. La dernière quant à elle, est respectée si
l'on choisit des fonctions périodiques dont la distribution est diérente. Il ne reste plus enn
qu'à injecter les bursts le long des diérents chemins. La gure 6.2.5.2 illustre une de ces
injections. La fonction choisie dans cet exemple est une fonction en créneau, représentée
par le graphique du bas. L'unité des abscisses est le numéro du burst, et l'ordonnée la
taille du burst, en bits, le tout découpé en paquets. La ligne pointillée représente donc
la taille moyenne des bursts smoy . La fonction créneau est périodique de période Tc . La
gure du haut représente l'injection des bursts. L'abscisse représente donc le temps, et
sur celle-ci sont représentés les burst envoyés. La gure illustre la période de temps où la
fonction créneau change de taille de burst. Les bursts sont envoyés à un instant δt choisi
aléatoirement, compris dans la période moyenne d'envoi des burst ∆t égale à n fois le Ut
(ici n = 3). Pour chacun des bursts, on enregistre sur l'hôte destination l'intervalle de
temps entre l'arrivée du premier et du dernier paquet de chaque burst (les paquets noirs
sur la gure).
Elimination des eets de bords du trac interférent l'élimination des eets de
bords du trac interférent est rendue possible par deux choix principaux :
Le choix de l'intervalle de temps Ut qui doit être susamment faible par rapport au
RTT moyen des diérents ux reposant sur des protocoles de bout en bout circulant
sur le réseau.
Le choix de ne pas considérer les intervalles de temps entre les bursts (c'est-à-dire
les temps d'arrivées absolus de chaque paquet) mais plutôt les intervalles de temps
séparant l'arrivée du premier et du dernier paquet de chaque burst sur l'hôte destination.
Elimination des problèmes de synchronisation entre les hôtes L'élimination des
problèmes de synchronisation entre les hôtes est rendue possible de la même manière que
pour la technique basée sur l'envoi de burst UDP périodiques, à savoir la méthode du
144
Techniques de mesures pour les sous-chemins communs étroits
∆t
δt
δt
δt
Ut
#"#"#" !!!
#"##"" !!!
#"#"#" !!!
/././. ,-,-,/.//.. ,--,,/././. ,-,-,-
+*+*+* ()()()
+*++** ())(()
+*+*+* ()()()
'&'&'& $%$%$%
'&''&& $%%$$%
'&'&'& $%$%$%
545454 010110
545454 010101
545454 010110
545454 010101
545454 010110
545454 010101
767676 232332
767676 232323
767676 232332
767676 232323
767676 232332
767676 232323
989898 :;:;;:
989898 :;:;:;
989898 :;:;;:
989898 :;:;:;
989898 :;:;;:
989898 :;:;:;
=<=<=< >?>??>
=<=<=< >?>?>?
=<=<=< >?>??>
=<=<=< >?>?>?
=<=<=< >?>??>
=<=<=< >?>?>?
A@A@A@ BCBCCB
A@A@A@ BCBCBC
A@A@A@ BCBCCB
A@A@A@ BCBCBC
A@A@A@ BCBCCB
A@A@A@ BCBCBC
EDEDED FGFGGF
EDEDED FGFGFG
EDEDED FGFGGF
EDEDED FGFGFG
EDEDED FGFGGF
EDEDED FGFGFG
SRSRSR PQPQPQ
SRSSRR PQQPPQ
SRSRSR PQPQPQ
ONONON LMLMLM
ONOONN LMMLLM
ONONON LMLMLM
KJKJKJ HIHIHI
KJKKJJ HIIHHI
KJKJKJ HIHIHI
efU
abU
fU
eefU
aabU
ee bU
aa fefefefee babababaa
bfeUU
fU
fU
bU
ffefe bbaba
abU
bU
ae bU
feU
e
a
U
f
feffee babbaa
[\U
YZU
WXWU
`_`_`_ \U
^]^]^] ZU
\[\[\[ XU
ZYZYZY VTU
XWXWXW fU
VTVTVT bU
efU
aabU
fU
bU
[_ \U
Y] ZYU
T
U
V
e
a
fefefe bababa
[`_ \[U
W
T
U
X
U
V
e
a
U
f
U
b
YZU
WXU
TVU
VTVVTT bU
ae bU
efU
[[[ ^^^]]] ZU
YYY \[\\[[[ XU
WWW ZYZZYYY VU
TTT XWXXWWW fU
e
a
fefe baba
``_`_`_ \U
Z\U
\U
U
U
X
U
V
fU
VT bU
efU
aabU
[\U
YZU
WXU
TVU
ZU
XU
VU
efU
abU
[ ^^]^] ZU
Y \\[\[ XU
W ZZYZY VU
T XXWXW fU
`_ \U
e VTVT bU
a fefefe bababa
hghghg cdcddc
hghghg cdcdcd
hghghg cdcddc
hghghg cdcdcd
hghghg cdcddc
hghghg cdcdcd
jijiji klkllk
jijiji klklkl
jijiji klkllk
jijiji klklkl
jijiji klkllk
jijiji klklkl
nmnmnm opoppo
nmnmnm opopop
nmnmnm opoppo
nmnmnm opopop
nmnmnm opoppo
nmnmnm opopop
rqrqrq ststts
rqrqrq ststst
rqrqrq ststts
rqrqrq ststst
rqrqrq ststts
rqrqrq ststst
vuvuvu wxwxxw
vuvuvu wxwxwx
vuvuvu wxwxxw
vuvuvu wxwxwx
vuvuvu wxwxxw
vuvuvu wxwxwx
„ƒ„ƒ„ƒ ‚‚‚
„ƒ„„ƒƒ ‚‚‚
„ƒ„ƒ„ƒ ‚‚‚
€€€ }~}~}~
€€€ }~~}}~
€€€ }~}~}~
|{|{|{ yzyzyz
|{||{{ yzzyyz
|{|{|{ yzyzyz
ˆ‡ˆ‡ˆ‡ ‹Œ‹Œ‹Œ
ˆ‡ˆˆ‡‡ ‹ŒŒ‹‹Œ
ˆ‡ˆ‡ˆ‡ ‹Œ‹Œ‹Œ
†…†…†… ‰Š‰Š‰Š
†…††…… ‰ŠŠ‰‰Š
†…†…†… ‰Š‰Š‰Š
smoy
Tc
Figure 6.7. Bursts injectés depuis une source
noyau décrite en section 6.2.3.1. L'utilisation de fonctions périodiques pour déterminer la
taille des bursts rend cette technique pertinente dans ce cas.
6.2.5.3 Exploitation des valeurs obtenues
On a donc, à la n de la phase d'injections des bursts, pour chaque ensemble de chemins
inclus dans P , les temps d'arrivées pour chaque burst du premier et dernier paquet.
Soit T (Pi ) l'ensemble contenant les résultats de tests injectés simultanément sur chacun
des chemins de Pi . Pour chacun de ces ensembles Pi , on évalue :
La néguentropie negens de l'ensemble T (Pi ), soit la néguentropie obtenue quand les
tests sont eectués simultanément.
La néguentropie negiso de l'ensemble {T ({p1 }), ..., T ({pi }), ..., T ({pn })}, pi ∈ P correspondant à l'injection de tests sur chacun des chemins de Pi séquentiellement (donc,
par dénition, les tests indépendants).
Puis on estime si les chemins de Pi partagent un sous-chemin commun en utilisant deux
conditions :
ens
neg
negiso > 1 + s1 , où s1 est un seuil déterminé empiriquement pour quantier l'augmentation de néguentropie minimum entre l'injection simultanée de tests et des tests
indépendants.
negens > s2 , où s2 est un seuil déterminé empiriquement pour quantier la néguentropie minimum que doivent contenir des résultats de tests simultanés pour que l'on
puisse considérer que l'ensemble des chemins partage un sous-chemin commun.
145
Techniques de mesures pour les sous-chemins communs étroits
Notons que s2 est choisi empiriquement en observant les résultats de nos expériences,
mais semble conforme aux valeurs observées dans d'autres domaines utilisant la néguentropie comme estimateur [80]. Une fois obtenues les valeurs pour tous les éléments de la
décomposition de P en sous-ensemble, on procède à l'exploitation des valeurs de la même
manière que pour la technique basée sur l'injection de bursts UDP saturants telle que
décrite dans la section 6.2.4.
6.2.5.4 Performances
Cette technique de mesures permet d'évaluer l'indépendance des diérents chemins
appartenant à P sans pour autant arriver à une saturation trop forte préjudiciable au
trac interférent. Comme nous le verrons par la suite, la validation dans des conditions
réelles dans un réseau partagé par d'autres utilisateurs s'est faite sans heurts.
De plus, cette technique est relativement robuste dans le cas où le trac interférent
est important. Ceci est dû au fait que les diérents bursts UDP soumis au même trac
interférent vont tous porter la trace de ce trac, ce qui entraine une dépendance statistique
plus forte des intervalles de temps d'arrivée.
6.2.5.5 Limitations
La limitation principale de cette technique reste l'extensibilité de celle-ci à un grand
nombre n de chemins. Plusieurs facteurs impliquent cette limitation. En premier lieu, le fait
de devoir tester chaque sous-ensemble de P séparément implique que le temps de mesure
grandira factoriellement suivant n. De plus, pour un test impliquant un nombre important
de chemins, la contrainte de non-saturation rend de plus en plus improbable (au sens
probabiliste) la collision entre bursts circulant sur des chemins diérents. Cela implique
une diminution de la dépendance entre les distributions d'arrivées des bursts, et donc une
plus grande diculté à statuer sur l'existence de sous-chemins communs détectables. Un
grand nombre de chemins implique aussi qu'il faut choisir un grand nombre de fonctions
dont les distributions doivent être diérentes ; or, cela peut s'avérer complexe, car le fait
d'utiliser des paquets, et donc, d'avoir une fonction discrète permettant de calculer la
taille d'un burst pour un envoi i fait que les diérences entre les diérentes distributions
peuvent être gommées par cette discrétisation. Enn, l'interaction entre un grand nombre
de bursts provenant de sous-chemins communs atténue peu à peu la possible diérenciation
entre l'inuence des diérents bursts. Les limitations de ce type de techniques proviennent
donc de la mise en oeuvre de la théorie dans un environnement pratique où les bursts
sont constitués d'entités atomiques (les paquets) ayant une granularité moins ne que ce
que l'on pourrait désirer. En eet, étant donné que diviser un paquet en plusieurs petits
paquets entraîne à la fois un surcoût de traitement sur les noeuds d'un chemin, ainsi qu'une
plus faible incidence en cas d'immiscement dudit paquet dans un burst de paquets dos à
dos, pouvant ainsi réduire l'impact de l'interférence de plusieurs bursts entre eux, on n'a
146
Techniques de mesures pour les sous-chemins communs étroits
qu'une étroite marge de manoeuvre sur laquelle nous pouvons inuer sur la granularité des
opérations. De plus, une limitation sur laquelle je n'ai pu faute de plate-forme adéquate
évaluer dans des conditions réelles les bornes est l'ordre de grandeur des diérents ux qui
sont impliqués dans une relation. En eet, si un test injecte des bursts UDP de très grande
taille par rapport aux autres, il est probable que si les autres porteront une trace importante
de leur interférence mutuelle, il n'en sera pas de même pour les bursts les plus grands. En
théorie - et cela a été conrmé dans une certaine mesure lors de nos expérimentations les intervalles d'arrivées des paquets des bursts de petites tailles devraient développer une
dépendance linéaire par rapport aux tests de grande taille injectés.
6.2.6 Technique parallèle basée sur l'approximation de la néguentropie
6.2.6.1 Description
Cette technique est une variante de la technique basée sur l'approximation de la néguentropie décrite en section 6.2.5 cette fois-ci adaptée à l'évaluation du partage de sous-chemin
commun entre un chemin pa dont les relations avec les autres chemins sont inconnues et
un ensemble de chemins P dont on sait que chaque paire de chemins appartenant à P est
indépendante.
La diérence fondamentale tient au fait que, comme on sait que les chemins appartenant
à P sont indépendants, on eectue une seule phase de tests où sont injectés des bursts
simultanément, suivant des fonctions propres à chacun des chemins, dont les périodes sont
premières entre elles. Les autres phases sont en eet inutiles : puisqu'on sait que les chemins
de P sont indépendants, on établit juste la néguentropie entre pa et les chemins de P . Pour
chacun des couples {pa , pi }, pi ∈ P , on établit leur néguentropie. Un système de seuillage
permet de statuer sur d'éventuels sous-chemins communs détectables.
6.2.6.2 Exploitation des valeurs obtenues
L'exploitation des valeurs obtenues est similaire à celle décrite en section 6.2.5.3, excepté
que l'on n'a ici que des paires de résultats, et que l'on n'estime que les relations entre les
chemins deux à deux.
6.2.6.3 Performances
Cet algorithme permet de mettre en oeuvre des algorithmes du type de celui décrit en
section 5.4.6. Cela permet donc un gain de temps non négligeable lors d'expérimentations
réelles.
6.2.6.4 Limitations
Les limitations sont similaires à celles de la technique précédente, excepté pour le coût
qui est xe (en terme de tests) quelle que soit la cardinalité de P .
147
Techniques de mesures pour les sous-chemins communs étroits
6.3
Synthèse
Au travers de l'état de l'art des techniques de mesures existantes, on a pu apercevoir
le nombre de techniques déjà existantes, mais malheureusement intransposables au problème de l'identication de sous-chemins communs k-détectables qui est nécessaire pour
la reconstruction de MINP. Puis, on a donné un ensemble de techniques de mesures permettant de reconstruire des MINP partiels pour des ensembles de chemins, que ce soit
pour une utilisation lors de simulation de bas niveau, de haut niveau, et enn dans des cas
réels. Comme expliqué dans la suite de cette thèse, les techniques de mesures basées sur
la néguentropie se comportent très bien dans des utilisations sur des plates-formes réelles
éventuellement partagées par d'autres utilisateurs.
148
Troisième partie
IMPLÉMENTATION ET VALIDATION
M.I.N.T.C.a.r : un outil pour la découverte
automatique de M.I.N.P.
De manière à tester et évaluer les performances et la faisabilité de la mise en oeuvre
des algorithmes présentés en section 5 ainsi que des techniques de mesures présentées
en section 6, nous avons développé un outil permettant à l'utilisateur de soumettre des
requêtes de reconstruction pour une conguration donnée. Nous donnons dans ce chapitre
une description rapide de celui-ci, tant au niveau des technologies mises en oeuvre que
de l'architecture, puis donnons les principales dicultés liées à la mise en oeuvre des
techniques et méthodes développées pendant cette thèse.
7.1
Présentation générale de l'outil
L'outil en lui-même est séparé en 2 parties principales :
Un outil générique permettant l'injection de paquets le long d'un chemin. Notre outil
est une version étendue par nos soins d'UDPMon [38]. Nous avons rajouté à l'outil
initial développé un certain nombre d'options permettant de jouer sur diérents
paramètres ainsi que de récupérer les données nécessaires à la mise en oeuvre de nos
méthodes. Cet outil est utilisé pour déterminer la bande passante disponible le long
d'un chemin ainsi que pour réaliser les mesures elles-mêmes.
Un ensemble d'outil de soumission et d'exécution de reconstruction comportant des
fonctionnalités de visualisation d'un MINP. Cet outil, possédant une interface de
type web service, est composé d'un ensemble de services codés en Java s'exécutant
au sein d'un serveur Tomcat [3]. Une interface utilisateur de type Web est fournie,
permettant de soumettre des requêtes de reconstruction et visualiser les résultats de
cette reconstruction.
Ces deux parties principales contiennent plusieurs services que nous vous présentons dans
la section suivante.
7.1.1 Architecture
L'architecture de notre outil, M.I.N.T.C.A.R. (Metric Induced Network Topology Construction, Analysis and Retrieval ) peut être vue comme un ensemble de web service
150
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
distribués géographiquement sur les diérents noeuds S ∪ R appartenant à la plate-forme
réseau sur laquelle sont dénis les chemins.
7.1.1.1 Vue logique
D'un point de vue logique, l'outil comprend 5 services principaux répondant à un
découpage des activités classiques de type architecture 3-tier :
Le serveur de présentation donnant les interfaces de soumission, de visualisation, et
de stockage des reconstructions déjà eectuées.
Le serveur d'application recevant les requêtes de reconstruction et exécutant celles-ci
en ordonnançant les diérentes mesures ainsi qu'en eectuant l'algorithme de reconstruction choisi.
Le serveur de coordination local, permettant l'exécution d'une mesure en coordonnant les diérents tests, c'est-à-dire les diérentes injections de ux.
Le serveur de requêtes permettant de demander un test entre une machine source
sur laquelle il est hébergé vers un noeud où est installé le démon de réception des
requêtes d'évaluation des performances réseau.
Enn, un démon qui est une version étendue de celui d'UDPMon qui traite les demandes de tests en jouant le rôle de noeud destination.
Notons que nous avons mis à disposition une interface de type Applet permettant de
visualiser les MINP produits. La gure 7.1 donne une vue d'ensemble de la répartition des
fonctionnalités entre ces diérents services.
Interface de soumission
Web service de soumission
Service de stockage des MINP
Service de coordination des tests
Service d’execution
Service d’ordonnancement des mesures
Algorithmes de reconstruction
Analyseur des tests
Service d’execution des tests
Senseur
Figure 7.1. Vue d'ensemble de l'outil
7.1.1.2 Vue déploiement
Du point de vue du déploiement, l'outil comporte 6 types d'installations :
Une machine cliente ne nécessitant pas d'installation spécique, si ce n'est celle d'un
navigateur Web qui servira de client léger.
151
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
Une machine de présentation (MintServer), sur laquelle seront installées les fonctionnalités de présentation (visualisation, stockage, interface de soumission). Notons que
cette machine peut être identique à celle utilisée pour servir de serveur d'application.
Une machine responsable de l'exécution de l'algorithme (MintServer) et par conséquent de l'ordonnancement des mesures nécessaires à la bonne exécution de l'algorithme choisi.
Un service de coordination des tests pour l'exécution des mesures (MintLocalCoordinator) sera déployé sur un ensemble de machines. Cet ensemble peut être le même
que celui de machines de type MintRequester introduit ci-après. Notons que ce service n'est nécessaire que pour l'exécution de l'algorithme de type "o-line" décrit en
section 5.4.3.
Un ensemble de machines sources (MintRequester) hébergera les fonctionnalités permettant d'évaluer un chemin depuis celles-ci. Il héberge un service Web ainsi que la
partie cliente étendue d'UDPMon que nous avons développé.
Enn, un ensemble de machines (correspondant à l'ensemble R) hébergera le démon étendu par nos soins d'UDPMon (udpmon_resp) pour pouvoir jouer le rôle de
machine destination.
La gure 7.2 donne une vue d'ensemble des diérents types de déploiement.
Machines de gestion de MINTCAR
Machines
clientes
Client
MintServer/presentation
MintServeur/execution
MintLocalCoordinator
Machines de la plate−forme
MintRequester
udpmon_resp
Figure 7.2. Déploiement de l'outil
152
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
7.1.1.3 Vue implémentale
Les principaux paquetages constituant notre application sont les suivants :
Le paquetage d'analyse comprenant les diérents outils statistiques et mathématiques
permettant l'analyse des résultats des tests.
Le paquetage de présentation comprenant les diérentes pages d'interface et les
classes permettant de visualiser les MINP.
Le paquetage d'application contenant les codes des diérents algorithmes implémentés pour la reconstruction des données.
Le paquetage de test comprenant les parties clients et serveurs d'udpmon modiées
par mes soins.
Le paquetage d'interface entre la partie C et la partie java.
Le paquetage de coordination locale des tests.
Le paquetage d'entrée/sortie pour les diérents formats XML.
Le paquetage de modélisation mathématique des treillis.
Le paquetage d'interface web service pour l'exécution des algorithmes.
Le paquetage d'interface web service pour l'interface de soumission de plate-forme.
Le paquetage d'interface web service pour la soumission de tests.
Le paquetage pour l'exécution d'algorithmes en mode applet.
La gure 7.3 donne une vue d'ensemble des diérents paquetages développés.
paquetage IHM
Interface applet
Web service de soumission de plate−forme
Gestion des treillis
Web service d’execution
Entree/sortie XML
Paquetage de reconstruction
paquetage analyse
coordination Locale
Web service interface de soumission de tests
Paquetage d’interface C/Java
UDPMon client
UDPMon server
Figure 7.3. Vue implémentale
7.1.1.4 Cas d'utilisation
Nous donnons ici un cas typique d'utilisation de l'outil pour la soumission de requêtes.
Les autres fonctionnalités (visualisation et récupération des topologies reconstruites) étant
153
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
relativement triviales et de peu d'intêret, nous ne les décrivons pas ici.
Pré condition L'utilisateur dispose de la liste des adresses des machines ainsi que des
ports sur lesquels sont installés les services propres aux machines sources et destinations,
et connaît une machine où est installé le service d'interface.
Post-condition L'utilisateur dispose d'un MINP pour la plate-forme qu'il souhaite connaître
et peut la visualiser via les outils mis à disposition sur le serveur de présentation.
Scénario nominal
Connexion de l'utilisateur à la machine interface.
Soumission de la part de l'utilisateur du chier XML contenant la description de la
plate-forme sur laquelle doit être menée la reconstruction.
Transfert entre le serveur de présentation et le serveur d'application du chier XML.
Génération du chier dans lequel sera stocké la structure reconstruite et renvoi de son
identiant au serveur de présentation qui renvoie une page Web contenant l'adresse
où le chier sera consultable une fois la reconstruction achevée.
Lancement de l'exécution de l'algorithme choisi par l'utilisateur pour la reconstruction dans un thread.
Envoi des descriptions des mesures aux diérents MintLocalCoordinator.
Le MintLocalCoordinator contacte les diérents MintRequester pour l'exécution de
tests.
Les MintRequester injectent des tests vers le démon UDPMon destination.
Le démon renvoie les données nécessaires à la reconstruction au MintRequester.
Les MintRequester retournent ses données à leur MintLocalCoordinator.
Reconstruction du MINP partiel par les MintLocalCoordinator.
Envoi du MINP partiel des MintLocalCoordinator vers le serveur d'application.
Reconstruction du MINP pour toute la plate-forme à partir des diérents MINP
partiels.
Sauvegarde de la structure reconstruite dans le chier prévu à cet eet.
Envoi d'un mail avertissant de la n de l'exécution à l'utilisateur contenant le MINP
lui-même ainsi que les adresses où il pourra les consulter.
Le diagramme correspondant à ce cas d'utilisation est donné à la gure 7.4. Notons
que dans le cas d'algorithmes autres que celui décrit dans la section 5.4.3, le serveur d'application joue le rôle de MintLocalCoordinator.
7.1.1.5 Vue architecture
La norme en vigueur pour l'interface d'un service de grille est de fournir une interface
dite Grid Service (interface de type web service avec quelques ajouts tels que la durée de
154
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
Client
serveur presentation
Description de la plate−forme
MintCarServer
MintCarLocalCoordinator
MintRequester
UDPMonClient
UDPMonServer
Description de la plate−forme
Generation du fichier
temporaire sur le serveur
qui contiendra le MINP
Adresse du fichier contenant le MINP sur le serveur de presentation
Thread algorithme
Requete de test local
Coordination des tests
evaluation de la bande passante
calcul des parametres des tests
Description du test
Description du test
test
donnees obtenues
donnees obtenues
donnees obtenues
Calcul du MINP partiel
MINP partiel
Requete de test local
MINP partiel
Calcul du MINP total
MINP total
Courrier electronique contenant le MINP et l’adresse pour la visualisation
Requete de visualisation
Visualisation du MINP par l’applet
Figure 7.4. Vue d'un cas d'utilisation
vie de la ressource) pour permettre une interopérabilité simple entre services provenant
de diérents fournisseurs. Dans un tel contexte, nous avons choisi une architecture nous
permettant d'être compatibles avec une telle norme pour l'interface de soumission ainsi
que celle de récupération des résultats. De plus, pour éviter les éventuels problèmes de
rewall (pare-feu) et ouvertures de ports divers entre les sites, nous avons réutilisé les
ports standards des diérents outils utilisés.
7.1.1.6 Pré-requis pour l'installation
Les diérents types d'installations étant soit uniquement des installations de web service (interface, MintServer, MintLocalCoordinator), soit des installations nécessitant un
serveur de web services et une installation d'UDPMon (MintRequester), soit enn des installations ne demandant que la partie démon d'UDPMon, dont les pré-requis logiciels et
de conguration sont assez simples.
Les pré-requis logiciels sont les suivants :
Pour les web services : il est nécessaire de disposer d'une machine virtuelle java ainsi
que d'une version de Tomcat postérieure ou égale à la version 5.5.
Pour UDPMon : il est nécessaire que la machine ait un système d'exploitation de
type Unix ou Linux. De plus, il est nécessaire que la machine dispose d'un processeur
Intel.
Notons enn que dans le cas du MintRequester, il est nécessaire que la commande udpmon_bw_mon soit disponible dans le chemin accessible par un processus de Tomcat.
155
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
Les ports par défaut utilisés par les diérents composants sont les suivants (et doivent
donc être ouverts pour pouvoir être utilisés) :
Pour les web service : port 8080 en entrée/sortie pour un trac TCP.
Pour UDPMon : port 14233 en entrée/sortie pour un trac UDP.
Notons que les numéros de ports ne sont pas xés. Nous donnons ici les valeurs par défaut
de ces paramètres.
7.1.2 Technologies mises en oeuvre
7.1.2.1 UDPMon
UDPMon [38] est un outil libre permettant de mesurer diverses informations sur le
réseau à partir de l'injection le long d'un chemin de paquets UDP. Il est assez souple,
permettant des injections de paires de paquets ou encore de trains de paquets suivant
divers motifs temporels. Nous avons dû étendre ces motifs pour pouvoir tester nos propres
méthodes ; la liste des nouvelles options que nous avons développées dans cet outil sont
disponibles en annexe. UDPMon nécessite de disposer d'un environnement logiciel de type
Linux. De plus, il utilise des fonctionnalités du processeur (interruptions) pour obtenir des
mesures nes des écarts de temps ; ceci réduit son utilisation aux machines possédant un
processeur Intel.
7.1.2.2 Galicia
Galicia [114] est un outil libre initialement destiné à l'exécution d'algorithmes de reconstructions de treillis de Gallois ainsi qu'à la visualisation des treillis reconstruits. Il
permet de stocker les treillis reconstruits de manière pérenne sous forme de chier. La version Applet de notre outil est très fortement basée sur ce logiciel, même si j'ai développé un
format propre aux treillis de type MINP et modié l'interface de manière à la brider et ne
permettre l'exécution d'algorithmes que sur ce type de treillis. Notons que seul l'algorithme
"o-line" est disponible dans l'applet.
Dans la version service de l'outil, seul l'interface de visualisation de treillis de Galicia
a été conservée.
7.1.2.3 Autres
Les diérents outils utilisés mais non modiés faisant partie de l'environnement logiciel
de notre outil sont :
Tomcat, de Jakarta, est un conteneur de servlet J2EE. Nous avons utilisé Tomcat
pour y déployer les diérents web service composant l'outil.
Javamail, de Jakarta, est un paquetage libre permettant de gérer des mails depuis
un processus Java. Nous avons inclus une alerte par mail lors de la n de l'exécution
du processus de reconstruction à l'aide de ces outils.
156
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
Colt du CERN [7] est un paquetage de calcul matriciel rapide pour java. Nous l'avons
utilisé pour coder les phases de reconstruction de MINP partiels à partir des mesures
de néguentropie que nous avons décrites en section 6.2.5.
7.1.2.4 Utilisation du format XML
les web services disposent entre eux d'une interface d'échange en XML. De plus, l'utilisateur utilise ce format pour les deux formats de chiers nécessaires à la soumission de
requêtes de reconstruction ainsi qu'à la récupération du MINP reconstruit. Un des formats
dénit une plate-forme cible sur laquelle vont être eectuées les mesures, sous forme d'un
ensemble de chemins dénis par un couple source (port)/destination (port). L'autre format nécessaire est celui permettant de décrire un MINP. Il est constitué d'un ensemble de
chemins, ainsi que de sous-chemins dénis par leurs relations de couverture des chemins et
sous-chemins qu'ils couvrent. Ces deux formats sont donnés en annexe.
7.1.3 Quelques mots sur l'interface
Pour plus de facilité, nous avons mis en place une interface de type .jsp pour soumettre une requête en soumettant un chier, choisir l'algorithme à utiliser, parcourir la
base contenant les MINP déjà reconstruits, et visualiser ces derniers. L'ensemble de cette
interface peut être hébergé sur un serveur dédié ; néanmoins vu que cette interface n'est pas
énorme, elle fait partie du paquetage serveur. Un exemple de capture d'écran de l'interface
est donné à la gure 7.5. La capture présente la visualisation d'un MINP déjà reconstruit
et stocké sur le serveur. Notons que l'image centrale est la capture de l'achage de l'applet
permettant une visualisation 2D ou 3D du MINP (ici visualisation en 3D, les noeuds rouges
sont l'inmum et le supremum), ainsi que certaines manipulations de celui-ci (rotations en
mode 3D, représentation soumise à des contraintes de forces, déplacement de noeuds, etc).
Cette applet est une version modiée de celle incluse dans le projet Galicia, et est aussi
disponible en standalone.
7.1.4 Limitations actuelles
A l'heure actuelle, l'application ne permet pas à plusieurs utilisateurs de soumettre des
requêtes de reconstruction de manière saine. Un développement ultérieur devrait être fait
pour apporter le support d'une telle fonctionnalité.
Une autre limitation est le nombre d'algorithmes mis en oeuvre : nous n'avons à l'heure
actuelle rendu disponible que l'algorithme décrit dans la section 5.4.3, ainsi que les algorithmes LTC 5.4.5 et 5.4.6. Cependant, l'architecture souple du service d'exécution de requête permet une intégration future assez facile de nouveaux algorithmes (les algorithmes
respectent une interface Java unique de type Thread).
157
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
Figure 7.5. Capture d'un écran de l'interface
7.2
Mise en oeuvre des algorithmes et mesures développées
Dans cette section nous traitons des aspects pratiques (dicultés de mise en oeuvre et
limitations induites par celles-ci) de la mise en oeuvre des techniques de mesures décrites
au chapitre 6 ainsi que des algorithmes décrits en section 5. Nous ne traitons pas ici des
aspects validation de ces méthodes, mais dans le chapitre 8.
7.2.1 Mesures par envois de bursts périodiques
La technique de mesure par envois de bursts périodiques 6.2.3 n'est plus disponible
par l'intermédiaire de l'interface utilisateur classique. En eet, cette technique, bien qu'efcace théoriquement, s'est montrée en pratique totalement inecace, de par son absence
de tolérance de délais qui peuvent survenir même sur une plate-forme exempte de trac
interférent. Néanmoins sa mise en oeuvre est toujours possible par l'utilisation de notre
client UDPMon modié.
158
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
7.2.2 Mesures par envois de burts UDP saturants
Cette technique 6.2.4 est disponible via l'interface de soumission de requête du MintRequester. Même si les résultats obtenus sont probants, nous avons décidé de l'abandonner
car elle est, de par sa nature, trop destructrice pour le trac interférent pour être déployée
sur un réseau partagé. Cette méthode donne pourtant de bons résultats et, de par sa
simplicité, est très simple à mettre en oeuvre.
7.2.3 Mesures basées sur la néguentropie
7.2.3.1 3-mesure 1-test
Dicultés de mise en oeuvre Un problème particulier est celui du comportement
d'une mesure quand un noeud est présent plusieurs fois dans l'ensemble des noeuds impliqués dans une mesure. Par exemple, un noeud peut être à la fois source et destination, ou
bien encore source de plusieurs chemins, ou encore destination de plusieurs chemins.
Le problème n'est pas complexe quand le noeud est la source de plusieurs chemins
simultanément, ou lorsque le noeud est simultanément source et destination, puisque les
diérents rôles correspondent à des processus diérents sur la machine ne partageant aucune donnée. Dans le cas où un noeud est destination, nous avons adapté la partie démon
d'UDPMon pour qu'elle puisse admettre plusieurs requêtes de transferts simultanées.
Un autre problème est celui du calcul des paquets ainsi que de la taille (en nombre
de paquets) de chaque train de paquets envoyé. Par défaut, les paquets envoyés sont de
taille maximale (soit 1472 pour un MTU de 1500). En pratique, le calcul du nombre de
paquets à envoyer est basé sur la bande passante disponible. Or, un nombre "susant"
de paquets est nécessaire pour que la dispersion des paquets puisse être observée. Dans
le cas où la bande passante disponible est trop basse, on réduit la taille des paquets. Or,
réduire la taille des paquets, et ainsi en augmenter le nombre si l'on considère un burst
de taille constante, implique un surcoût sur la machine source qui, en pratique, peut faire
que les paquets ne sont plus envoyés dos à dos, rendant inecace l'injection de ceux-ci. Il
existe donc une limite inférieure en terme de bande passante sur laquelle la méthode est
applicable.
Limitations La partie démon d'UDPMon ne peut, à l'heure actuelle, être destination de
plus de 3 chemins simultanément. Cette limitation -arbitraire- est dûe au fait que le démon
stocke, avant de les renvoyer, les délais entre les paquets de l'ensemble de l'échantillon (1000
bursts). Nous avons limité cette capacité manuellement pour éviter de consommer trop de
mémoire.
De plus, comme nous l'avons indiqué précédemment, il existe une limite inférieure pour
laquelle cette méthode n'est plus valide. Elle dépend de plusieurs paramètres, comme la
159
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
puissance de la machine source ainsi que la bande passante disponible. Lors de nos tests
sur plate-forme réelle, et compte tenu des machines peu puissantes à notre disposition,
nous avons pu mesurer une perte d'ecacité de la détection de sous-chemins communs en
dessous de 5 Mb/s.
7.2.3.2 k-mesure parallèle
Dans le cas de 1-mesure parallèle, nous nous heurtons à plusieurs aspects d'ordre pratique. Si en théorie, il est possible de donner une distribution diérente pour chaque ux
traversant un chemin, en pratique, les problèmes dûs au fait que nous travaillons sur des
variations de taille de bursts constitués de paquets fait qu'il est dicile de donner des
distributions vraiment diérenciables entre un grand nombre de ux. En pratique, nous
avons implémenté seulement 4 types de distributions basées sur des fonctions classiques
(sinusoïdes, créneau, dent de scie, triangle). Le même type de problème se pose lors de la
détermination de périodes diérentes pour chacun des tests devant être simultanés. Des différences trop faibles de période peuvent être préjudiciables. Nous utilisons pour les mesures
supérieures à 4 la même distribution pour tous les ux indépendants.
7.2.4 Algorithmique
7.2.4.1 Mise en oeuvre
La partie algorithmique mise en oeuvre dans cet outil est entièrement développée en
Java. Ne manipulant pas de gros volumes de données, aucune diculté particulière n'est à
signaler pour les algorithmes en eux-mêmes.
7.2.4.2 Limitations
La seule limitation ici est le nombre d'algorithmes que nous avons implémentés dans
cette partie jusqu'à maintenant.
7.3
Autres caractéristiques de l'outil
Cette section donne une vue d'ensemble des autres caractéristiques propres à l'implémentation de nos méthodes dans cet outil.
7.3.1 Tolérance aux pannes
Il n'est pas rare, dans le monde réel, que les services ou les machines soient injoignables.
Il est aussi possible, comme nous le verrons par la suite dans le chapitre 8 que la liaison entre
deux senseurs ne soit pas susante pour permettre de mener à bien nos tests. Dans ce cas,
160
M.I.N.T.C.a.r : un outil pour la découverte automatique de M.I.N.P.
l'outil considère que le chemin défaillant est un chemin de capacité nulle ; de plus, puisque
nous ne pouvons tester les interactions entre ce chemin et d'autres chemins appartenant à
la plate-forme, l'outil le considère comme indépendant de tout autre ux. Il en résulte que
la représentation du chemin dans le MINP produit n'est qu'un noeud uniquement relié à
l'inmum et au supremum du MINP.
7.3.2 Stockage des MINP
Dans le cadre d'une utilisation réelle de l'outil, c'est-à-dire dans un environnement
multi-utilisateurs, il est plus que probable que plusieurs utilisateurs tenteront d'évaluer
une plate-forme semblable. Pour pallier à ce problème, l'outil conserve les MINP déjà
reconstruits dans une base consultable par tous.
7.3.3 Evolutivité
L'implémentation a été réalisée en gardant à l'esprit le fait que l'on puisse rajouter
des algorithmes au cours de la vie de l'outil, ainsi que de nouvelles techniques de mesures.
Les implémentations des diérents services passent donc toutes par des interfaces Java,
permettant aisément de rajouter des algorithmes et des techniques de mesures.
7.4
Synthèse
Dans ce chapitre, on a décrit l'outil développé dans le cadre de cette thèse, permettant
de mettre en oeuvre les techniques de mesures et algorithmes de reconstruction dédiés
au MINP développés dans les chapitres précédants, mais aussi de manipuler les MINP et
les stocker. D'architecture en tier orienté web service assez classique, il donne un cadre
général permettant d'envisager une utilisation réelle et, de par son extensibilité, un socle
solide pour l'implémentation d'algorithmes et de techniques de mesures développés dans
le futur.
161
Validation
Ce chapitre est dédié aux résultats des expériences menées dans le cadre de cette
thèse pour valider les algorithmes et techniques de mesures que j'ai développés. Après
de premières expériences menées par simulation, l'outil a été déployé d'abord dans un
réseau privé fermé et sous contrôle, puis sur un certain nombre de machines dispersées
géographiquement.
8.1
Méthodologie de validation
La validation de nos travaux passe par la validation des deux principales parties nonthéoriques de l'application, c'est-à-dire :
Les algorithmes de reconstruction en validant les MINP reconstruits en vériant la
cohérence de ceux-ci par rapport aux connaissances que l'on a des plates-formes
cibles, en utilisant à la fois la simulation et l'expérimentation réelle.
Les diérentes techniques de mesures, en validant par la simulation puis l'expérimentation réelle les diérents choix implémentés.
Nous détaillons dans les sections suivantes les méthodes et outils utilisés pour parvenir à
cette validation.
8.1.1 Validation des algorithmes
La validation des algorithmes pouvant se faire en l'absence d'implémentation réelle
des techniques de mesures, nous avons développé un environnement de test "o-line" de
ceux-ci sous forme d'une application Java dans le cadre du framework proposé par Galicia
[114]. Pour obtenir les MINP partiels nécessaires à l'exécution des algorithmes, nous avons
utilisé un simulateur de haut-niveau pour générer ces MINP partiels à l'aide de techniques
de mesures spéciques.
8.1.2 Validation des techniques de mesures
Nous avons utilisé trois principales voies pour valider les techniques de mesures :
La validation des techniques par simulation.
162
Validation
La validation des techniques de mesures au sein d'une plate-forme réseau réelle connée.
La validation des techniques de mesures sur une plate-forme réseau réelle (un réseau
public).
8.2
Outil de validation
8.2.1 Simulateurs
Dans le cadre de cette thèse, j'ai dû utiliser plusieurs types de simulateurs :
Des simulateurs bas niveau pour valider théoriquement les techniques de mesures
décrites en section 6.
Des simulateurs de haut niveau pour valider théoriquement les algorithmes de reconstruction décrits en section 5.
La raison pour laquelle je n'ai pas utilisé uniquement des simulateurs de bas niveau est
assez simple : le côut d'une simulation d'une mesure était tel que le temps de simulation
d'une reconstruction complète était prohibitif. J'ai donc eu recours à un simulateur de haut
niveau pour obtenir des résultats similaires à ceux qu'auraient produits les techniques de
mesures de manière plus rapide, dans le but de tester mes algorithmes sur des plates-formes
de dimension plus grande.
8.2.1.1 NS-2
NS-2 [24] est sûrement le simulateur libre de réseau de bas niveau le plus utilisé dans
le monde. Il permet l'étude du comportement théorique des équipements déployés le long
du réseau. On peut intervenir sur deux niveaux d'abstractions : soit en codant en C de
nouveaux modules permettant de simuler le comportement de manière ne soit d'un protocole soit d'un équipement particulier, soit en codant en Otcl [26], un langage de script,
si l'on utilise des primitives de plus haut niveau. Les fonctionnalités déjà implémentées
étant susantes pour nous permettre de tester nos diérentes techniques de mesures, les
simulations que nous avons développées sur NS-2 sont uniquement en otcl. L'architecture
de NS-2 permet d'intervenir à plusieurs niveaux des couches réseau tel qu'illustré à la gure
8.1 :
Trac Pareto, ON/OFF, CBR, FTP, telnet, etc.
Couche Transport TCP, UDP
Couche Réseaux IP, routage dans les réseaux ad hoc (aodv, dsr , dsdv, tora, amodv),
routage dans les réseaux laires (Link state, Distance vector), les réseaux multicast,
IntServ, DiServ
163
Validation
Couche MAC CSMA, CDMA, 802,X, Token ring, MPLS, liens satéllite, etc.
Trafic (WEB, CBR, FTP)
Application
Protocole transport (TCP, UDP)
Agent
Noeud
Delai, debit, file d’attente
Lien
Figure 8.1. Vue d'ensemble de ns-2
8.2.1.2 SimGrid
SimGrid [32] est un simulateur de grille de haut niveau permettant de simuler le comportement d'applications fonctionnant sur une grille. A partir d'une description de plate-forme,
il permet de développer des applications qui gèrent des ux plutôt que des applications. La
gestion de protocoles de haut niveau, tels que TCP, et surtout l'utilisation du paradigme
de partage de la bande passante dit de INV-RTT-BOUNDED déjà décrit en section 6.1.5,
nous a permis de développer la technique de mesure décrite en section 6.2.2.
Pour cela, SimGrid propose un ensemble de bibliothèques logicielles permettant d'interagir à diérents niveaux d'abstractions (voir gure 8.2). Dans notre cas, le plus logique
est d'utiliser la bibliothèque Amok, car elle nous donne les briques de base nécessaires à
l'implémentantation de nos mesures naïves. En eet, Amok met à disposition deux fonctions utiles : l'une permet de saturer un lien réseau, l'autre permet de mesurer la bande
passante disponible sur un chemin compte-tenu du trac interférent. Ainsi, en utilisant ces
deux fonctions, et puisque le partage de bande passante est implémenté dans ce simulateur
en utilisant le INV-RTT-BOUNDED, alors l'implémentation de nos méthodes de mesures
naïves apparaît sans dicultés.
8.2.2 Plates-formes réelles
Dans le but de tester et valider les diérentes techniques de mesures, j'ai eu à ma
disposition une dizaine de machines, peu puissantes, ainsi qu'un ensemble d'équipements
réseau me permettant de tester et d'appliquer les diérentes techniques sur des congura164
Validation
Code utilisateur et contributions
MSG
simulation
de niveau
application
AMOK
GRAS
Framework de dev
d’applications
SMPI
SImulation
de MPI
SIMDag
Framework
pour l’utilisation
de DAG
distribuées
SURF − simulation de plates−formes
XBT − fonctions de base
Figure 8.2. Vue d'ensemble de simGrid
tions réseau variées. 8 de ces machines sont des Optiplex Gx240 de chez Dell de 128 Mo
de RAM, processeurs Intel pentium 4 1.5 Ghz, disposant de cartes réseau Ethernet 100,
ayant comme système d'exploitation Scientic Linux 3. La dernière est un Optiplex Gx110
de chez Dell dotée de 256 Mo de RAM et d'un processeur Pentium III 667 Mhz possédant
aussi une carte Ethernet 100 et dotée du système d'exploitation Fedora Core 4. Malgré
l'âge (et donc la faiblesse des performances) de ces machines, l'exécution de mesures sur
celles-ci était tout à fait faisable.
Ces mêmes machines ont été déployées dans une deuxième phase physiquement le long
du réseau du campus (voir gure 8.3). Notons cependant que ce réseau comprend un lien
d'une trentaine de kilomètres, du fait de la séparation de certains réseaux.
8.3
Validation des algorithmes de reconstruction
8.3.1 Simulation de haut niveau
La validation par simulation des algorithmes de reconstruction a porté sur les algorithmes implémentés dans l'outil M.I.N.T.C.A.R., à savoir ceux décrits en section 5.4.3,
5.4.5 (LTC) et 5.4.6 (LTCP). Nous avons utilisé la technique de mesure décrite dans 6.2.2
pour obtenir les MINP partiels résultant des mesures. Les algorithmes implémentés étant
déterministes, leurs résultats seront par dénition corrects quand les plates-formes cibles
respectent les hypothèses de dénition d'un MINP et que les mesures donnent des résultats
partiels corrects. La validation de l'algorithmique revient donc à valider l'implémentation
165
Validation
de celle-ci, l'apport réel de la validation venant surtout de la validation des techniques de
mesures. L'algorithmique a été testé avec succès sur diérentes plates-formes.
8.3.2 Tests sur plate-forme expérimentale
Au vu du faible nombre de machines, l'utilisation de nos machines autour d'une plateforme expérimentale ne présentait que peu d'intérêt, cette technique étant plus dédiée à
la validation des mesures. Nous avons principalement testé nos algorithmes par simulation
de haut niveau et sur des plates-formes réelles.
8.3.3 Tests réels
L'architecture du réseau hébergeant les diérentes machines que nous avons utilisées
pour nos tests est présenté à la gure 8.3. Nous avons utilisé diérentes descriptions de
plates-formes pour dénir des réseaux intéressants à tester sur cette plate-forme.
8.4
Validation des méthodes de mesures
8.4.1 Simulation
Nous avons validé par simulation de bas niveau les techniques de mesures décrites en
section 6.2.3 et 6.2.2.
8.4.2 Tests sur plate-forme expérimentale
Nous avons tenté de valider sur plate-forme expérimentale les diérentes techniques que
nous avions validées théoriquement. Rapidement, de nombreux problèmes ont commencé à
apparaître, nous forçant à redévelopper de nouvelles techniques et méthodes. Après cette
étape de test, on n'a gardé que les méthodes les plus ecaces et les moins intrusives,
c'est-à-dire les méthodes basées sur la néguentropie.
8.4.3 Tests réels
Pour tester dans des situations réelles nos mesures, nous n'avons eu recours qu'à celles
décrites en section 6.2.5 6.2.6, les autres techniques s'étant révélées inecaces lors des tests
utilisant la plate-forme expérimentale, ou, dans le cas de celui de l'injection de burst UDP
saturant, trop destructrice pour le trac interférent pour être utilisé sur un réseau partagé.
166
Validation
mintcarX.esil.univ−mrs.fr
numericable 128kb/s
SWITCH 100 Mb/s
SWITCH 100 Mb/s
LIEN DE SORTIE 128Kb/s
LAN ESIL 100 Mb/s
LIEN DE SORTIE 10/100 Mb/s
RESEAU CAMPUS
PHOCEAN
LIEN DE SORTIE 100 Mb/s
LAN CPPM 100Mb/s
SWITCH 100 Mb/s
marconnetX.in2p3.fr
mintcarX.datagrid.cnrs.fr
Figure 8.3. Déploiement réseau
8.4.4 Taux d'erreur
La gure 8.4 nous montre le résultat de 400 tests eectués le long de 8 chemins sur la
plate-forme réelle. Les tests ont été eectués en concurrence potentielle avec des utilisateurs,
mais sur une "période calme" traditionnellement de la vie d'un campus, c'est-à-dire pendant
les vacances d'été. Le trac interférant était donc à priori faible.
Les diérents tracés représentent les valeurs de néguentropie obtenues pour ces 8 chemins ordonnés par ordre décroissant. Les valeurs, basses, sont conformes à celles observées
dans ce cadre dans d'autres domaines (voir par exemple [80]), la néguentropie ne dépassant
pas O.35. Les diérents chemins utilisés expliquent les diérentes valeurs :
Les deux chemins ayant obtenu les valeurs les plus hautes sont des chemins d'origine diérente partageant la même destination. Ceux-ci sont fortement dépendants,
puisque les machines cibles, peu puissantes, constituent un goulot d'étranglement
167
Validation
0.35
0.30
1
Neguentropie
0.25
0.20
0.15
0.10
2
0.05
3
0.00
0
5
10
15
20
25
30
35
40
Nombre de tests
Figure 8.4. Néguentropie pour les diérents sous-chemins communs
majeur.
Les deux courbes intermédiaires sont des courbes de néguentropie entre 2 chemins
partageant aussi des ressources réseau (la liaison CPPM vers ESIL) sans partager la
même origine ni la même destination.
Les autres courbes sont des chemins indépendants les uns des autres.
Ces données permettent de constater que l'estimation de la néguentropie est un critère
able pour déterminer l'information mutuelle partagée par les ux. Les expérimentations
ont consisté en la récupération de 1000 valeurs d'intervalles entre le premier et le dernier
paquet d'un burt pour chaque destination. L'utilisation de la technique du noyau pour
éliminer les problèmes de synchronisation nous a obligé à tripler le nombre de mesure.
L'intervalle Ut choisi était de 2 millisecondes. L'obtention d'un MINP partiel pour un triplet
de chemin impliquait donc environ 42 secondes de mesures. Notons que le temps total de
récupération du MINP, lors de nos expériences, était d'environ 1 minute 40 secondes,
temps dû aux calculs complexes nécessités par l'évaluation de la néguentropie de chacun
des sous-ensembles de l'ensemble de chemins du MINP partiel, et donc à la manipulation
d'un important volume de données compte tenu des performances très modestes de nos
machines. L'utilisation de machines plus récentes devrait faire largement diminuer le temps
de récupération du MINP partiel.
168
Validation
8.5
Synthèse
Grâce à l'outil développé dans le cadre de cette thèse, on a pu valider les techniques de
mesures décrites dans cette thèse ainsi que les algorithmes de reconstructions de MINP.
Les diérentes validations (par simulation de bas niveau, simulation de haut niveau, expérimentation sur un réseau conné et enn tests réels) ont permis d'identier les techniques
de mesures les plus ecaces et de valider les algorithmes développés.
169
Conclusion
Dans ce chapitre, nous donnons une rapide synthèse du travail conduit pendant cette
thèse, ainsi qu'un rapide portrait des diérents axes de travaux futurs qu'il semble intéressant de développer lors de travaux ultérieurs dans ce domaine.
9.1
Apport des travaux
Nous avons donc :
Déni deux nouveaux modèles pour la représentation des connaissances du réseau
obtenues par l'injection de tests eectués de bout en bout au travers de celui-ci.
Prouvé que ces modèles permettaient d'instancier un problème bien déni à partir
duquel nous donnons des exemples d'algorithmes de reconstruction
Conçu et développé des techniques de mesures qui ont donné des résultats satisfaisants dans le cadre pratique.
Implémenté un outil permettant la mise en oeuvre et l'utilisation de la chaîne complète modèle/algorithmique de reconstruction/mesure.
Validé nos techniques de mesures et algorithmes dans des cas réels à l'aide de cet
outil.
9.2
Axes de travaux futurs
4
axes principaux se déssinent naturellement pour de futurs travaux :
Le ranement de la modélisation des interactions entre chemins.
L'amélioration des algorithmes de reconstruction.
L'amélioration des techniques de mesure.
Le développement de techniques d'ordonnancement des ux circulant sur les chemins tirant pleinement parti des informations obtenues grâce à nos méthodes de
tomographie multiples sources/multiples destinations.
Ces 4 axes sont développés ci-après.
170
Conclusion
9.2.1 Modélisation
Plusieurs pistes peuvent être explorées lors de travaux futurs sur la modélisation des
interactions. Notons par exemple :
Mieux prendre en compte la variation de la néguentropie en faisant remonter cette
information à l'utilisateur. En eet, une néguentropie forte pour un ensemble de
chemins reètera une dépendance forte des performances des ces ux. A priori, cela
signie que les performances de ces ux ont des liens forts. A contrario, une néguentropie faible peut être dûe au fait que les ux partagent une ressource limitée sur un
segment court. Par exemple, nos expériences ont montré, conformément à la théorie,
que le partage d'un hub 100 Mb/s entre deux ux dont les sources et les destinations
sont proches peut entraîner une perte de capacité, soit, mais que la bande passante
cumulée de ces 2 ux dépasse la capacité nominale de cette ressource. Ceci est dû
au fait qu'un hub 100 Mb/s est déni comme un hub fournissant une capacité de
100Mb/s entre deux chemins de 100m. La présence d'un chemin plus court permet de
faire baisser la probabilité d'une transmission simultanée de deux paquets, et donc
celle d'une perte. Cela signie que la façon même de présenter la métrique comme
une bande passante nécessite une reexion plus poussée.
Donner une vision multi-métrique d'un réseau. Dans notre cas précis, par exemple,
le calcul d'un éventuel partage de bande passante entre ux dépendra non seulement
de la bande passante disponible mais aussi du RTT de chacun des ux. Si l'utilisation d'une simple liste de valeurs des RTT des diérents chemins est possible, il
conviendrait de pouvoir modéliser de manière unique ces deux paramètres en un seul
MINP.
9.2.2 Algorithmique de reconstruction
L'algorithmique de reconstruction est peut être l'axe prioritaire qui devrait guider de
futurs travaux, car la mise en place d'algorithmes hybrides permettrait une popularisation
de ces techniques, de par la réduction du coût qu'ils impliquent. Les diérents point devant
être abordés dans le futur sont donc :
Mettre en place les algorithmes basés sur une connaissance partielle ou totale du
réseau.
Développer des algorithmes plus ns dans le cadre de connnaissances partielles de
celui-ci.
Développer des techniques de mise à jour du MINP basées sur des techniques passives.
171
Conclusion
9.2.3 Techniques de mesures
Les techniques de mesures développés donnent déjà des résultats satisfaisants, et sont
peut être l'axe le moins prioritaire. Néanmoins, divers points restent à envisager :
Il serait intéressant de dénir exactement la sensibilité au choix des paramètres de
la principale technique de mesures développée.
Il serait intéressant d'observer la portabilité de la technique de mesures à d'autres
types de réseaux.
Développer des techniques passives de mesures.
L'outil comporte un système de stockage des MINP déjà déduits pour éviter de
procéder plusieurs fois aux mêmes mesures. Mais il serait utile qu'il soit capable
d'agréger ou au contraire de scinder un MINP en sous-parties pour répondre aux
requêtes d'un utilisateur. De plus, il devrait être en mesure de dénir la durée de vie
des MINP déduits (le temps pendant lequel ils sont valides), pour éventuellement,
à la manière d'un NWS, mener des tests réguliers sur les portions du réseau pour
lesquelles les connaissances stockées ne peuvent plus être considérées comme valides.
L'outil pourrait aussi inclure des fonctionnalités de prédiction des performances.
9.2.4 Optimisation
L'optimisation est l'étape nale permettant l'exploitation des résultats de tomographie.
Si les MINP résultants peuvent permettre de poser l'ordonnancement des ux suivant une
formalisation proche du problème de k-Bi-Partite Scheduling (k-bps, [117]) par exemple,
les informations contenues dans une modélisation MINP des interactions sont plus riches
que celles contenues dans cette modélisation. Il convient donc de formaliser le problème
d'optimisation du temps total de transfert des données de manière spécique au MINP.
On doit donc considérer les points suivants :
Concevoir et mettre en oeuvre des algorithmes permettant de tirer pleinement prot
des informations tirées des représentations du réseau obtenues.
Prendre en compte des facteurs de pondération externes à la problématique réseau.
172
Quatrième partie
ANNEXES
Description d'une plate-forme
XSD
<?xml version="1.0" encoding="iso-8859-1"?>
<xsd:schema xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="1.0">
<xsd:element name="deployment_description" type="deployment_description_Type"/>
<xsd:complexType name="deployment_description_Type">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="flow" type="flow_Type"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="flow_Type">
<xsd:attributeGroup ref="flow_Type_Attr"/>
</xsd:complexType>
<xsd:attributeGroup name="flow_Type_Attr">
<xsd:attribute name="source" type="xsd:string" use="required"/>
<xsd:attribute name="destination" type="xsd:string" use="required"/>
<xsd:attribute name="sourceport" type="xsd:decimal" use="optional"/>
<xsd:attribute name="destport" type="xsd:decimal" use="optional"/>
<xsd:attribute name="bandwidth" type="xsd:decimal" use="optional"/>
<xsd:attribute name="send_data_rate" type="xsd:decimal" use="optional"/>
</xsd:attributeGroup>
</xsd:schema>
Exemple
<deployment_description>
<flow source="localhost" destination="85.69.184.134"/>
<flow source="localhost" destination="134.158.16.130"/>
<flow source="139.124.51.2" destination="139.124.51.3"/>
<flow source="134.158.16.132" destination="134.158.16.130"/>
<flow source="139.124.70.168" destination="139.124.51.2"/>
174
Description d'une plate-forme
<flow source="139.124.70.168" destination="134.158.16.132"/>
<flow source="139.124.70.167" destination="139.124.51.3"/>
<flow source="139.124.70.167" destination="134.158.16.130"/>
</deployment_description>
175
Description d'un MINP
DTD
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Net_Lattices" type="Net_Lattices_Type"/>
<xsd:complexType name="Net_Lattices_Type">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="Net_Lattice"
type="Net_Lattice_Type"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Net_Lattice_Type">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="PrimalFlows"
type="primalFlows_Type" />
<xsd:element minOccurs="0" maxOccurs="1" name="subpaths" type="subpaths_Type" />
</xsd:sequence>
<xsd:attributeGroup ref="net_lattice_Attr"/>
</xsd:complexType>
<xsd:complexType name="primalFlows_Type">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded" name="PrimalFlow"
type="PrimalFlow_Type" />
</xsd:sequence>
<xsd:attributeGroup ref="primalFlows_Attr"/>
</xsd:complexType>
<xsd:complexType name="PrimalFlow_Type">
<xsd:attributeGroup ref="PrimalFlow_Attr"/>
176
Description d'un MINP
<xsd:attributeGroup ref="primalFlowSup_Attr"/>
</xsd:complexType>
<xsd:complexType name="subpaths_Type">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="subpath"
type="subpath_Type" />
</xsd:sequence>
<xsd:attributeGroup ref="subpaths_Attr"/>
</xsd:complexType>
<xsd:complexType name="subpath_Type">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="isASubpathOf"
type="path_Ref_List_Type" />
<xsd:element minOccurs="1" maxOccurs="1" name="containedSubpaths"
type="path_Ref_List_Type" />
</xsd:sequence>
<xsd:attributeGroup ref="PrimalFlow_Attr"/>
</xsd:complexType>
<xsd:complexType name="path_Ref_List_Type">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="path_ref"
type="path_ref_Type" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="path_ref_Type">
<xsd:attributeGroup ref="PrimalFlow_Attr"/>
</xsd:complexType>
<!-- ******************* attribute groups ******************* -->
<xsd:attributeGroup name="subpaths_Attr">
<!--xsd:attribute name="number" type="xsd:int" use="optional"/-->
</xsd:attributeGroup>
<xsd:attributeGroup name="PrimalFlow_Attr">
177
Description d'un MINP
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="capacity" type="xsd:string" use="required"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="primalFlowSup_Attr">
<xsd:attribute name="source" type="xsd:string" use="required"/>
<xsd:attribute name="destination" type="xsd:string" use="required"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="primalFlows_Attr">
<!--xsd:attribute name="number" type="xsd:int" use="optional"/-->
</xsd:attributeGroup>
<xsd:attributeGroup name="net_lattice_Attr">
<xsd:attribute name="name"
type="xsd:string" use="required"/>
</xsd:attributeGroup>
</xsd:schema>
Exemple
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Net_Lattices>
<Net_Lattice>
<PrimalFlows>
<PrimalFlow source="139.124.70.168" destination="139.124.51.2"
name="139.124.70.168-to-139.124.51.2" capacity="8.03184"/>
<PrimalFlow source="139.124.70.167" destination="139.124.51.3"
name="139.124.70.167-to-139.124.51.3" capacity="8.40523"/>
<PrimalFlow source="139.124.70.168" destination="134.158.16.132"
name="139.124.70.168-to-134.158.16.132" capacity="95.6247"/>
<PrimalFlow source="139.124.70.167" destination="134.158.16.130"
name="139.124.70.167-to-134.158.16.130" capacity="95.6322"/>
<PrimalFlow source="134.158.16.132" destination="134.158.16.130"
name="134.158.16.132-to-134.158.16.130" capacity="95.6377"/>
<PrimalFlow source="139.124.51.2" destination="139.124.51.3"
name="139.124.51.2-to-139.124.51.3" capacity="95.6419"/>
178
Description d'un MINP
</PrimalFlows>
<subpaths>
<subpath name="|139.124.70.168-to-139.124.51.2|
139.124.70.167-to-139.124.51.3" capacity="8.03184">
<isASubpathOf>
<path_ref name="139.124.70.168-to-139.124.51.2"
capacity="8.0318400000000007565859050373546779155731201171875"/>
<path_ref name="139.124.70.167-to-139.124.51.3"
capacity="8.405229999999999535020833718590438365936279296875"/>
</isASubpathOf>
<containedSubpaths>
<path_ref name="|139.124.70.168-to-139.124.51.2|
134.158.16.132-to-134.158.16.130|139.124.70.167-to-134.158.16.130|
139.124.70.167-to-139.124.51.3|139.124.70.168-to-134.158.16.132"
capacity="95.6247"/>
</containedSubpaths>
</subpath>
<subpath name="|139.124.70.168-to-139.124.51.2|
134.158.16.132-to-134.158.16.130|139.124.70.167-to-134.158.16.130|
139.124.70.167-to-139.124.51.3|139.124.70.168-to-134.158.16.132"
capacity="95.6247">
<isASubpathOf>
<path_ref name="|139.124.70.168-to-139.124.51.2|
139.124.70.167-to-139.124.51.3" capacity="8.03184"/>
<path_ref name="134.158.16.132-to-134.158.16.130"
capacity="95.637699999999995270627550780773162841796875"/>
<path_ref name="139.124.70.167-to-134.158.16.130"
capacity="95.6321999999999974306774674914777278900146484375"/>
<path_ref name="139.124.70.168-to-134.158.16.132"
capacity="95.6247000000000042518877307884395122528076171875"/>
</isASubpathOf>
<containedSubpaths/>
</subpath>
</subpaths>
</Net_Lattice>
</Net_Lattices>
179
Liste des options d'udpmon modifié
Liste des options d'upmon_bw_mon
-A
-B
-G
-H
-M
-P
-Q
-S
-T
-V
-d
-e
-g
-i
-l
-n
-p
-t
-q
-v
-u
-w
-x
-m
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
<number of packets to receive for remote end to send ACK>
<bin width of remote histo in us>
<number of packets on which to return information>
get remote histograms
<min (low limit) of remote histo in us>
<precidence bits set - in hex - will be shifted left by 9>
<DSCP QoS bits set - in hex >
<size of send and receive socket buffers in bytes>
<tos bits set - in hex - will be shifted left by 1>
print version number
<the destination IP name or IP address a.b.c.d>
<end value of wait time in us>
<gap time to wait between bursts in us>
<increment for wait time in us>
<no. of frames to send>
<no. of bursts to send in Burst Mode>
<length in bytes of mock data packet>
<no. of seconds to run the test - calculates no. of frames to send >
quiet - only print results
turn on debug printout
<raw/udp port no - default 0x3799 ie 14233 decimal>
<wait time in us>
print more info (CPUStats)
Mint Car mode : Will send back arrival time for each packet and save
the result in the given file.
-b = Mint Car mode : maximum 'amplitude' of the signal
-s = Mint Car mode : period of the signal
-f = Mint Car mode : function type (0 : sinus, 1 : square wave, 2 :
saw tooth , 3 : triangle wave
-z = Mint Car mode : if setted, will send packets reflecting function as
a long burst.
180
Liste des options d'udpmon modié
-h = Mint Car mode : heart rate. Only look for the inner 1000's values and
consider the inter burst delay.
Liste des options d'udpmon_resp
-M = Mint Car mode.
181
Glossaire
arc inverse On appelle arc inverse d'un arc lij l'arc lji . 32
arcs propres On appelle arcs propres à un chemin p vis-à-vis d'un ensemble de souschemins P 0 de p les arcs appartenants à p qui n'appartiennent à aucun des éléments
de P 0 . 32
backbone Partie du réseau qui supporte le gros du trac, en utilisant les technologies les
plus rapides et une grande bande passante sur des distances importantes. 3, 41
borne induite par un lien unique Une métrique m possède une borne induite un lien
unique si la capacité de tout chemin est identique à celle d'un unique lien logique de
capacité la plus petite/la plus grande. 51, 52, 96100, 115
bornée Une métrique
m est bornée si la capacité de tout chemin est identique à celle
de son/ses sous-chemin(s) de capacité la plus petite/la plus grande selon la relation
associée à la métrique. 51, 52, 80, 85, 88, 92, 96, 105, 107109
bottleneck Lien limitant la capacité vis à vis d'une métrique des ux circulant sur un
chemin contenant ledit lien. 51, 52
bout en bout Des mesures de bout en bout sont des mesures ne faisant pas appel aux
équipements réseau le long du chemin reliant la source et la destination de la mesure.
5, 7, 19, 29, 32, 34, 41, 54, 57, 58, 69, 134, 144, 170
burst Voir train de paquets. 22, 129131, 133, 134, 140147, 158160, 166
capacité La capacité d'un chemin p suivant la métrique m est notée cpm . 4, 5, 8, 11, 12, 19,
26, 27, 29, 3234, 36, 39, 41, 45, 5054, 6468, 70, 79, 81, 8487, 89, 9199, 101105,
109, 110, 114, 115, 117, 119, 121, 122, 126129, 141143, 161
chemin On note pab le chemin reliant la source a ∈ S et la destination b ∈ R. Celui-ci est
la suite ordonnée pab = (lai , lij , ljk , ..., lqb ) d'arcs lij ∈ E . Chaque arc de cette suite
a pour origine la destination de l'arc le précédant immédiatement (si celui-ci existe).
. 5, 6, 28, 3043, 46, 5058, 6189, 92127, 129131, 133, 135, 140148, 150152,
155157, 159161, 164, 167, 168, 170, 171
chemin inverse On appelle chemin inverse d'un chemin pij = (l1 , ..., ln ) le chemin pji =
(l10 , ..., ln0 ) tel que tout lk0 est l'inverse de l'arc ln−k pour 0 ≤ k ≤ n − 1. 32, 56
consistance Voir consistant. 31, 32, 55, 56, 60, 63, 74, 82, 84, 85, 104
182
Glossaire
consistant Si le routage est consistant, il ne crée pas de chemins qui se rejoignent, se
séparent et se rejoignent encore. 31, 36, 61, 63, 81, 141
constance Une métrique m sera constante par rapport aux mesures si la capacité cpm dé-
duite des mesures est indépendante des chemins utilisés par les tests pour la détecter .
50, 85
constant Voir constance. 20, 33, 53, 64, 68, 69, 129, 132, 137, 138, 159
couvert Voir couverture. 32, 88, 93, 96, 99, 100, 102, 110
couverture Si les chemins de l'ensemble Ps admettent un sous-chemin commun maximum,
les chemins Ps sont couverts par leur sous-chemin commun maximum. On appellera
Ps
l'ensemble Ps la couverture de pmaximum
. 32, 39, 61, 63, 67, 82, 89, 93, 99102, 106,
108112, 128, 157
couverture unique Si un supremum existe pour un ensemble de chemins P 0 , il est unique.
85, 86, 88, 89, 102, 108, 109, 111, 115
cross-trac Trac interférant, dû à d'autres utilisateurs et applications utilisant un réseau partagé. 52
dos à dos Pour une paire de paquets, signie que le délai entre l'emission du dernier bit
du premier message et le premier bit du second message peut être considéré comme
nul. 4244, 117, 118, 120123, 129, 146, 159
détectable La capacité d'un chemin est détectable si il existe un ensemble de chemins
contenant ce chemin qui permet d'exhiber cette capacité par l'injection de tests . 33,
36, 5456, 60, 61, 6466, 6872, 76, 79, 83, 8587, 90, 92, 94100, 102, 104112, 115,
117, 125, 128130, 133, 138, 140, 141, 144, 146148
ux Un ux de données désigne les paquets circulant sur un élément de P suite à un test.
3, 5, 18, 2027, 3033, 37, 3942, 44, 45, 5055, 6668, 70, 72, 7679, 83, 85, 92, 95,
97, 99101, 103, 125128, 130, 132, 133, 140142, 144, 147, 151, 160, 161, 164, 168,
170172
graphe d'interférence Graphe de taille minimale présentant les mêmes interférences que
le graphe réseau réel. 73, 83
grid service Extension des Web Services permettant la gestion d'instances de services,
création et destruction dynamique. 2
high bandwidth-delay Désigne des liens réseau dont le produit de la bande passante et
du délai est important. 11, 21, 24
hybride Algorithme utilisant plusieurs sources d'informations diérentes sur le réseau. 39,
59, 112, 116, 171
183
Glossaire
indétectable Un chemin est indétectable si il n'est pas détectable. 33, 53, 56, 65, 67, 87,
109, 110, 115
inmum Borne inférieure d'un treillis, i.e. noeud couvert par tous les autres noeuds du
treillis. 66, 67, 69, 72, 109, 157, 161
INV-RTT-BOUNDED Modèle de partage de bande passante entre ux. Dans ce modèle, si P est un ensemble de chemins traversé par des ux en régime permanent, et
si pPmaximum est un sous-chemin commun étroit pour lesdits ux, alors la règle suivant
pP
T (pi )
doit être respectée ∀pi ∈ P,bw(fpPi ) = P|P1/RT
×cbwmaximum . 125, 127, 164
|
j=0
1/RT T (pj )
jitter La gigue (jitter) est la mesure de la variation du délai de transmission des paquets
d'une source à une destination donnée. 130, 132, 142
k-détectabilité Voir k-détectable. 54, 70, 76
k-détectable La capacité d'un chemin est k-détectable si il existe un ensemble de chemins
de cardinalité inférieure ou égale à k contenant ce chemin qui permet d'exhiber cette
capacité par l'injection de tests . 70, 76, 87
k-mesure Une k-mesure est une mesure qui s'eectue sur un ensemble de chemins de
cardinalité k, c'est-à-dire en injectant des ux sur ces k chemins. 76, 86, 87
k-test Un k-test permet d'établir une relation k-détectable. . 76, 110
lien étroit Lien limitant la capacité vis à vis d'une métrique des ux circulant sur des
chemins contenant ledit lien. Peut être considéré comme un goulot d'étranglement
possiblement commun à pusieurs ux. 67, 68
mesure Le terme de mesures désigne l'expérience consistant à injecter des ux dans le
réseau dans le but de déterminer certaines de ses propriétés. 5, 7, 15, 22, 2831, 33
46, 54, 55, 57, 58, 61, 63, 64, 68, 69, 7478, 80, 81, 83, 84, 86, 8992, 9496, 98105,
107, 108, 110133, 136, 138, 140142, 146148, 150152, 154, 156166, 168170, 172
middleware Intergiciel. 2
MINP inter-site MINP ne représentant que les interactions entre les chemins reliant des
sites distants sans prendre en compte les éléments de Pe2e susceptibles d'interagir à
l'interieur d'un site. 114
MINP intra-site MINP ne représentant que les interactions entre les chemins et souschemins contenus dans un site donné. 114
MINP partiel MINP ne représentant que les interactions entre un sous ensemble de
chemins de Pe2e généralement tiré de mesures actives. 72, 86, 87, 8992, 111113,
127, 128, 132, 133, 148, 154, 157, 162, 165, 168
184
Glossaire
monotonicité Une métrique est monotone si tout sous-chemin d'un chemin est de capacité
inférieure ou égale (selon la relation associée à la métrique) à la capacité du chemin
complet. 5, 63, 79, 81, 117
monotonicité étendue Considérons l'ensemble
Ps∗ d'ensembles de chemins Ps où chas
cun des Ps admet un sous-chemin commun maximum non nul pPmaximum
. Soit ≤ la
relation d'ordre associée à la métrique m. On peut dénir la motonicité comme m
0
est monotone étendue ⇐⇒ ∀Ps ∈ Ps∗ , ∀Ps tel que Ps ⊆ Ps , alors m(f PPs0
0
m(f PPss
pmaximum
0
). 50, 51, 84, 87
)≤
s
pmaximum
métrique Mesure d'une propriété du réseau souvent notée m. La métrique peut être la
bande passante atteignable en régime permanent par des ux TCP, le délai, etc . 5,
3234, 36, 38, 40, 41, 45, 46, 4954, 60, 61, 6367, 69, 70, 7274, 7680, 82, 84, 85,
8789, 92, 93, 96, 97, 99102, 104, 105, 107, 109, 115, 119, 122124, 171
métrique bornée Une métrique m est bornée si la capacité de tout chemin est identique
à celle de son/ses sous-chemin(s) de capacité la plus petite/la plus grande selon la
relation associée à la métrique. 51, 52, 92, 93, 100, 102
o-line Algorithme dont le déroulement ne dépend pas de l'acquisition du jeu de données.
90, 152, 156, 162
on-line Algorithme dont l'exécution dépend des données déjà acquises. 91, 95, 99, 101,
107
paramètre de sensibilité On appelle paramètre de sensibilité s la valeur minimale qui
peut être déduite des résultats de tests . 33, 36, 38, 60, 61, 64, 79, 86, 89, 105
point de conjonction Point où se rejoignent un ensemble de chemins. 32
point de disjonction Point où se séparent un ensemble de chemins. 32, 79, 81, 118, 120,
123
preuve Synonyme de mesure. 69, 118, 119, 127
propriété de regroupement Soit deux ensembles de chemins P
= Pnoyau ∪{pa }∪Ppivot ,
P = Pnoyau ∪ {pb } ∪ Ppivot , |Pnoyau | ≥ 0. Supposons que P et P 0 et Ppivot possèdent
tous trois un sous-chemin commun. Si {pa , pb } ∪ Ppivot possède un sous-chemin commun, alors P 00 = Pnoyau ∪{pa }∪{pb }∪Ppivot possède un sous-chemin commun unique.
0
85, 86
propriété de regroupement pour les métriques bornées Si la métrique considérée
est bornée, alors on peut pré-ordonner les diérentes intersections de chemin issues
de la propriété de regroupement si celles-ci sont au plus 3-détectables (i.e. 1 ou 2détectables). De plus, 2 sous-chemins communs sur les 3 peuvent être confondus car
ils ont la même capacité, celle du sous-chemin commun à l'ensemble des ux. 85
185
Glossaire
relation d'ordre associée Relation d'ordre associée à une métrique m. 33
sous-chemin Un sous-chemin de
pab est une sous-suite de la suite pab qui respecte luimême la dénition d'un chemin pour une source a0 ∈ S ∪ V et une destination
b0 ∈ V ∪ R. 4, 3234, 5053, 56, 6371, 7580, 83, 8590, 9295, 97, 98, 100112, 114,
117, 120, 121, 123, 124, 126, 128, 129, 134, 141, 143, 146148, 157, 160
sous-chemin commun On appelle sous-chemin commun à un ensemble de chemins Ps
un chemin contenu dans chacun des éléments de Ps . . 32, 33, 36, 38, 40, 51, 62, 66,
67, 71, 72, 76, 78, 79, 8387, 89, 90, 92104, 106108, 110, 111, 114, 115, 117119,
121123, 125, 127131, 135, 138, 140145, 147
sous-chemin commun maximum On appelera sous-chemin commun maximum d'un
ensemble de chemins Ps le sous-chemin commun le plus long de l'ensemble des souschemins communs de Ps . 32, 39, 50, 53, 64, 85, 87, 104, 120
stabilité Voir stable. 27, 55, 60, 63, 72, 74, 82, 84
stable Par stable, nous considérons que les chemins ne changent pas durant la totalité du
processus de mesures. 8, 11, 31, 55, 61, 69, 70, 72
supremum Borne supérieure d'un treillis, i.e. noeud couvrant tous les autres noeuds du
treillis. 66, 72, 84, 87, 88, 92, 108, 157, 161
symétrie La symétrie peut se rapporter soit au routage, soit à la métrique, voir dénition
correspondante. 60, 63, 73, 74, 82, 117
symétrie (métrique) Une métrique est symétrique si la capacité d'un chemin vis-à-vis
de la métrique considérée est constante suivant le sens de parcours de ce lien par les
ux injectés pour le détecter. 53
symétrie (routage) Le routage est symétrique si le chemin allant de n'importe quel hôte
a vers un hôte b est le chemin
inverse de celui allant de b vers a. 56
séparabilité Une métrique m est séparable si pour tout chemin p composé de l'union de
m m
deux sous-chemins disjoints pi et pj , cm
pj = g(cp , cpi ) pour une certaine fonction g on
m m
a : m est séparable ⇐⇒ ∀p = pi ∪ pj , cm
pj = g(cp , cpi ) pour une fonction g . 5, 53,
63, 79, 117
séparabilité étendue Considérons l'ensemble
Ps∗ d'ensembles de chemins Ps où chaPs
cun des Ps admet un sous-chemin commun maximum non nul pmaximum
. Soit les
0
00
0
00
couples d'ensembles Ps , Ps ⊂ Ps tels que Ps ∪ Ps = Ps , et leurs sous-chemins
0
00
s
s
et pPmaximum
. Une métrique m est séparable si il
communs maximums pPmaximum
existe une fonction g telle que m est séparable étendue ⇐⇒ m(fpPPss
) =
00
0
g(m(f
Ps
P
0
s
pmaximum
), m(f
Ps
P
00
s
pmaximum
maximum
))∀Ps , Ps ⊂ Ps tel que Ps ∪ Ps = Ps . 53, 84
0
00
0
00
186
Glossaire
technique de mesure Procédé permettant d'eectuer une mesure. 34, 61, 83, 108, 120,
122124, 129, 133, 146, 158, 164, 165, 172
test Action atomique d'une mesure consistant à établir un ux entre une source et une
destination. 3135, 39, 44, 52, 57, 64, 68, 72, 7577, 8084, 90, 92, 9597, 99, 100, 103,
104, 106, 108, 111, 118, 119, 121126, 130134, 136, 138, 140147, 150154, 160162,
166, 167, 169, 170, 172, 186
tier Centre de stockage de données situé physiquement dans les locaux d'une institution
ou d'un laboratoire membre du projet. 3, 4, 18, 151, 161
topologie Représentation de l'organisation et des caractéristiques du réseau. 26, 8, 11,
14, 19, 20, 2731, 3336, 3842, 45, 46, 49, 50, 5658, 6064, 67, 68, 72, 73, 7581,
83, 84, 86, 89, 94, 95, 98, 99, 102104, 108, 109, 111, 113115, 121, 127, 128, 153
topologie logique La topologie logique G00 (V 00 ∪S ∪R, E 00 ) correspondant à une topologie
physique est un graphe formé à partir de G0 (i.e. la topologie physique). Dans un
premier temps, chaque noeud i de V 0 est remplacé par une paire de noeuds (iin , iout )
reliée par un arc allant de iin à iout ; les arcs entrants de i sont reliés à iin et ses arcs
sortants à iout . Cette première phase permet de faire apparaître un arc pour chacun
des routeurs, switches, etc. déployés. Puis chacun des noeuds internes avec seulement
un parent et un enfant est confondu avec son père. 5, 57, 60, 64, 72, 73, 89
topologie physique La topologie physique interconnectant un ensemble de sources S à
un ensemble de destinations R est un sous-ensemble de G, G0 (V 0 ∪ S ∪ R, E 0 ) tel que
e ∈ E 0 ⇐⇒ ∃p ∈ P tel que e ∈ p et a ∈ V 0 ⇐⇒ ∃p ∈ P tel que lai ∈ p ou lia ∈ p, i
étant un sommet appartenant à V ∪ S ∪ R. 5, 18, 29, 57, 60, 63, 66, 108
traceroute Traceroute est un outil réseau qui permet de suivre le chemin qu'un paquet
de données (paquet IP) va prendre pour aller d'une machine A à une machine B. 5,
58, 77, 108, 109, 112, 126
trac interférant Voir cross-trac. 52, 131, 167
train de paquet Ensemble de paquets envoyé dos à dos, aussi appelés bursts. 44, 120,
121, 129, 159
web service Service éxecutable à distance dont les spécications reposent sur SOAP et
WSDL. 2, 14, 18, 150, 153157, 161
187
Acronymes
∞-MINP Système partiellement ordonné induit par une métrique contenant tous les souschemins communs maximum. Un ∞-MINP (∞ - Metric Induced Network Poset)
est un système partiellement ordonné M m = (N, ) formé à partir de l'ensemble
M axPe2e . N est déni par la relation ∀i ∈ M axPe2e ⇐⇒ i ∈ N , ≺ est déni par la
relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i, les éléments de p ∈ N ne sont pas étiquetés. L'∞-
MINP peut être considéré comme le MINP représentant les sous-chemins communs
de l'ensemble des sous-ensembles de Pe2e , que ces sous-chemins soient détectables ou
non. 7173
ACK ACKnoldegment. 21, 22, 24, 25
ADSL Asymetric Digital Subscriber Line. 54
AIMD Additive Increase Multiplicative Decrease. 21, 23, 24
AQM Active Queue Management. 26
ASP Application Service Provider. 10
BSS Blind Source Separation. 134
BTC Bulk Transfer Capacity. 42, 44
CPU CoProcessing Unit. 2, 1214, 16, 22, 24
DBT Deterministic Binary Tree. 79, 81, 82, 86
ECN Early Congestion Notication. 26
EGEE Enabling Grid for E-sciencE. 35, 7, 1316, 27
FTS File Transfer Service. 18, 20, 34
gLite Lightweight Middleware for Grid Computing. 16, 18
HTTP Hyper Text Transfer Protocol. 22
ICA Independent Component Analysis. 134
ICMP Internet Control Message Protocol. 35, 77
188
Acronymes
k-MINP Système partiellement ordonné induit par une métrique contenant des chemins
au plus k-détectables. Un k-MINP (k - Metric Induced Network Poset) est un système
partiellement ordonné M m = (N, ) formé à partir de l'ensemble M axPe2e . N est
déni par la relation ∀i ∈ M axPe2e , i k-détectable pour la métrique m ⇐⇒ i ∈ N ,
≺ est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i, chaque élément de p ∈ N
est étiqueté par sa capacité cpm . Le MINP peut être considéré comme un k-MINP où
k = |Pe2e |. 7072, 89, 91, 92, 100
LHC Large Hadron Collider. 3, 13
MINP Système partiellement ordonné induit par une métrique. Un MINP (Metric Induced
Network Poset ) est un système partiellement ordonné M m = (N, ) formé à partir
de l'ensemble M axPe2e . N est déni par la relation ∀i ∈ M axPe2e , i détectable pour
la métrique m ⇐⇒ i ∈ N , ≺ est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i,
chaque élément de p ∈ N est étiqueté par sa capacité cpm . 49, 64, 6674, 76, 78, 84,
8693, 96, 100, 102, 105, 107115, 150, 151, 153, 154, 156, 157, 161, 162, 168, 169,
171, 172
MINT Topologie induite par une métrique. 50, 53, 6064, 66, 7274
MINTCAR Metric Induced Network Topology - Construction Analysis and Retrieval.
150
MSMD Multiples sources, multiples destinations. 74
MSMDMINT Topologie induite par une métrique pour de multiples sources et de multiples destinations. 64, 66, 73, 74
MSS Maximum Size Segment. 22
MTU Maximum Transfer Unit. 21, 22, 143, 159
RED Random Early Detection. 26, 125
RTT Intervalle de temps entre l'émission d'un paquet depuis la source et la réception par
la source de l'accusé réception provenant de la destination. 20, 21, 23, 24, 39, 50, 53,
54, 77, 114, 171
SNMP Simple network management protocol. 35
SOAP Simple Object Access Protocol. 2
TCP Transmission Control Protocol. 5, 8, 1927, 33, 3942, 44, 50, 51, 53, 54, 6668, 77,
125, 126, 130, 132134, 156, 163, 164
UDP User Datagram Protocol. 20, 45, 129, 130, 133, 134, 140142, 144, 146, 147, 156,
163, 166
189
Acronymes
VO Virtual Organization. 15, 16
WSRF Web Service Resource Framework. 14, 28
XML eXtensible Markup Language. 2, 7, 153, 154, 157
190
Notations
A Matrice de routage.
B matrice orthogonale de vecteurs propres de E{xxT }.
C Facteur C de l'équation de Mathis.
Cji Coecient binomial des entiers naturels n et k.
D Matrice diagonale contenant les valeurs propres D = diag(d1 , ..., dn ) d'une matrice
donnée.
Do Ensemble des noeuds destinations de chemins ayant pour origine un noeud so .
E Ensemble des liens physiques reliant les noeuds du réseau (E ⊂ V ∪ S × V ∪ R).
E{x} Espérance pour une variable aléatoire x.
G Réseau vu comme un graphe orienté G = (V ∪ S ∪ R, E) où les sommets V sont les
équipements réseau déployés tels que les routeurs, les hub, etc, S l'ensemble des
hôtes sources, R l'ensemble des hôtes destinations, et E les liens physiques les reliant
(E ⊂ V ∪ S × V ∪ R). On notera lij un arc allant d'un noeud i à un noeud j . Un
hôte étant à la fois source et destination sera considéré comme deux hôtes diérents,
l'un source et l'autre destination.
G0 Graphe orienté représentant la topologie physique interconnectant un ensemble de
sources S à un ensemble de destinations R. Sous-ensemble de G, G0 (V 0 ∪ S ∪ R, E 0 )
tel que e ∈ E 0 ⇐⇒ ∃p ∈ P tel que e ∈ p et a ∈ V 0 ⇐⇒ ∃p ∈ P tel que lai ∈ p ou
lia ∈ p, i étant un sommet appartenant à V ∪ S ∪ R.
G00 Topologie logique G00 (V 00 ∪ S ∪ R, E 00 ) correspondant à une topologie physique. Graphe
formé à partir de G0 .
G1 (u) Fonction de contraste classique. Elle permet d'accentuer l'écart entre des variables
"totalement aléatoires" et d'autres. Dénie par G1 (u) = a11 log cosh(a1 u).
G2 (u) Fonction de contraste classique. Elle permet d'accentuer l'écart entre des variables
2
"totalement aléatoires" et d'autres. Dénie par G2 (u) = − exp(− u2 ).
P
H(Y ) Entropie d'une variable aléatoire Y dénie par H(Y ) = − i P (yi ) log P (yi ).
I(Pprobe ) Identication de sous-chemin communs dénie par I(Pprobe ) = (z = 0).
I(y1 , y2 , ..., ym ) Information mutuelle I entre plusieurs variables aléatoires yi ∈ y, i =
P
1 . . . m dénie par I(y1 , y2 , ..., ym ) = m
i=1 H(yi ) − H(y).
191
Notations
Interf (S, R)(pi , pj ) Matrice d'interférence.
J(y) Néguentropie J(y) = H(ygauss ) − H(y).
M m MINP pour la métrique m. Un MINP (Metric Induced Network Poset ) est un système
partiellement ordonné M m = (N, ) formé à partir de l'ensemble M axPe2e . N est
déni par la relation ∀i ∈ M axPe2e , i détectable pour la métrique m ⇐⇒ i ∈ N , ≺
est déni par la relation ∀i, j ∈ N, i ⊂ j ⇐⇒ j ≺ i, chaque élément de p ∈ N est
étiqueté par sa capacité cpm .
M axP Ensemble des sous-chemins communs maximum non nuls admis par au moins un
des sous-ensembles de cardinalité supérieure ou égale à 1 de l'ensemble de chemins
P.
N Elément du MINP pour une métrique m, i.e. M m = (N, ).
P Un ensemble de (sous-)chemins quelconque.
P 0 Dans une partition d'un ensemble P, représente une des parties.
P 00 Dans une partition d'un ensemble P, représente l'autre partie.
source Sous-ensemble de P
Pe2e
e2e dont chacun des éléments à la même racine (source).
Pall L'union de l'ensemble des chemins dénis par la fonction de routage et de l'ensemble
sans répétition de leurs sous-chemins.
Pe2e Ensemble des chemins de bout en bout dénis par la fonction de routage.
Pprobe Usuellement utilisé comme étant l'ensemble des chemins impliqué dans une mesure.
P owerSet(E) Power Set de l'ensemble E .
P rob(A) Probabilité d'un évènement A.
Q Taille d'un jeu de données pour le BTC.
R Ensemble des hôtes destinations.
RT T (pi ) RTT pour un chemin pi .
S Ensemble des hôtes sources.
Sd Site destination.
Ss Site source.
Sheader Taille du header TCP.
Supr(m) Supremum des éléments d'un MINP m.
T (Pi ) Ensemble contenant les résultats de tests injectés simultanément sur chacun des
chemins de Pi ..
Tpi Période pour un test périodique sur un chemin pi .
Ut Unité de temps.
192
Notations
V Ensemble des noeuds internes du réseau, i.e. les équipements réseau déployés tels que
les routeurs, les hub, etc.
W indT CP,t Taille de la fenêtre de congestion d'un ux TCP à un instant t (exprimée en
M SS ).
W indi,t Taille de la fenêtre de congestion (exprimée en M SS ) agrégée des n sockets d'une
transmission parallèle à un instant t.
W indi,t Taille de la fenêtre de congestion d'un ux TCP appartenant à une transmission
parallèle à un instant t (exprimée en M SS ).
X Matrice contenant un ensemble d'éléments Xj = gj (θj ) où gj est une fonction de densité
de probabilité de paramètre θj .
Xt Vecteur de paramètres dépendants du temps inuant sur les mesures, tels que les taux
de pertes, les délais induits par les liens, etc.
Xij Variable aléatoire dénie par les valeurs des mesures disjT ({ps0 i , ps0 j }), c'est-à-dire
{disjt0 ({ps0 i , ps0 j }), . . . , disjt |T |({ps0 i , ps0 j })}.
Y Matrice composée des diérentes mesures (i.e. des vecteur Yt de dimension J ) au cours
du temps.
Yt Vecteur de mesure de la fonction disj(Pprobe ) à un instant t.
Z Ensemble de sous-problèmes Z en prenant chaque paire de lignes de la matrice de
routage A : Z = {s = (i1 , i2 ) : 1 ≤ i1 < i2 ≤ I} où I est la dimension de Y .
∆ Intervalle de temps.
Ω Noeud de jointure supérieur (le supremum) élément de N que nous noterons Ω qui est un
chemin détectable de longueur 0 et qui est lié aux autres éléments de N par la relation
∀i ∈ N
Ω ≺ i. Si l'on considère la métrique de la bande passante atteignable en
régime permanent pour un ux TCP, l'étiquette de ce chemin pourrait être cΩ
m = ∞.
(Pprobe ) Relation n-aire (Pprobe ) dénie par (Pprobe ) = (conj(Pprobe ) ≥ s).
(Pprobe ) La relation n-aire (Pprobe ) (disjonction) dénie par (Pprobe ) = (disj(Pprobe ) ≥
s).
αx Ordre d'arrivée sur le noeud x utilisé lors de l'identication de sous-chemins communs.
αy Ordre d'arrivée sur le noeud y utilisé lors de l'identication de sous-chemins communs.
(Petit) intervalle de temps.
Vecteur de bruit.
mes (pi , pj ) Fonction d'interférence basée sur le partage de bande passante de ux de type
TCP en régime permanent traversant le réseau dénie par mes (pi , pj ) =
≤ Désigne généralement la relation associée à une métrique m.
P
m(fpiprobe )
{p }
m(fpi i )
.
193
Notations
G 0 (p, Psub ) Application qui fait correspondre à chaque chemin p ayant un ensemble de
sous-chemins Psub un nouveau chemin p0 . p0 est obtenu en supprimant tous les arcs
n'appartenant à aucun élément de Psub dans p. On supprime ces sous-chemins en
confondant leurs noeuds de départ et de destination respectifs en un seul et même
point. Cela revient à supprimer tous les liens propres à p vis-à-vis de ses sous-chemins
appartenant à Psub .
G(p, psub ) Application qui fait correspondre à chaque chemin p ayant un sous-chemin psub
un nouveau chemin p0 . p0 est obtenu en supprimant psub dans p. On supprime le
sous-chemin en confondant le noeud de départ de psub et son noeud destination en
un seul et même point.
H0 (Pi , Psub ) Application faisant correspondre à tout ensemble Pi de P un ensemble de
chemins constitué de toutes les images des p ∈ Pi par l'application G 0 (p, Psub ).
H(Pi , psub ) Application faisant correspondre à tout sous-ensemble Pi de P un ensemble de
chemins constitué de toutes les images des p ∈ Pi par l'application G(p, psub ).
I(pi ) Application qui fait correspondre à chaque pi ∈ M axPe2e l'ensemble Ps dont les
éléments sont les ensembles de chemins appartenant à Pe2e admettant pi comme
sous-chemin commun maximum.
F Ensemble des arbres possibles ayant pour source s0 et pour feuilles les éléments de R.
Mk Ensemble de k-MINP partiels issus de mesures.
T ∗ Arbre maximisant la pseudo-vraisemblance.
⊥ Interférence totale dénie par a, b ∈ V, a ⊥ b ⇐⇒ ∀(u, v) ∈ R, pau rl pbv .
Relation de couverture entre les noeuds appartenant à N d'un MINP correspondant à
la relation ⊆ entre les (sous-)chemins de Pe2e .
⊆ Désigne l'inclusion ensembliste.
τi Temps de transmission d'un message de taille q transmis sur une liaison physique élémentaire i.
×(Pprobe ) La relation n-aire × (identication de noeuds) dénie par ×(Pprobe ) = id(Pprobe ) >
0.
b Graphe minimal G
b = (Vb ∪ R ∪ S, E)
b ayant la même matrice d'interférence que le réseau
G
cible.
a, b, c Paramètres du fonctionnement AIMD d'une pile TCP dont dépend le facteur C .
cpm Capacité du chemin p pour une métrique m donnée.
P
conj(Pprobe ) Fonction conjonction conj(Pprobe ) = m(fL probe ), L ⊂ E t.q. l ∈ L ↔ l ∈
p
∀p ∈ Pprobe .
194
Notations
couv(x) Couverture du noeud x, fonction retournant l'ensemble des chemins couverts par
x.
d(pa ) Variable aléatoire représentant l'échantillon de n mesures correspondant à la mesure
de l'intervalle de temps entre le premier et le dernier paquet de chaque burst sur pa .
di Un hôte destination.
di Destination i.
do Désigne une destination unique (pour les méthodes de reconstruction par conjonction
de chemins).
P
disj(Pprobe ) Fonction disjonction dénie par disj(Pprobe ) = m(fL probe ), L ⊂ E t.q. l ∈
L ↔ l ∈ p,
∀p ∈ Pprobe .
fpPijs Flux transmis entre les hôtes i et j le long du chemin pij ∈ Ps lors de tests concomitants
sur l'ensemble des chemins appartenant à Ps .
g({x, ..., y}) Fonction permettant d'avoir la propriété de séparabilité étendue.
g(x, y) Fonction permettant d'avoir la propriété de séparabilité.
gj Fonction de densité de probabilité de paramètre θj .
R
h(y) Entropie diérentielle h(y) = − f (y) log f (y)dy .
id(Pprobe ) Fonction identication.
kurt(y) Kurtosis de y .
l Un lien quelconque.
li Un lien quelconque dans un ensemble, quand sa source et sa destination sont sans im-
portance particulière.
lij Un lien identié par sa source i et sa destination j .
loss Taux de perte.
lossi Taux de perte pour un (sous)-chemin i.
m(fpPij ) Mesure de l'eet de l'injection du ux fpPij vis à vis de la métrique m.
mi message i.
negens Néguentropie de l'ensemble T (Pi ), soit la néguentropie obtenue quand les tests sont
eectués simultanément.
negiso Néguentropie de l'ensemble {T ({p1 }), ..., T ({pi }), ..., T ({pn })}, pi ∈ P correspondant à l'injection de tests sur chacun des chemins de Pi séquentiellement (donc, par
dénition, les tests indépendants).
p Un (sous-)chemin quelconque.
p(y1 , y2 ) Fonction de densité de probabilité conjointe (joint
de y1 et y2 .
probability density function)
195
Notations
pPmaximum Sous-chemin commun maximum de l'ensemble P .
pi rl pj La relation d'interférence
réelle dénie par pi rl pj = ((pi )mes (pj ) ∨ (pj )mes (pi )).
pi Un (sous-)chemin quelconque dans un ensemble, quand sa source et sa destination sont
sans importance particulière.
p∞ Inmum p∞ ajouté à un MINP pour obtenir une structure de treillis complet. Cette
borne inférieure peut être dénie comme l'ensemble E contenant tous les liens ré-
seaux.
pij Un (sous-)chemin identié par sa source i et sa destination j .
q Taille d'un message.
s Paramètre de sensibilité, valeur minimale qui peut être déduite des résultats de tests.
s(pi , t) Taille d'un burst circulant à l'étape t sur le chemin pi lors de mesures basées sur
la néguentropie.
s1 Paramètre de sensibilité pour l'utilisation de l'approximation de la néguentropie.
s2 Paramètre de sensibilité pour l'utilisation de l'approximation de la néguentropie.
si Un hôte source i.
so Désigne un hôte origine.
smoy Taille moyenne des bursts injectés lors de mesures basées sur la néguentropie.
ti Instant i.
uli Taux d'utilisation du lien li .
y1 , y2 Variables aléatoires.
z Ordre d'arrivée statistique z = {αx 6= αy } utilisé lors de l'identication de sous-chemins
communs.
196
Bibliographie
[1] Global grid forum. http ://www.ggf.org.
[2] Datatag project, 2004. http ://datatag.web.cern.ch/datatag/.
[3] Apache tomcat, 2007. http ://tomcat.apache.org/.
[4] Arda project, 2007. http ://lcg.web.cern.ch/LCG/activities/arda/arda.html.
[5] Asian pacic grid, 2007. http ://www.apgrid.org/.
[6] bw-meter, 2007. http ://www.cc.gatech.edu/fac/Constantinos.Dovrolis/bw.html.
[7] Colt project, 2007. http ://dsd.lbl.gov/ hoschek/colt/.
[8] Das 3, 2007. http ://www.cs.vu.nl/das3/index.shtml.
[9] Datagrid project, 2007. http ://eu-datagrid.web.cern.ch/eu
[10] Dirac project, 2007. https ://twiki.cern.ch/twiki/bin/view/LHCb/DiracProject.
[11] Egee ii project, 2007. http ://www.eu-egee.org/.
[12] Egee project, 2007. http ://www.eu-egee.org/.
[13] Fts : File transfer service, 2007. https ://twiki.cern.ch/twiki/bin/view/EGEE/FTS.
[14] Garr consortium, 2007. http ://www.garr.it/garr-b-home-engl.shtml.
[15] Geant website, 2007. http ://www.geant.net/.
[16] glite project, 2007. http ://www.glite.org.
[17] Glue working group, 2007. http ://forge.ogf.org/sf/projects/glue-wg.
[18] Grid
resource
allocation
and
management,
http ://www.globus.org/grid_software/computation/gram.php.
2007.
[19] Infngrid, 2007. http ://grid.infn.it/.
[20] Kepler project, 2007. http ://kepler-project.org/.
[21] Large hadron collider, 2007. http ://public.web.cern.ch/public/Content/
Chapters/AboutCERN/CERNFuture/WhatLHC/WhatLHC-fr.html.
[22] Le batch scheduler bqs, 2007. http ://cc.in2p3.fr/rubrique351.html.
[23] Naregi project, 2007. http ://www.naregi.org/index_e.html.
[24] The network simulator - ns-2, 2007. http ://www.isi.edu/nsnam/ns/.
[25] Openpbs, 2007. http ://www.openpbs.org/.
197
Bibliographie
[26] Otcl language, 2007. http ://bmrc.berkeley.edu/research/cmt/cmtdoc/otcl/.
[27] Pathload, 2007. http ://www.cc.gatech.edu/fac/Constantinos.Dovrolis/pathload.html.
[28] Pathrate, 2007. http ://www.cc.gatech.edu/fac/Constantinos.Dovrolis/pathrate.html.
[29] Projet grid 5000, 2007. http ://www.grid5000.fr.
[30] R-gma :relational grid monitoring architecture, 2007. http ://www.r-gma.org/.
[31] Renater, 2007. http ://www.renater.fr/.
[32] Simgrid project, 2007. http ://simgrid.gforge.inria.fr/.
[33] Starplane project, 2007. http ://www.starplane.org/.
[34] Sun grid engine, 2007. http ://gridengine.sunsource.net/.
[35] Supersinet, 2007. http ://www.sinet.ad.jp/.
[36] Surfnet, 2007. http ://www.surfnet.nl/info/en.
[37] Teragrid project, 2007. http ://www.teragrid.org/.
[38] Udpmon home page, 2007. http ://www.hep.man.ac.uk/u/rich/net/.
[39] Vthd, 2007. http ://www.francetelecom.com/sirius/rd/fr/ddm/fr/
technologies/ddm200404/techche1.php.
[40] Web service resource framework, 2007. http ://www.globus.org/wsrf/.
[41] Webmds, 2007. http ://www.globus.org/toolkit/docs/4.0/info/webmds/.
[42] K. Aida, Y. Futakata, and S. Hara. High-performance parallel and distributed computing for the bmi eigenvalue problem. In IPDPS '02 : Proceedings of the 16th International Parallel and Distributed Processing Symposium, page 177. IEEE Computer
Society, 2002.
[43] B. Allcock and al. The globus striped gridftp framework and server, 2005.
[44] M. Allman, S. Dawkins, D. Glover, J. Griner, D. Tran, T. Henderson, J. Heidemann,
J. Touch, H. Kruse, S. Ostermann, K. Scott, and J. Semke. Ongoing TCP research
related to satellites. RFC 2760, Internet Request For Comments, February 2000.
[45] D. Arier. Network Tomography Based on Flow Level Measurements. PhD thesis,
University of Texas at Austin, USA, 2004.
[46] O. Aumage, L. Bougé, A. Denis, L. Eyraud, J.-F. Méhaut, G. Mercier, R. Namyst,
and L. Prylli. A portable and ecient communication library for high-performance
cluster computing (extended version). Cluster Computing, 5(1) :4354, Jan. 2002.
Special Issue : Selected Papers from the IEEE Cluster 2000 Conference.
[47] H. Balakrishnan, V. N. Padmanabhan, S. Seshan, M. Stemm, and R. H. Katz. TCP
behavior of a busy internet server : Analysis and improvements. In INFOCOM (1),
pages 252262, 1998.
198
Bibliographie
[48] S. D. Ben. Ieee journal on selected areas in communications, vol. 22, no. 1, january
2004 1 tapestry : A resilient global-scale overlay for service deployment.
[49] A. Bestavros, J. Byers, and K. Harfoush. Inference and labeling of metric-induced
network topologies. Technical Report BUCS-TR-2001-010, Boston University, Computer Science Department, June 2001.
[50] A. Bestavros, J. W. Byers, and K. Harfoush. Inference and labeling of metric-induced
network topologies. IEEE Trans. Parallel Distrib. Syst., 16(11) :10531065, 2005.
[51] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss. Rfc 2475- an
architecture for dierentiated services, 1998.
[52] T. Bu, N. Dueld, F. Presti, and D. Towsley. Network tomography on general
topologies. UMass CMPSCI Technique Report.
[53] H. Bullot, R. L. Cottrell, and R. Hughes-Jones. Evaluation of advanced tcp stacks
on fast long distance production networks. J. Grid Comput., 1 :345359, 2003.
[54] K. Butler, P. McDaniel, and W. Aiello. Optimizing bgp security by exploiting path
stability. In CCS '06 : Proceedings of the 13th ACM conference on Computer and
communications security, pages 298310, New York, NY, USA, 2006. ACM Press.
[55] A. R. Butt, R. Zhang, and Y. C. Hu. A self-organizing ock of Condors. 2003.
[56] J. W. Byers. Inference and labeling of metric-induced network topologies. IEEE
Trans. Parallel Distrib. Syst., 16(11) :10531065, 2005. Member-Azer Bestavros and
Member-Khaled A. Harfoush.
[57] H. Casanova and L. Marchal. A network model for simulation of grid application.
Research Report RR-2002-40, LIP, ENS Lyon, France, Oct. 2002. Also available as
INRIA Research Report RR-4596.
[58] R. Castro, M. Coates, G. Liang, R. Nowak, and B. Yu. Network tomography : Recent
developments. Statistical Science, 19, no. 3 :499517, 2004.
[59] R. Castro and R. Nowak. Likelihood based hierarchical clustering and network topology identication. 2683/2003 :113129, 2003.
[60] M. Coates, R. Castro, R. Nowak, M. Gadhiok, R. King, and Y. Tsang. Maximum
likelihood network topology identication from edge-based unicast measurements.
SIGMETRICS Perform. Eval. Rev., 30(1) :1120, 2002.
[61] R. Cohen, D. Dolev, S. Havlin, T. Kalisky, O. Mokryn, and Y. Shavitt. On the
tomography of networks and multicast trees. Physical Review, E 74, 2006.
[62] R. L. Cottrell and C. Logg. Overview of iepm-bw bandwidth testing of bulk data
transfer. Contributed to 15th Annual SC Conference on High Performance Networking and Computing : From Terabytes to Insights (SC 2002), Baltimore, Maryland,
16-22 Nov 2002.
199
Bibliographie
[63] B. Donnet, T. Friedman, and M. Crovella. Improved algorithms for network topology
discovery. In C. Dovrolis, editor, PAM, volume 3431 of Lecture Notes in Computer
Science, pages 149162. Springer, 2005.
[64] C. Dovrolis, P. Ramanathan, and D. Moore. What do packet dispersion techniques
measure ? In INFOCOM, pages 905914, 2001.
[65] C. Dovrolis, P. Ramanathan, and D. Moore. Packet-dispersion techniques and a
capacity-estimation methodology. IEEE/ACM Trans. Netw., 12(6) :963977, 2004.
[66] N. G. Dueld, F. L. Presti, V. Paxson, and D. F. Towsley. Inferring link loss using
striped unicast probes. In INFOCOM, pages 915923, 2001.
[67] L. Eyraud-Dubois, A. Legrand, M. Quinson, and F. Vivien. A rst step towards
automatically building network representations. In In 13th International European
Conference on Parallel and Distributed Computing - Euro-Par 2007, volume 4641 of
Lecture Notes in Computer Science, pages 848857, 2007.
[68] W.-c. Feng et al. Optimizing 10-gigabit ethernet for networks of workstations, clusters, and grids : A case study. Presented at Supercomputing 2003 (SC 2003) : Igniting
Innovation, Phoenix, Arizona, 15-21 Nov 2003.
[69] S. Floyd. Network working group request for comments : 3649 icsi category : Experimental december 2003 highspeed tcp for large congestion windows.
[70] M. Fomenkov, K. C. Clay, B. Huaker, and D. Moore. Macroscopic internet topology and performance measurements from the dns root name servers. In LISA, pages
231240. USENIX, 2001.
[71] I. Foster, C. Kesselman, J. Nick, and S. Tuecke. The physiology of the grid : An
open grid services architecture for distributed systems integration, june 2002. Open
Grid Service Infrastructure WG, Global Grid Forum.
[72] I. Foster, C. Kesselman, and S. Tuecke. The anatomy of the Grid : Enabling scalable
virtual organizations. Lecture Notes in Computer Science, 2150 :125, 2001.
[73] F. Georgatos and al. Providing active measurements as a regular service for isps.
In PAM, 2001. See also the RIPE NCC TTM service : http ://www.ripe.net/testtrac/.
[74] I. K. Guido Appenzeller and N. McKeown. Sizing router buers. In ACM SIGCOMM
2004, August 2004.
[75] T. Hacker, B. Noble, and B. Athey. Improving throughput and maintaining fairness
using parallel tcp, 2004.
[76] T. J. Hacker, B. D. Athey, and B. Noble. The end-to-end performance eects of
parallel tcp sockets on a lossy wide-area network. In IPDPS '02 : Proceedings of the
200
Bibliographie
16th International Parallel and Distributed Processing Symposium, page 314. IEEE
Computer Society, 2002.
[77] J. Hadamard. Lectures on cauchy's problem in linear partial dierential equations,
1923. Yale University Press.
[78] C. Hedrick. Rfc 1058 - routing information protocol, 1998.
[79] B. Huaker, D. Plummer, D. Moore, and K. Clay. Topology discovery by active
probing. In Symposium on Applications and the Internet, 2002. See also the skitter
project : http ://www.caida.org/tools/measurement/skitter/.
[80] A. Hyvärinen. New approximations of dierential entropy for independent component
analysis and projection pursuit. In Advances in Neural Information Processing Systems, volume 10, pages 273279. MIT Press, 1998.
[81] A. Hyvärinen, J. Karhunen, and E. Oja. Independent Component Analysis. John
Wiley and Sons, 2001.
[82] M. Jain and C. Dovrolis. Pathload : a measurement tool for end-to-end available
bandwidth. In PAM02 : Passive and Active Measurements (PAM) workshop, mars
2002.
[83] M. Jain and C. Dovrolis. End-to-end available bandwidth : measurement methodology, dynamics, and relation with tcp throughput. IEEE/ACM Trans. Netw.,
11(4) :537549, 2003.
[84] C. Jutten and J. Herault. Blind separation of sources, part 1 : an adaptive algorithm
based on neuromimetic architecture. Signal Process., 24(1) :110, 1991.
[85] A. Kamra, V. Misra, and D. Towsley. Achieving high throughput in low multiplexed,
high bandwidth, high delay environments. In First International Workshop on Protocols for Fast Long-Distance Networks, February 2003.
[86] N. T. Karonis, B. Toonen, and I. Foster. Mpich-g2 : A grid-enabled implementation
of the message passing interface. In Journal of Parallel and Distributed Computing
(JPDC), volume 63, pages 551563, may 2003.
[87] J. B. Keller. Inverse problems. Amer. Math. Monthly, 83 :107118, 1976.
[88] T. Kelly. Scalable tcp : Improving performance in highspeed wide area networks. In
Computer Communication Review, volume 32, April 2003.
[89] J. B. Khaled Harfoush, Azer Bestavros. Measuring bottleneck bandwidth of targeted
path. Research report, 2001.
[90] G. Kola. Proling grid data transfer protocols and servers. In Euro-Par, August
2004.
201
Bibliographie
[91] K. Krauter, R. Buyya, and M. Maheswaran. A taxonomy and survey of grid resource
management systems for distributed computing. Software, Practice and Experience,
32(2) :135164, 2002.
[92] S. Kullback. Information Theory and Statistics. dover reprint, 2001.
[93] A. Kuzmanovic, E. W. Knightly, and R. L. Cottrell. Hstcp-lp : A protocol for low
priority bulk data transfer in high speed high-rtt networks. Research Report SLACPUB-10456.
[94] S. Lacour, C. Perez, and T. Priol. Generic application description model : Toward
automatic deployment of applications on computational grids. In GRID '05 : Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing, pages
284287, Washington, DC, USA, 2005. IEEE Computer Society.
[95] J. Lee, D. Gunter, B. Tierney, B. Allcock, J. Bester, J. Bresnahan, and S. Tuecke.
Applied techniques for high bandwidth data transfers across wide area networks,
2001.
[96] A. Legrand, F. Mazoit, and M. Quinson. An application-level network mapper.
Technical Report 2002-09, LIP, feb 2002.
[97] C. Logg, L. Cottrell, and J. Navratil. Experiences in traceroute and available bandwidth change analysis. Presented at SIGCOMM 2004 Workshops, Portland, Oregon,
30 Aug - 3 Sep 2004.
[98] D. M. Lopez-Pacheco and C. Pham. Performance of tcp (new reno, westwood), hstcp
and xcp in high-speed, highly variable-bandwidth environments. In Proceedings of
IEEE 3rd International Conference on Network Protocols (ICNP'04), Berlin, Germany, Oct. 2004. Student Poster Session.
[99] B. B. Lowekamp, N. Miller, R. Karrer, T. Gross, and P. Steenkiste. Design, implementation, and evaluation of the Remos network monitoring system. Journal of Grid
Computing, 1(1) :7593, 2003.
[100] S. Machiraju, D. Veitch, F. Baccelli, and J. Bolot. Adding denition to active probing.
SIGCOMM Comput. Commun. Rev., 37(2) :1728, 2007.
[101] M. Mathis, J. Semke, and J. Mahdavi. The macroscopic behavior of the TCP congestion avoidance algorithm. Computer Communications Review, 27(3), 1997.
[102] B.-H. B. J. McGregor, A. The nlanr network analysis infrastructure. IEEE Communications Magazine 38.
[103] J. Moy. Rfc 2328 - ospf version 2, 1998.
[104] V. Padmanabhan and L. Qiu. Network tomography using passive end-to-end measurements. DIMACS Workshop on Internet and WWW Measurement, Mapping and
Modeling, Piscataway, NJ, USA, February 2002.
202
Bibliographie
[105] A. J. Peters, P. Saiz, and P. Buncic. AliEnFS - a Linux File System for the AliEn
Grid Services. ArXiv Computer Science e-prints, pages 6071+, June 2003.
[106] M. Quinson. Découverte automatique des caractéristiques et capacités d'une plateforme de calcul distribué. PhD thesis, École normale supérieure de Lyon, Dec. 2003.
[107] M. Rabbat, R. D. Nowak, and M. Coates. Multiple source, multiple destination
network tomography. In INFOCOM, 2004.
[108] M. Ripeanu, I. Foster, and A. Iamnitchi. Mapping the gnutella network : Properties
of large-scale peer-to-peer systems and implications for system design. IEEE Internet
Computing Journal, 6(1), 2002.
[109] S. Seshan, M. Stemm, and R. H. Katz. SPAND : Shared passive network performance
discovery. In USENIX Symposium on Internet Technologies and Systems, 1997.
[110] S.Floyd. Rfc 3742 - limited slow-start for tcp with large congestion windows, 2004.
[111] SLAC. Network monitoring tools. http ://www.slac.stanford.edu/xorg/nmtf/nmtftools.html.
[112] E. S. Suviseshamuthu. Generating linear combination of spectral images with mutually exclusive specic information. PhD thesis, Université de la Méditerranée, 2007.
[113] Y. Tsang, M. C. Yildiz, P. Barford, and R. D. Nowak. Network radar : tomography
from round trip time measurements. In Internet Measurement Conference, pages
175180, 2004.
[114] P. Valtchev, D. Grosser, C. Roume, and M. R. Hacene. Galicia : An open platform for
lattices. In Using Conceptual Structures : Contributions to the 11th Intl. Conference
on Conceptual Structures (ICCS'03), pages 241254.
[115] S. Vazhkudai, J. Schopf, and I. Foster. Predicting the performance of wide area
data transfers. In Proceedings of the 16th Int'l Parallel and Distributed Processing
Symposium (IPDPS 2002)., 2002.
[116] P. Vicat-Blanc Primet, P. d'Anfray, C. Blanchet, L. Bobelin, O. Boudeville, F. Chanussot, V. Cung, Y. Denneulin, A. Djerrah, M. Drabik, Y. Jegou, P. Hyunh, N. Lacorne, D. Lacoste, B. Le Cun, L. Lefevre, D. Mateo, R. Metery, Y. Meurdesoif, J.-C.
Mignot, A. Pajot, C. Pham, R. Revire, G. Romier, and I. Touche. Réexions et
propositions pour une grille haute performance. Technical report, Scientic Report
of RNTL e-Toile Project, 2003. http ://www.urec.cnrs.fr/etoile/RS-etoile.pdf.
[117] F. Wagner. Redistribution de données à travers un réseau à haut débit. PhD thesis,
Université Henri Poincaré, Nancy, 2005.
[118] W. Wei, B. Wang, D. Towsley, and J. Kurose. Model-based identication of dominant
congested links. In IMC '03 : Proceedings of the 3rd ACM SIGCOMM conference on
Internet measurement, pages 115128, New York, NY, USA, 2003. ACM.
203
Bibliographie
[119] R. Wolski. Forecasting network performance to support dynamic scheduling using
the network weather service. In HPDC, pages 316325, 1997.
[120] R. Wolski, N. T. Spring, and J. Hayes. The network weather service : a distributed resource performance forecasting service for metacomputing. Future Generation
Computer Systems, 15(56) :757768, 1999.
[121] Y.Vardi. Network tomography : estimating source-destination trac intensities from
link data. Journal of the American Statistical Association, 91 :365377, 1996.
[122] M. Zangrilli and B. B. Lowekamp. Using passive traces of application trac in a
network monitoring system. In Proceedings of the Thirteenth IEEE International
Symposium on High Performance Distributed Computing (HPDC 13), pages 7786.
IEEE, June 2004.
204
Summary
Multiple sources, multiple destinations Metric Induced Network
Topology discovery for High Performances Grid
Nowadays grids connect up to thousands communicating resources that may interact in
a partially or totally coordinated way. Consequently, applications running upon this kind
of platform often involve massively concurrent bulk data transfers. In order to optimize
overall completion times, those transfers have to be scheduled based on knowledge about
network performances and topology.
Identifying and inferring performances of a network topology is a classic problem. Achieving this by using only end-to-end measurements at the application level is a method known
as network tomography. When topology reects capacities of sets of links with respect to a
metric, the model used to represent the topology obtained is called a Metric-Induced Network Topology (MINT). Such a type of representation, obtained using statistical methods,
has been widely used in order to represent performances of client/server communication
protocols.
However, it is no longer accurate when dealing with grids. In this thesis, we introduce
a novel representation of the infered knowledge from multiple source and multiple destination measurements, algorithms in order to reconstruct such representations, methods to
probe network in order to obtain an initial set of data from which we can reconstruct such
topology. We also describe the tool we have designed an implemented in order to achieve
these goals and experiences we have made in order to validate our methods and algorithms.
Key words : network tomography, grid, EGEE.
Academic discipline : Computer Sciences.
Laboratory : BT, 200 rue Pierre Duhem BP 389 13799 Aix-en-Provence Cedex 3 France
| CPPM - Centre de Physique des Particules de Marseille 163 avenue de Luminy - case 902
- 13288 Marseille Cedex 09 France | SPC - Systemes Parallèles Communicants Université
de la Mediterranée, Parc Scientique de Luminy, ESIL - F-13288 Marseille Cedex France.
Résumé
Tomographie depuis plusieurs sources vers de multiples destinations dans
les réseaux de grilles informatiques hautes performances
Identier et déduire les performances et la topologie d'un réseau est une problématique
classique. Résoudre ce problème en utilisant uniquement des tests de niveau applicatif,
une méthode appelée tomographie réseau, a été souvent proposé pour déterminer les performances du réseau d'un point de vue client/serveur. Quand la déduction de topologie
est basée sur les valeurs d'une métrique, on parle de Metric Induced Network Topology
(MINT).
Les grilles actuelles peuvent connecter des milliers de ressources communicantes qui
peuvent interagir de manière partiellement ou totalement coordonnée lors d'échanges de
données massifs. De fait, ces communications impliquent de façon concomitante plusieurs
sources et plusieurs destinations, rendant caduc le modèle client/serveur.
Dans cette thèse, j'introduis de nouvelles représentations de la connaissance du réseau
obtenues au cas d'un paradigme de communication comprenant de multiples sources et de
multiples destinations, des algorithmes pour reconstruire de telles représentations à partir
d'un jeu de données initial, ainsi que des méthodes pour obtenir à partir de mesures de
bout en bout ce jeu de données.
Je décris aussi l'outil M.I.N.T.C.A.R. que j'ai conçu et développé pendant cette thèse
pour implémenter l'ensemble de ces algorithmes et méthodes ainsi que les expériences menées pour valider ces méthodes et algorithmes.
Mots clefs : tomographie, réseau, grille, EGEE.
Discipline : Informatique.
Laboratoire : BT, 200 rue Pierre Duhem BP 389 13799 Aix-en-Provence Cedex 3 France
| CPPM - Centre de Physique des Particules de Marseille 163 avenue de Luminy - case 902
- 13288 Marseille Cedex 09 France | SPC - Systemes Parallèles Communicants Université
de la Mediterranée, Parc Scientique de Luminy, ESIL - F-13288 Marseille Cedex France.