Doctorat ParisTech. TELECOM ParisTech. Équilibrage de charge et répartition de ressources. dans les grands systèmes distribués

Dimension: px
Commencer à balayer dès la page:

Download "Doctorat ParisTech. TELECOM ParisTech. Équilibrage de charge et répartition de ressources. dans les grands systèmes distribués"

Transcription

1 2013-ENST-0092 EDITE - ED 130 Doctorat ParisTech T H È S E pour obtenir le grade de docteur délivré par TELECOM ParisTech Spécialité «Informatique et Réseaux» présentée et soutenue publiquement par Mathieu LECONTE le 18 décembre 2013 Équilibrage de charge et répartition de ressources dans les grands systèmes distribués Directeur de thèse : Laurent MASSOULIÉ Co-encadrement de la thèse : Marc LELARGE Jury M. Laurent Massoulié, Directeur du centre MSR - INRIA, Palaiseau Directeur de Thèse M. Marc LELARGE, Chargé de Recherche, ENS - INRIA Rocquencourt Co-encadrant de Thèse M. David GAMARNIK, Professeur, MIT, Cambridge, USA Rapporteur M. James ROBERTS, Chercheur Senior, IRT SystemX, Palaiseau Rapporteur M. François BACCELLI, Professeur, University of Texas, Austin, USA Examinateur Mme. Nidhi HEGDE, Chercheuse, Technicolor, Paris Examinatrice M. Alain JEAN-MARIE, Directeur de Recherche, LIRMM - INRIA Sophia-Antipolis Examinateur M. Florent KRZAKALA, Professeur, Université Paris VI et ENS Examinateur TELECOM ParisTech École de l Institut Mines-Télécom - membre de ParisTech 46 rue Barrault Paris - (+33) T H È S E

2 1 Remerciements Mes premiers remerciements vont naturellement à mes directeurs de thèse, Marc Lelarge et Laurent Massoulié, pour leurs conseils et les échanges fructueux que j ai eus avec eux durant ma thèse. Je remercie chaleureusement Marc pour sa gentillesse, sa patience et sa disponibilité, et bien sûr pour les nombreux sujets de recherche auxquels il m a exposé. Je suis également très reconnaissant envers Laurent pour sa vision des problèmes scientifiques actuels, qu il est toujours prêt à partager, ainsi que pour sa patience et sa sympathie. Merci à vous deux également pour la liberté très formatrice que vous m avez accordée dans la conduite de ma recherche. I wish to thank James Roberts and David Gamarnik for their careful review of this thesis and their detailed comments, and for the discussions that followed. Je suis également reconnaissant envers François Baccelli, Florent Krzakala, Alain Jean-Marie et Nidhi Hegde pour avoir accepté de faire partie de mon jury, et envers Laurent Viennot et Laurent Decreusefond pour avoir constitué mon jury de miparcours. I am also thankful to R. Srikant, Jian Ni, Xinzhou Wu, Cyril Measson and the Qualcomm team where I interned for a few month. It is the excellent atmosphere and fascinating work there that finally decided me to do a PhD. Je suis très heureux d avoir pu travailler au sein de deux équipes excellentes et chaleureuses, l équipe DYOGENE (anciennement TREC) de l INRIA et le laboratoire de Technicolor Paris, et je tiens à exprimer ma gratitude envers François Baccelli et Christophe Diot pour m y avoir accueilli. Pour la bonne ambiance qu ils savent y faire règner, merci aux membres permanents de ces deux équipes: Ana, Anne, Bartek, Hélène, Marc, et Pierre pour DYOGENE; et Augustin, Fabio, Henrik, Jaideep, Joris, Laurent, Martin, Nidhi, Pascal, Pieter et Theodoros pour Technicolor. Bien évidemment, je remercie tous les doctorants, post-doctorants et stagiaires qui se sont succédés au fil des années et avec qui j ai pu partager un bout de chemin: Abir, Aleksander, Anastasios, Bruno, Calvin, Chandra, Emilie, Frédéric, Florence, Furcy, Hamed, Justin, Kumar, Lucas, Miodrag, Nadir, Omid, Paul, Rémi, Rui, Stéphane, Thibaut, Thomas, Tien et Yogesh pour DYOGENE; et Anna Kaisa, Abderrahmen, Dan-Cristian, Fernando, Giuseppe, Italo, Lou, Lucas, Marianna, Simon, Stéphane, Stratis et Valentina pour Technicolor. Merci également à Florence Besnard, Nicole Buatu, Isabelle Delais, Joëlle Isnard et Hélène Milome pour m avoir assisté dans les démarches administratives. Pour finir, je remercie mes amis et ma famille, et tout particulièrement Lise, pour leur soutien précieux pendant ces années et tout ce qu ils m apportent au quotidien.

3 2 Résumé En informatique, on a un problème d équilibrage de charge lorsque différentes tâches ont besoin d accéder à un ensemble de ressources, de capacités limitées et ne convenant qu à certaines tâches. On peut représenter ce type de problèmes par un graphe biparti avec des contraintes de capacité aux sommets et aux arêtes; une association de tâches et de ressources correspond à un appariement avec capacités de ce graphe. En utilisant la méthode de la cavité, nous déterminerons les performances optimales d un tel système en calculant la taille maximum des appariements avec capacités de grand graphes aléatoires. Nous regarderons plus particulièrement deux applications: un système de hashage à choix multiples (dit cuckoo hashing) dans lequel on veut insérer des objets dans un tableau afin de pouvoir les récupérer facilement ensuite. Pour chaque objet, une étape de hashage pré-détermine plusieurs cellules qui seules pourront contenir cet objet. Nous calculerons le seuil sur le nombre d objets par rapport à la taille du tableau en-dessous duquel tous les objets peuvent être insérer avec succès dans un grand système. un réseau de distribution de contenus (CDN) distribué, dans lequel une multitude de petits serveurs assurent le stockage et le service des contenus. L objectif est de maximiser le nombre de requêtes absorbées par ce système. Il faut à la fois décider de comment répliquer les contenus sur les serveurs et de comment associer les requêtes aux serveurs. Nous étudierons deux méthodes d association: une optimale et une aléatoire. Pour chacune, nous caractériserons les performances des politiques de réplication et identifierons des politiques optimales dans la limite de grandes capacités de stockage. Dans le cas d une méthode d association aléatoire, nous proposerons également des algorithme adaptatifs atteignant la réplication optimale.

4 3 Abstract In computer science, a load-balancing problem occurs when tasks must be distributed among resources with limited capacity and only suitable for some subset of the tasks. We represent such problems using a bipartite random graph with capacity constraints at vertices and edges, and an assignment of tasks to resources corresponds to a capacitated matching of this graph. Using the cavity method from statistical physics, we determine the optimal performance of the system by computing the maximum size of capacitated matchings in large random graphs. We then turn to two particular applications of this general problem: a multiple-choice hashing system (or cuckoo hashing), where one wants to efficiently store items in an array so that they can be quickly retrieved later. Each item is mapped to multiple array cells through a hashing step, and can then only be stored in those pre-assigned cells. We compute the threshold on the number of items relative to the size of the array, so that all items are successfully handled in a large system. a distributed content delivery network (CDN) with a multitude of servers to handle storage and service of the contents. The objective is to maximize the overall fraction of requests handled by the system. We need to decide both which contents to store on the servers and how to match incoming requests to suitable servers. We study two particular matching algorithms: an optimal one and a random greedy one. In both cases, we obtain the performance of fixed replication policies and determine the limit of optimal replications when storage capacity grows. For random greedy matching, we also propose adaptive schemes attaining the optimal replication.

5 4

6 Contents 1 Introduction en français Quelques notions de théorie des graphes Problèmes d équilibrage de charge Introduction à la méthode de la cavité Aperçu des résultats Introduction Notions of graph theory Load-balancing problems Introduction to the cavity method Overview of the results Maximum capacitated matching via the cavity method Introduction Asymptotic size of maximum capacitated matchings Main proof elements Structural properties of local operators Finite graphs Limit of large graphs Exactness in finite bipartite graphs Cuckoo hashing thresholds Introduction Cuckoo hashing threshold and hypergraph orientability An analysis of double hashing Load-balancing and resource-placement in distributed CDNs Introduction Edge-assisted CDN model and statistical assumptions Related models and replication strategies Performance under optimal matching Performance under random greedy matching Adaptive replication schemes to minimize losses

7 6 CONTENTS

8 Chapter 1 Introduction en français Cette thèse porte principalement sur l équilibrage de charge dans de grands graphes aléatoires. En informatique, un problème d équilibrage de charge survient lorsque différentes tâches ont besoin d accéder à un même ensemble de points de ressources. Il faut alors décider quelles ressources spécifiques seront allouées à quelles tâches. Suivant le contexte, les notions de tâche et de ressource peuvent avoir différentes interprétations. Afin de prendre des exemples concrets, on se concentrera sur deux applications en particulier: un système de hachage à choix multiples (plus précisément, le cuckoo hashing ). L objectif est ici d allouer des cellules d un tableau à des objets, afin de pouvoir ensuite vérifier facilement la présence d un objet et récupérer les données associées. Les tâches sont liées aux objets à stocker, et les ressources sont les cellules du tableau. un réseau de distribution de contenu distribué (ou CDN pour content delivery network ), au sens où les contenus peuvent être stockés sur une multitude de petits serveurs aux capacités individuelles très limitées. Ici, les tâches sont des demandes de téléchargement (ou requêtes) pour un contenu et les ressources sont liées aux serveurs et à la façon dont leurs espaces de stockage sont utilisés. Le problème d équilibrage de charge consiste à décider quel serveur va servir quelle requête. Les contraintes locales portant sur chaque ressource (en quelle quantité est-elle disponible et pour quelles tâches est-elle convenable?) ainsi que la charge de travail associée avec chaque tâche peuvent être représentées efficacement sur un graphe biparti, avec des contraintes de capacité sur ses sommets et ses arêtes. De plus, en pratique, les systèmes considérés sont souvent de très grande taille (avec parfois des milliers de tâches et de points de ressources différents) et relativement aléatoires (que ce soit par choix ou une conséquence de leur grande taille). Une modélisation à l aide de grands graphes aléatoires est donc souvent pertinente. Ce document est organisé de la manière suivante: dans le reste de l introduction, nous rappellerons des notions classiques de théorie des graphes, notamment la notion de convergence locale faible de graphes et des modèles classiques de graphes aléatoires. Nous expliquerons ensuite comment les deux examples décrits plus haut le 7

9 8 CHAPTER 1. INTRODUCTION EN FRANÇAIS cuckoo hashing et les CDNs distribués peuvent tous deux être vus de manière abstraite comme des cas particuliers d un problème d équilibrage de charge général, qui fait intervenir des appariements généralisés (que l on appelle des appariements avec capacité) dans un graphe biparti décrivant les contraintes associées à une instance particulière du problème. Les performances dans de grands systèmes aléatoires peuvent alors se calculer en faisant intervenir la notion de convergence locale faible des graphes de contraintes associés. Ensuite, nous donnerons une courte introduction à la méthode de la cavité, sur laquelle repose une grande partie des travaux présentés. Pour terminer l introduction, nous présenterons un résumé des résultats obtenus dans cette thèse. Dans le Chapitre 3, nous montrerons, à l aide de la notion de convergence locale faible, comment utiliser rigoureusement la méthode de la cavité pour calculer l asymptotique de la taille maximum des appariements avec capacité de grands graphes aléatoires. Le Chapitre 4 est consacré au calcul des seuils de charge du cuckoo hashing, en-dessous desquels cette méthode permet de construire des tables de hachage valides. Nous montrerons également que cette approche peut permettre d étudier des modèles proches du modèle classique en nécéssitant relativement peu de travail supplémentaire. Pour finir, le Chapitre 5 concerne l équilibrage de charge et la répartition de ressources dans les CDNs distribués. 1.1 Quelques notions de théorie des graphes Dans cette section, nous rappellons les notions de théorie des graphes qui seront utiles dans ce document, en particulier la notion de convergence locale faible de graphes ainsi que des modèles standards de graphes aléatoires. D autres notions et notations seront introduite dans le document lorsqu elles seront nécéssaires Terminologie de théorie des graphes Un graphe G (simple, non-dirigé) consiste en un ensemble V potentiellement infini de sommets et en un ensemble E d arêtes, dont chacune relie deux sommets distincts de V ; si l arête e E relie les sommets u et v, on écrit e = uv ou encore e v. Le voisinage d un sommet v V dans le graphe G est l ensemble des autres sommets qui sont reliés à v par une arête dans E, i.e., N(v) = {u V : uv E}, et la cardinalité de N(v) s appelle le degré de v. L ensemble des arêtes adjacentes à un sommet v V est dénoté par v = {e E : e = uv for some u V}. Si les degrés de tous les sommets dans V sont finis, alors on dit que le graphe G est localement fini. Si l ensemble V lui-même est fini, alors on dit que G est fini. Un chemin (simple) de longueurk degentre deux sommetsuetv est une suite de k+1 sommets distincts, commençant en u et terminant en v et dont chaque sommet est voisin du sommet suivant. S il existe un chemin (de longueur quelconque) entre deux sommets, alors on dit que ces sommets sont connectés. Si toutes les pairs de

10 1.1. QUELQUES NOTIONS DE THÉORIE DES GRAPHES 9 sommets de V sont connectées, alors le graphe G lui-même est connecté. De la même manière que N(v) est l ensemble des sommets connectés à v par un chemin de longueur 1, on dénote par N(v) k l ensemble des sommets (v exclu) connectés à v par un chemin de longueur au plus k, pour k 2. Un cycle simple d un graphe est un chemin de longueur k > 2 commençant et terminant au même sommet et visitant au plus une fois chaque autre sommet du graphe. Un graphe connecté ne comportant pas de cycles s appelle est arbre. Un graphe biparti G = (L R,E) est un graphe dans lequel l ensemble V peut être partitionné en deux ensembles disjoint L et R tels que toutes les arêtes de E relient un sommet de L et un sommet de R, i.e., pour tous les e E il existe l L et r R tels que e = lr. On peut également associé une marque à chaque élément du graphe (sommet ou arête). Dans notre contexte, les marques seront la plupart du temps des entiers et représenteront des contraintes de capacités associées aux éléments correspondants; nous les appellerons donc souvent directement des capacités. On dénote par b = (b v ) v V l ensemble des capacités des sommets v V, et par c = (c e ) e E l ensemble des capacités des arêtes e E. On écrira simplement G = (V,E), en omettant les marques quand il n y pas de confusion possible. Un appariement avec capacités [97] x N E du graphe G = (V,E) est un vecteur d entiers dont chaque coordonnée est associée à une arête de E et tel que la coordonnée de x associée avec une arête n excède pas la capacité de cette arête, i.e., x e c e pour tout e E; la somme des coordonnées de x sur les arêtes adjacentes à un sommet n excède pas la capacité de ce sommet, i.e., e v x e b v pour tout v V. Si les contraintes de capacité sont toutes égales à 1, i.e., b 1 et c 1, alors un appariement avec capacités de G est simplement appelé un appariement de G. On dénote par M G l ensemble des appariements avec capacités de G. La taille x d un appariement avec capacités x M G est la somme de ses coordonnées, i.e., x = e E x e, et la taille maximum des appariements avec capacités de G est dénotée par M(G). Nous appliquerons les règles de notation suivantes: pour faire référence à un sous-ensemble des coordonnées d un vecteur, tel que (x v ) v S où S V, on utilisera la notation x S. Ainsi, par exemple, les contraintes au niveau des sommets d un appariement avec capacités x peuvent être écrites x v b v, v V. En guise d exemple, la Figure 1.1 montre un graphe biparti avec capacités G = (L R,E) sur la gauche, avec les capacités des sommets écrites dans les sommets et les capacités des arêtes toutes égales à 2 (afin d éviter d avoir trop de chiffres sur le dessin), et un appariement avec capacités x M G de ce même graphe sur la droite: la valeurx e d une arêteeest indiquée par un chiffre en rouge au niveau de l extrémité gauche de l arête et elle peut également être visualisée de par l épaisseur et la couleur des traits (des lignes noires en pointillés pour les arêtes e qui ne sont pas utilisées par l appariement avec capacités, i.e., x e = 0; des lignes rouges pour les arêtes utilisées, avec une épaisseur plus importante si x e est plus grand). L appariement avec capacités représenté ici a une taille x = 11 et on peut vérifier que la taille maximum des appariements avec capacités de ce graphe est M(G) = 12, alors que la somme des capacités des sommets vaut 13 de chaque côté L et R.

11 10 CHAPTER 1. INTRODUCTION EN FRANÇAIS Figure 1.1: Exemple de graphe et d un de ses appariements avec capacités. Dans cette thèse, on consiérera principalement de grands graphes aléatoires, dont les tailles des deux parties L = n and R = m tendent vers l infini ensemble, i.e., tels que n τm pour un certain τ > 0 fixé, alors que le nombre d arête reste de l ordre de grandeur du nombre de sommets, i.e., E = Θ( V ): c est ce que l on appelle le régime dilué. On utilisera l expression avec grande probabilité pour indiquer qu une probabilité en question tend vers 1 quand m,n. Dans ce régime, les graphes qui vont nous intéresser convergent dans un sens que nous expliquons dans la Section Convergence locale faible La notion de convergence locale faible d une suite de graphes a été introduite par Benjamini et Schramm [15] pour étudier des marches aléatoires sur des graphes planaires. Ce cadre a ensuite été formalisé par Aldous et Steele dans [5] et par Aldous et Lyons dans [4]. Parmi les travaux récents sur le sujet, on peut citer [19, 23, 22]. Une première étape est d introduire la notion de convergence locale de graphes enracinés. Un graphe enraciné (G, v) est constitué d un graphe G et d un sommet particulier v de G que l on appelle la racine. Un isomorphisme de graphes enracinés est un isomorphisme de graphe qui envoie la racine de l un vers celle de l autre, i.e., une bijection de l ensemble des sommets d un graphe vers ceux d un autre telle que la racine et les arêtes (et leurs marques) sont préservés. On dénote par [G,v] la classe d isomorphisme de (G,v) et par G l ensemble des classes d isomorphisme de graphes localement finis enracinés. Pour tout k N, on dénote par (G,v) k le sousgraphe enraciné obtenu à partir de (G,v) en ne gardant que les sommets à distance au plus k de la racine v, et on écrit [G,v] k = [(G,v) k ] pour sa classe d isomorphisme. On peut transformer G en un espace métrique complet séparable (i.e., un espace polonais) en définissant la métrique suivante: la distance entre [G,v] et [G,v ] est 1/(1+δ), où δ est le supremum des k N tels que [G,v] k = [G,v ] k. Alors, une suite de graphes enracinés ((G n,v n )) n N converge localement vers (G,v) dans G si la

12 1.1. QUELQUES NOTIONS DE THÉORIE DES GRAPHES 11 distance entre (G n,v n ) et (G,v) tend vers 0 quand n. De manière équivalente, (G n,v n ) n (G,v) locally k N, n k tel que, n n k, [G n,v n ] k = [G,v] k. À ce stade, on rappelle qu une suite de mesures de probabilité (ρ n ) n N dans un certain espace métrique S converge faiblement vers une mesure de probabilité ρ, ce que l on dénote par ρ n ρ, si pour toute fonction bornée continue f : S R, fdρn converge vers fdρ. Comme G est un espace polonais, on peut le munir de sa tribu borélienne (e.g., [16]) et considérer l espace métrique complet séparable des mesures de probabilité sur G, que l on dénote par P(G ). La définition de la convergence faible s applique alors aux mesures de probabilités dans P(G ). De plus, étant donné un graphe fini G, il y a une façon naturelle de former une mesure de probabilité sur G : soit U(G) la distribution sur G obtenue en choisissant comme racine un sommet de G uniformément au hasard. Alors, on dit que la suite de graphes finis (G n ) n N converge localement faiblement vers la mesure ρ sur G quand la suite de distributions (U(G n )) n N converge faiblement vers ρ. Toute mesure ρ qui est la limite d une suite de graphes finis dans le sens vu audessus a la propriété qu elle est unimodulaire [5], ce que l on va maintenant définir. De la même manière que l on a défini l espace G, on définit l espace G des classes d isomorphisme de graphes localement finis avec une paire de sommets particuliers, ainsi que la topologie associée. On dit queρest unimodulaire si elle vérifie le Principe de Transport de Masse: pour toute fonction borélienne f : G [0, ], on a f(g,o,v)dρ([g,o]) = f(g,v,o)dρ([g,o]). v V On dénote par U l ensemble des mesures de probabilité boréliennes et unimodulaires surg. Pourρ U, on écritb(ρ) pour l espérance selonρde la contrainte de capacité de la racine Quelques modèles classiques de graphes aléatoires Dans cette section, on introduit le graphe aléatoire d Erdős-Rényi, qui est probablement le plus simple des modèles de graphes aléatoires, ainsi que certains modèles plus compliqués que nous utiliserons tout au long de la thèse. Nous utiliserons souvent la notation associée à une variable aléatoire pour faire en fait référence à sa distribution quand l interprétation à donner est clair d après le contexte, cela afin d éviter d introduire une notation supplémentaire pour la distribution elle-même. Le graphe aléatoire d Erdős-Rényi et l arbre aléatoire de Poisson-Galton- Watson Le graphe aléatoire d Erdős-Rényi est le plus simple et le plus étudié des modèles de graphes aléatoires. Il existe deux versions du modèle, qui furent introduite par Gilbert [54] et Erdős et Rényi [40]. Pour un ensemble de n sommets et p [0,1], on obtient un graphe aléatoire d Erdős-Rényi en incluant indépendamment avec probabilité p chaque arête parmi les ( n 2) possibles. Ainsi, pris individuellement, chaque v V

13 12 CHAPTER 1. INTRODUCTION EN FRANÇAIS sommet a un degré donné par une variable aléatoire binomiale Bin(n 1, p). Comme on s intéresse au régime dilué, on se concentre principalement sur p = p(n) λ/n quand n, pour un certain λ R + fixé. Alors, une suite de graphes aléatoires d Erdős-Rényi ( G(n,λ/n) ) de tailles croissantes admet presque sûrement une n N limite locale faible dans P(G ). Cette limite faible est la distribution de Poisson- Galton-Watson (Poisson-GW) GW(Poi(λ)), qui est concentrée sur les arbres avec espérance du nombre d enfants λ. Cette distribution fut introduite en 1873 par Galton pour étudier les arbres généalogique [110]. On peut obtenir un échantillon d arbre Poisson-GW à l aide d un processus de branchement de la manière suivante: la racine o a un nombre d enfants X donné par une variable aléatoire de Poisson de moyenne λ, i.e., P(X = k) = P(Poi(λ) = k) = λk k! e λ. Ensuite, chacun de ces enfants a également un nombre d enfants égal à Poi(λ) de manière indépendante, et ainsi de suite. L arbre enraciné obtenu de cette manière est presque sûrement localement fini. Pour une étude détaillée des processus de branchements et des graphes aléatoires, on peut se référer à [9, 107]. Une preuve détaillée de la convergence locale faible presque sûre des graphes aléatoires d Erdős- Rényi peut être trouvée dans [6, 18, 61]. Graphes aléatoires avec une distribution de degrés prescrite Le modèle d Erdős-Rényi ne dispose que d un seul paramètre que l on puisse ajuster, le degré moyen. Afin de mieux rendre compte des graphes rencontrés dans la vie réelle, il est utile d être capable de prendre en compte davantage de leurs caractéristiques et de les incorporer dans un modèle de graphes aléatoires. Le modèle dit de configuration (introduit par Gallager [48] et précisé par Bender et Canfield [14], Bollobás [17] et Wormald [115]) fait un pas dans cette direction en permettant de spécifier la distribution des degrés des n sommets du graphe. Étant donnée une distribution de degrés Φ P(N) de moyenne finie, on tire tout d abord de Φ les degrés d v pour tous les sommets v V. En partant d un graphe vide, avec ensemble de sommets V et aucune arête, on ajoute ensuite des arêtes en reliant les sommets deux à deux successivement, indépendemment et uniformément au hasard, d une manière cohérente avec la collection de degrés d = (d 1,...,d n ). Cette procédure produit quelques boucles et arêtes multiples, ce que l on peut corriger afin d obtenir soit directement un graphe aléatoire simple G(n, d) uniforme parmi les graphes avec la collection de degrés prescrite d [75] soit un graphe aléatoire simple avec une collection de degrés empirique d qui converge vers Φ quand n [26]. Dans tous les cas, une suite de tels graphes aléatoires ( G(n,d) ) (or ( G(n, d) ) ) de tailles n N n N croissantes admet presque sûrement une limite locale faible GW(Φ) P(G ), qui est la distribution de Galton-Watson unimodulaire avec distribution de degrés Φ (on peut se référer à l Exemple 1.1 de [4], et à [39] pour des preuves détaillées de la convergence). La procédure pour échantillonner un arbre unimodulaire de GW est très similaire à celle expliquée précédemment dans le cas particulier des arbres de Poisson-GW: la racine o a un nombre d enfants tiré selon Φ; cependant, tous ses descendants ont des nombres d enfants X tirés indépendamment selon la loi biaisée

14 1.2. PROBLÈMES D ÉQUILIBRAGE DE CHARGE 13 Φ P(N) donnée par: P(X = k) = Φ k = (k +1)Φ k+1 i N iφ. i Pour les applications considérées dans cette thèse, on rencontrera souvent un modèle similaire pour des graphes aléatoires bipartis G = (L R,E), dans lesquels les distributions de degrés (et de contraintes) sont différentes pour les deux parties du graphe: étant données deux distributions Φ L et Φ R pour les lois jointes pour L et pour R du degré d un sommet, de sa contrainte de capacité, et des contraintes de capacité des arêtes adjacentes, on peut échantillonner deux collections (d l,b l,c l ) l L et (d r,b r,c r ) r R spécifiant ces quantités pour chaque sommet du graphe. Dès lors que ces deux collections vérifient quelques conditions simples (la somme des degrés doit être la même dans L et dans R, et le nombre d arêtes avec une capacité donnée doit être le même vu de L et de R), on peut générer un graphe aléatoire biparti uniforme (on peut se référer à [29, 51] pour plus de détails sur ce cas biparti). Une suite de tels graphes aléatoires (G n ) n N de tailles croissantes, enracinés à un sommet de L aléatoire, et avec L n = n et R n 1 n pour un certain τ > 0 fixé, converge τ presque sûrement vers une limite locale faible dans P(G ). Cette fois, la limite locale faiblegw(φ L,Φ R ) est une distribution de Galton-Watson unimodulaire à deux étapes avec des loisφ L etφ R, et on peut obtenir un échantillon de cette distribution de manière très similaire à ce qui a été vu précédemment: les paramètres de la racine o sont tirés selon Φ L, ceux de ces descendants des générations paires et impaires sont tirés tous indépédemment selon des distributions biaisées Φ L et Φ R respectivement, conditionellement à la capacité de l arête qui relie chaque sommet à son parent. On pourra trouver plus de détail sur ce modèle dans le Chapitre 3. Dans la prochaine section, on explique plus en détail quelles sont les deux applications considérées dans cette thèse. 1.2 Problèmes d équilibrage de charge L équilibrage de charge est le fait de répartir des tâches vers différentes ressources afin d éviter que certaines ressources ne soient surchargées alors que d autres sont sous-utilisées. Cette problématique est devenue très populaire en particulier avec l émergence du calcul distribué, pour lequel utiliser de manière égale tous les processeurs disponibles permet de traiter le plus rapidement un ensemble de tâches données. Cependant, même dans un scénario simple, avec deux processeurs identiques et un grand nombre n de tâches avec des durées d exécution connues, trouver la répartition optimale des tâches vers les processeurs est un problème NP-complet, comme le montre Karp [63]. De plus, de nos jours, de nombreuses applications internet sont prises en charge par des fermes de serveurs contenant parfois des milliers de machines. Ainsi, dans beaucoup de cas, le nombre de ressources disponibles est très important. Dans cette situation, avec un très grand nombre de tâches et de ressources, les capacités de coordination du système deviennent un facteur limitant, et il est alors souvent plus important de trouver une solution simple et relativement efficace ce pour quoi des mécanismes aléatoires sont souvent utiles que de trouver

15 14 CHAPTER 1. INTRODUCTION EN FRANÇAIS une solution optimale déterministe, dont la complexité et les besoins en communication seront prohibitifs. Dans cette thèse, nous nous intéressons principalement à deux exemples d équilibrage de charge qui partagent une même abstraction: les performances dans les deux cas sont caractérisées par la taille d un appariement avec capacités dans un graphe aléatoire biaprti qui décrit les contraintes du système. Cette section introduit de manière plus formelle ces deux problèmes d équilibrage de charge et les questions principales que nous tenterons de résoudre dans chacun des cas. À chaque fois, nous mettrons en avant le lien avec les appariements avec capacités ainsi que les modèles de graphes aléatoires pertinents Hashage à choix multiples et cuckoo hashing Une table de hashage est une structure de données qui vise à stocker des objets dans un tableau de manière à pouvoir ensuite récupérer les objets de manière efficace. Le principe de base est que chaque objet (ou un descripteur associé, que l on appelle une clé) est hashé vers l index d une cellule du tableau (que l on appelle également une valeur). Cependant, parmi l ensemble des objets possibles, seul un petit nombre est présent à chaque instant, et il est alors avantageux de dimensionner le tableau en fonction de ce petit nombre d objets présents plutôt que du nombre énorme d objets possibles. L intérêt de l étape de hashage est alors qu elle permet d associer plusieurs objets au même index de cellule, avec l espoir que seul l un d entre eux sera présent à la fois; dans le cas contraire, une collision se produirait et il faudrait alors trouver un moyen de la résoudre. Les méthodes de hashage à choix multiple et la méthode du cuckoo hashing sont un moyen de résoudre de telles collisions. Le paradigme utilisé est le suivant: on considère n objets et m cellules. Dans le scénario le plus basique, on veut associer exactement une cellule à chaque objet et on veut éviter toute collision en d associant qu au plus un seul objet par cellule. Dans des versions plus complexes, on aura besoin de stocker plusieurs copies de chaque objet, et chaque cellule pourra contenir plusieurs objets à la fois, avec en plus des contraintes sur le nombre maximum de fois qu une même paire (objet,cellule) peut être utilisée. Les indicateurs de performance de ce système sont la taille de la table de hashage (i.e., le nombre de cellule du tableau) nécessaire pour stocker un certain nombre d objets, et le temps nécessaire pour insérer un nouvel objet ou récupérer un objet. La méthode de hashage à choix multiples peremt de garantir un temps constant pour récupérer un objet, et ne nécéssite qu une table de hashage de taille m proportionnelle à n avec grande probabilité. Cette stratégie consiste à prédéfinir un ensemble de d 2 cellules pour chaque objet, que l on n aura alors le droit d insérer que dans l une de ces cellules. Bien sûr, suivant les choix de ces cellules prédéfinies pour chaque objet, il sera peut-être impossible d insérer en même temps dans le tableau certains ensembles d objets, et il est possible qu il soit très long de trouver comment insérer un nouvel objet. Le premier de ces deux problèmes devient très improbable si la table de hashage contient un nombre de cellules suffisant par rapport au nombre d objets présents; de nombreux travaux cherchent d ailleurs à calculer exactement la taille de table de hashage nécessaire pour cela. En ce qui concerne le deuxième problème, la méthode du cuckoo hashing a été proposée

16 1.2. PROBLÈMES D ÉQUILIBRAGE DE CHARGE 15 Figure 1.2: Deux réalisations de graphe de hashage, la première permettant la construction d une table de hashage valide et la seconde non. par Pagh et Rodler [89] et constitue un moyen simple et aléatoire de chercher une nouvelle association valide d objets et de cellules à l arrivée d un nouvel objet: quand un nouvel objet arrive, on vérifie tout d abord si l une des cellules qui lui sont préassociées est libre, et si c est le cas il suffit d insérer l objet dans l une d elles; dans le cas contraire, on choisit au hasard l une de ces cellules pré-associées au nouvel objet et on l y insère en expulsant l objet qui y était précédemment stocké. On utilise alors la même procédure pour l objet qui vient d être expulsé (en le traitant donc exactement comme un nouvel objet). Le lecteur intéressé peut se référer à l état de l art effectué par Mitzenmacher [81] en 2009 et qui évoque de nombreuses questions ouvertes sur le sujet à cette époque. Formellement, une réalisation du problème de hashage peut être décrite par un graphe biparti G = (L R,E), que l on appelle le graphe de hashage et dans lequel L est l ensemble des n objets et R est l ensemble des m cellules. Les arêtes adjacentes à un objet l L indiquent les d cellules pré-associées à cet objet et dans lesquelles il peut être inséré. Pour représenter les versions plus complexes du problème de hashage que l on a mentionnées précédemment et dans lesquelles on doit stocker h copies de chaque objet et chaque cellule peut contenir au plus k objets à la fois, on ajoute respectivement des contraintes de capacité b L h au niveau des sommets de L (les objets) et b R k au niveau des sommets de R (les cellules); de la même manière, si l on a une contrainte s sur le nombre maximum de fois qu une même paire (objet,cellule) peut être utilisée, on peut en tenir compte en ajoutant des contraintes de capacité c s au niveau des arêtes du graphe. Remarquons que le nombre minimum de copies h pour chaque objet est modélisé ici par une contrainte de capacité b L dans le graphe de contraintes; cela sera nécessaire pour établir un lien entre la faisabilité d une instance du problème de hashage et la taille maximum des appariements avec capacités dans le graphe de hashage correspondant. Afin

17 16 CHAPTER 1. INTRODUCTION EN FRANÇAIS d illustrer ce scénario de hashage, la Figure 1.2 montre deux exemples de graphes de hashage, dans lesquels les objets sont représentés à gauche et les cellules à droite. Tous les paramètres ont les mêmes valeurs dans les deux réalisations, i.e., les degrés d = 3 sont identiques pour les objets, chaque objet doit être sotckéh = 4 fois, chaque cellule peut stocker k = 3 objets et chaque paire (objet,cellule) peut être utilisée au plus deux fois. On peut constater que les deux graphes représentés ne diffèrent que par une seule arête (celle entre les sommets centraux de chaque côté dans la figure de droite) et cependant il est impossible de construire une table de hashage valide à partir du graphe de hashage de gauche alors que l on a mis en évidence une telle table de hashage valide dans celui de droite (en utilisant les mêmes notations que pour les appariements avec capacités dans la Figure 1.1). Un graphe G fixé ne représente qu un choix particulier pour les cellules prédéfinies pour chaque objets. En théorie, ces cellules prédéfinies sont choisies à l aide de d fonctions de hashage indépendantes pour chaque objet, et l on suppose que l on s assure que chaque objet a bien d cellules pré-associées distinctes. Cette procédure donne pour chaque objet un ensemble de cellules pré-associées qui est un sousensemble de taille d choisi uniformément au hasard parmi tous ceux de l ensemble des cellules et qui est indépendant de ceux des autres objets. Alors, le graphe de hashage G n,m est en fait un graphe aléatoire biparti avec un degré constant d pour les sommets de L et Poi(dn/m) pour ceux de R. Comme décrit dans la Section 1.1.3, le graphe de hashage G n,m converge presque sûrement localement faiblement vers un arbre de Galton-Watson unimodulaire à deux étapes quand la taille du système tend vers l infini avec n τm. Dans ce cadre, la question principale que l on tente de résoudre concerne la taille de table de hashage nécessaire pour stocker n objets choisis au hasard. On a déjà mentionné que le nombre de cellules m requis est proportionnel à n avec grande probabilité. Le problème est alors de calculer précisément le seuil de proportionnalité τ = τ d,h,k,s tel que, si n = τm avec τ < τ, dans la limite où m,n la méthode de cuckoo hashing permettra de construire une table de hashage valide avec grande probabilité. Avant de passer à la prochaine application, nous allons tenter de donner un peu d intuition sur pourquoi cette méthode de hashage fonctionne bien. Le cuckoo hashing (et plus généralement les méthodes de hashage à choix multiples) repose sur un principe appelé le pouvoir de deux choix: oublions pour le moment la contrainte que chaque cellule a une capacité de stockage limitée et supposons que l on veut lancer les n objets comme si c était des balles dans les m cellules (avecm = n pour simplifier encore davantage) avec l objectif de minimiser le nombre maximum d objet dans une même cellule. La manière de procéder distribuée la plus simple est de jeter les objets totalement au hasard dans les cellules. Cela donne que chaque cellule contient en logn loglogn espérance un objet, et la cellule la plus chargée contient approximativement objets avec grande probabilité [55]. Cependant, il existe un autre moyen distribué très simple qui permet d obtenir une amélioration d ordre exponentiel par rapport à cette méthode basique, à la seule condition que l on jette les objets les uns après les autres: pour chaque objet, on choisit d 2 cellules au hasard et on jette l objet dans la cellule la moins remplie parmi les d. Cette méthode permet d obtenir une charge maximale de loglogn + Θ(1) objets avec grande probabilité, comme l on mon- log d

18 1.2. PROBLÈMES D ÉQUILIBRAGE DE CHARGE 17 tré Azar, Broder, Karlin et Upfal [10], et ce résultat est connu en tant que pouvoir de (au moins) deux choix (on peut se référer à [83] pour état de l art des méthodes utilisées pour montrer ce type de résultats et les applications qui en découlent). À haut niveau, dans le contexte du hashage, le terme loglogn qui croit très lentement avec n nous indique que des cellules avec une capacité fixée ne seront que rarement surchargées, et dans ce cas la méthode du cuckoo hashing entrera en jeu pour essayer de ré-arrenger les objets pour obtenir une table de hashage valide. La prochaine section concerne les réseaux de distributions de contenus distribués. Pour plus d explications sur le hashage, le lecteur peut aller voir au chapitre correspondant de cette thèse (Chapitre 4) Réseaux de distribution de contenus distribués D après Cisco [31], la quantité de trafic multimedia dont une grande partie est constitué de contenus vidéo transporté chaque mois par Internet est de nos jours est de l ordre des exaoctets (10 18 ) et est en rapide augmentation. La majeur partie de ce trafic est pris en charge par des réseaux dediés appelés des réseaux de distributions de contenus (CDNs, pour content distribution networks). Une architecture centralisées pour distribuer les contenus ne semble pas être une solution viable sur le long terme, car de nombreux contenus ont de fortes contraintes de délai qui nécessiteraient des quantités de bande passante très importante pour pouvoir être respectées dans le cadre d un service fourni depuis une grande ferme de serveurs située dans le cœur du réseau vers des utilisateurs finaux au bord du réseau. Par conséquent, la plupart des grands CDNs ont plutôt adopté une architecture distribuée, en profitant des coûts relativement bas de l espace mémoire pour déployer de nombreux serveurs et de plus petites fermes de serveurs au sein de plusieurs réseaux (on peut se référer à [37] pour une description des nombreux défis associés avec la nature distribuée de cette architecture et rencontrés par le CDN Akamai). Ce mouvement vers un stockage distribué des contenus est également visible au travers de l approche des réseaux dite centrée sur les contenus, qui a été initiée par [88] et qui repose sur la prise de conscience que plus de 90% du trafic Internet est lié à la dissémination de contenus et que le stockage distribué peut apporter d énormes gains dans ce contexte. Ce point de vue préconise qu un Fournisseur d Accès Internet (FAI) crée un réseau de caches en disséminant de petits points de stockage dans son réseau e.g., en les attachant aux routeurs, ce qui permet ensuite de stocker les contenus lorsqu ils sont acheminés vers les utilisateurs finaux afin qu ils puissent ensuite être récupérés dans des points de stockage plus proches si le même contenu est à nouveau demandé dans le voisinage. On remarque que cette approche requière la coopération des FAI pour déployer un CDN distribué, ce qui n est pas forcément acquis si l entité qui veut déployer le CDN et le FAI sont distinctes. Par ailleurs, il n est pas encore clair à l heure actuelle comment un tel réseau de caches doit être organisé pour fonctionner de la manière la plus efficace. Un autre point de vue sur ce problème consiste à regarder ce qui se fait dans les systèmes pair-à-pair (P2P pour peer-to-peer), qui sont devenu incroyablement populaires pour l échange de fichiers par Internet depuis que Napster a été crée en 1999 et avec BitTorrent représentant maintenant plus de ce trafic. L avantage de ce type de systèmes est

19 18 CHAPTER 1. INTRODUCTION EN FRANÇAIS leur grande capacité à passer à l échelle et leur faible coût, du fait que les utilisateurs qui veulent bénéficier du service doivent également participer et servir de ressource au système. Cependant, de tels systèmes ont des difficultés à fournir des garanties en terme de qualité de service, en particulier pour les contenus ayant des contraintes de délai fortes tels que la Vidéo-à-la-demande (VoD pour video-on-demande) par exemple, du fait que les utilisateurs du systèmes ont un comportement incontrôlé et imprévisible (on peut toutefois noter que certains systèmes de P2P ont essayé de fournir ce type de service, e.g., PPLive). Afin de servir à grande échelle des contenus avec des contraintes de délai fortes, il est assez tentant d essayer de combiner les deux approches mentionnées au-dessus, en ayant une (petite) ferme de serveurs assistée par de nombreux appareils déployés directement chez les utilisateurs finaux, e.g., des set-top boxes ou des triple-play gateways (e.g., comme proposé dans NaDa [106] et dans le People s CDN). En effet, le fait d utiliser des ressources (espace de stockage et bande passante) déjà présentes au bord du réseau offre un potentiel de viabilité et de passage à l échelle important et permet d atteindre une réduction des coûts du service et de meilleures performances de base, alors que la présence d une ferme de serveurs centrale fournit des garanties de qualité de service. On appelle un tel système hybride, constitué d une ferme de serveurs centrale assistée par de nombreux appareils (que l on appelle des serveurs) situés au bord du réseau, un CDN distribué. Il est important d insister sur le fait que dans ce modèle les serveurs ont des capacités très limitées, ce qui fait que de nombreux appareils de faible coût et déjà présents peuvent remplir ce rôle. Dans un CDN distribué, comme les petits serveurs ont principalement pour rôle de réduire le coût de fonctionnement du système, il est intuitif que l on voudrait les solliciter le plus souvent possible et ne diriger des requêtes vers la ferme de serveurs qu en dernier recours. Pour cette raison, il est utile de se concentrer sur la partie du système consitutée des petits serveurs et d en analyser séparément les performances, afin de comprendre ensuite les performances globales du système et d en déduire l organisation à adopter. Comme on s intéresse ici à des contenus ayant des contraintes de délai fortes (dans le cadre par exemple d un système de streaming vidéo), on ne peut pas se permettre de mettre des requêtes en attente même si aucun serveur n est disponible quand elles arrivent. En conséquence, de tels requêtes doivent être dirigées vers la ferme de serveurs et on peut les considérer comme ayant été perdues pour les petits serveurs. Il est donc raisonable d adopter un modèle de réseau à pertes ([64]) pour le sous-système constitué des petits serveurs, par opposition aux modèles dit de files d attente, dans lesquels des questions similaires ont déjà été considérées par exemple dans [7]. Le but de l analyse du système constitué des petits serveurs est de permettre ensuite de dimensionner de manière adéquate la ferme de serveurs afin d atteindre un objectif donné au niveau des performances globales du système. On pourrait d ailleurs imaginer que cette ferme de serveurs n est pas détenue directement par l entité qui déploierait le CDN distribué, mais serait simplement prise en charge par un service de cloud, ce qui permettrait notamment d adapter en temps réel la quantité de service requise de ce service de cloud afin de satisfaire la demande immédiate. L efficacité du système constitué des petits serveurs dépend de manière critique de deux facteurs principaux:

20 1.2. PROBLÈMES D ÉQUILIBRAGE DE CHARGE 19 Figure 1.3: Graphe contenus-serveurs, ainsi qu un exemple appariement. la façon dont les contenus sont répliqués au sein des serveurs, ce qui revient en grande partie à déterminer combien de copies d un même contenu doivent se trouver dans le système, et la façon dont les requêtes sont dirigées vers des serveurs possédant une copie du contenu demandé. Ces deux politiques sont appelés respectivement les stratégies de replication et d appariement. On peut remarquer que ce deuxième problème est en fait un problème d équilibrage de charge, dans lequel les tâches sont les requêtes pour les contenus et il faut les associées à des serveurs stockant les contenus demandés. Quand au problème de réplication, il consiste à jouer avec les contraintes du problème d équilibrage de charge en modifiant les ensembles de ressources qui sont autorisés pour chaque tâche particulière; on appelle ce problème un problème de répartition de ressources. Dans l idéal, il faudrait traiter de front les deux problèmes, cependant ce serait probablement un objectif trop ambitieux pour l instant. On se contentera donc plutôt de traiter du cas de deux solutions particulières du problème d appariement: une solution optimale, qui n est peut-être pas faisable en pratique mais permet d obtenir des bornes supérieures sur les performances du système, et une solution aléatoire gloutonne, qui est au contraite particulèrement simple et est certainement faisable en pratique et permet plutôt d obtenir des bornes inférieures sur les performances que l on peut attendre d un tel système. La comparaison des résultats obtenus pour ces deux politiques, qui sont en un sens extrème pour ce système, devrait permettre de comprendre fondamentalement les performances d un tel système de CDN distribué et comment l organiser. Une fois que les performances de la stratégie d appariement seront bien comprises, on pourra se tourner vers le problème de répartition de ressource et essayer de trouver la politique de réplication optimale, au moins dans des régimes asymptotiques tels que quand la capacité de stockage des petits serveurs augmente. On peut trouver plus de détails sur les réseaux de distribution de contenus distribués dans le Chapitre 5. Afin de présenter les choses de manière plus concrète pour le lecteur et de rendre plus claire la connection avec les appariements avec capacités et les modèles de

21 20 CHAPTER 1. INTRODUCTION EN FRANÇAIS graphes aléatoires introduits précédemment, nous allons maintenant décrire succintement le modèle de CDN distribué. Dans ce modèle, une ferme de serveurs est assistée par un grand nombre m de petits serveurs. Un aspect important de ce modèle est qu il prend en compte les contraintes de base d un système réaliste, en particulier en ce qui concerne les capacités limitées des serveurs (en terme à la fois d espace de stockage, de bande passante et de coordination) et la façon dont les requêtes sont traitées, i.e., la politique d appariement. Nous travaillerons la plupart du temps sur une version simplifiée du modèle, dans laquelle tous les contenus ont la même taille (et on ne peut pas les scinder afin de les servir de manière parallèle), et chaque serveur peut stocker un nombre d fixé de contenus et servir une unique requête à la fois. L information de quel serveur stocke quel contenu est représentée par un graphe biparti G = (S C,E), où S est l ensemble des serveurs, C celui des contenus, et il y a une arête dans E entre un contenu c et un serveur s si s stocke c (et peut donc potentiellement servir des requêtes pour c). Les contenus ont différentes popularités, données par leurs taux d arrivées de requêtes respectifs λ c, et le service de chaque requête prend un temps exponentiel de moyenne 1. Cela donne un nombre de requêtes R c pour chaque contenu c qui est une variable aléatoire de Poisson Poi(λ c ) à tout instant, indépendamment des autres contenus. À chaque instant, l appariement entre les serveurs et les contenus forme un appariement avec capacités du graphe G (avec des contraintes de capacité R c au niveau des contenus et 1 pour tous les serveurs). La Figure 1.3 illustre cette situation et montre un exemple de graphe contenus-serveurs, dans lequel les contenus sont à gauche et les serveurs à droite. Les requêtes sont représentées par des rectangles rouges à côté des contenus correspondants et les contenus stockés par chaque serveur sont représentés à sa droite. Si les serveurs sont en train de servir les contenus comme indiqué par les arêtes en rouge, alors l une des requêtes pour le contenu b doit être servie par la ferme de serveurs. En raison du manque de coordination entre les serveurs, il n est vraisemblablement pas raisonnable de vouloir déterminer de manière trop précise la constitution jointe de tous les espaces de stockage du système. Ainsi, dans le meilleur des cas, on supposera que l on peut spécifier un nombre de répliques D c pour chaque contenu c, et les serveurs feront alors des choix aléatoires pour constituer leurs espaces de stockage de manière appropriée. Le graphe G est alors un graphe aléatoire biparti avec une suite de degrés prescrite pour les contenus. Dans le pire des cas, très peu d information a priori est disponible sur les contenus, qui sont simplement regroupés en K classes de tailles α 1 n,...,α K n, et les serveurs ont des préférences de stockage sous la forme d une distribution π P({1,...,K}) sur les différentes classes de contenus. Ils effectuent alors des choix indépendents pour chacun de leurs espaces de stockages et choisissent un contenu au hasard selon π. Cela résulte en un graphe G qui est un graphe aléatoire biparti avec une distribution de degrés prescrite Poi(dmπ k /nα k ) pour les contenus de chaque classe k. Dans ce deuxième cas, les graphes aléatoires considérés admettent pour limite locale faible un arbre de Galton-Watson unimodulaire à deux étapes, comme décrit dans la Section Cependant, si la suite de degrés elle-même est prescrite, alors il faut imposer des conditions supplémentaires sur cette suite pour que le graphe puisse converger. La prochaine section explique les bases de la méthode de la cavité, que l on utilise

22 1.3. INTRODUCTION À LA MÉTHODE DE LA CAVITÉ 21 comme outil pour l étude de l équilibrage de charge dans cette thèse. 1.3 Introduction à la méthode de la cavité Contexte La méthode de la cavité a été proposée en 1985 par Mézard, Parisi et Virasoro [79] (on peut se référer également à [77, 78]) pour étudier les verres de spin en physique statistique et plus généralement les systèmes désordonnés (dans notre cas particulier, les graphes aléatoires en régime dilué). L objectif est généralement de calculer diverse quantités algébriques, combinatoriales ou probabilistes lorsque la taille du système augmente. Dans de nombreux scénarii, une heuristique raisonnable consiste à supposer que l asymptotique des quantités considérées ne dépend que de la géométrie locale des graphes et que les corrélations à longue distance sont négligeables. Quand cette supposition se vérifie, cela a les conséquences suivantes: tout d abord, les quantités que l on veut calculer peuvent être approximées de manière efficace par des algorithmes distribués à base de propagation de messages; ensuite, ces quantités sont continues par rapport à la convergence locale faible et leur limite peut être définie directement sur la limite locale faible des graphes, et parfois même calculée explicitement. Pour ne citer que quelques applications de la méthode de la cavité: sur le plan pratique, cette approche a mené à l algorithme de survey-propagation pour résoudre les problèmes de satisfaction de contraintes ([80, 25, 74]), à la conception de codes LDPC efficaces [93] et à des algorithmes d approximation polynomiaux en temps pour de nombreux problèmes d énumération et de décision (e.g., )[112, 13, 50, 11, 49]); et sur le plan théorique, au calcul de la limiteζ(2) dans le problème d affectation [2], à l énumération asymptotique des arbres couvrants dans les grands graphes [73], au calcul des transitions de phase dans les problèmes de coloriage de graphe [86, 118]. Pour une présentation plus complète de la méthode de la cavité elle-même, le lecteur intéressé pourra se référer par exemple à [5, 4] ou [34, 76] La méthode de la cavité Nous présentons ici une introduction rapide à la méthode de la cavité, qui est suffisante pour la compréhension des principes de bases et des problèmes rencontrés dans cette thèse. Soit S un ensemble d éléments. On considère les configurations simples sur S, i.e., les vecteurs dans {0,1} S. Supposons également qu à chacune de ces configurations x est associée une énergie U(x) (aussi appelée hamiltonien). Si U(x) = +, on dira que x est interdit; si au contraire U(x) <, alors x est une configuration autorisée ou admissible. Considérons maintenant un paramètre β > 0 et la distribution de Gibbs µ suivante sur les configuration sur S: µ(x) = e βu(x) Z(β), (1.1)

23 22 CHAPTER 1. INTRODUCTION EN FRANÇAIS où Z(β) = x e βu(x) est un facteur de normalisation appelée fonction de partition. En physique, le paramètre β joue le rôle de l inverse d une température, i.e., β = 1/T, et la distribution µ indique la probabilité qu un système de particules soit dans un état particulier étant donné que les intéractions entre particules se font selon des dynamiques locales, qui dépendent de l énergie. L espérance de l énergie E[U(X)] = xu(x)µ(x) peut être calculée à partir de la formule suivante: E[U(X)] = β logz(β), et l entropie de la distribution H(β) = E[ logu(x)] à partir de H(1/T) = T logtz(1/t). Ces quantités peuvent donc toutes deux être obtenues à partir de la fonction de partition Z(β), par exemple, ou à partir de la fonction d énergie libre F(β) = 1 β logz(β). Afin de fournir une motivation plus concrète au calcul de l espérance de l énergie et de l entropie de la distribution de Gibbs, nous allons décrire brièvement deux exemples dans lesquels ces quantités sont plus facilement interprétables. Le premier exemple concerne les appariements dans les graphes et une version plus complexe de ce problème est l objet du Chapitre 3. Soit S l ensemble des arêtes d un graphe fini (on écrira d ailleurs plutôt S = E) et V l ensemble des sommets de ce graphe. Supposons que l énergie U prenne la forme suivante: U(x) = x v V log1( x v 1), de manière à ce que U(x) = x si x est un appariement de G, et U(x) = + sinon et x est alors une configuration interdite. Alors, µ est une distribution sur les appariements de G qui pondère chaque appariement x de manière proportionelle à e β x. Quand β, la distribution µ se concentre sur les appariements de taille maximum de G, si bien que l espérance de l énergie à température T = 0 donne la taille maximum des appariements de G, alors que l entropie de µ est liée au nombre d appariements de taille maximum de G: lim β E[U(X)] = minu(x) = max x lim β H(β) = log argmin x U(x). x M G x = M(G), Le second exemple que l on donnera ici lié au problème de coloriage de graphes. Supposons que l on veuille déterminer si les sommets d un graphe G = (V,E) sont coloriable en utilisant q couleurs, de manière à ce que deux sommets adjacents ne soient jamais de la même couleur. Cette fois, l ensemble S désigne l ensemble des sommets du graphe G (et on écrira S = V ) et U compte le nombre d arête dont les deux extrémités ont la même couleur: U(x) = uv E1(x u = x v ) for x {1,...,q} V.

24 1.3. LA MÉTHODE DE LA CAVITÉ 23 Si l espérance de l énergie à température T = 0 est égale à 0, alors le graphe est q-coloriable et la limite lim β H(β) correspond au nombre de q-coloriages valides du graphe G; sinon, le graphe n est pas q-coloriable. En général, le calcul de la fonction de partition d un système est NP-difficile. La méthode de la cavité vise essentiellement à calculer cette fonction quand la fonction d énergie U est une somme de contributions locales et quand le problème a une structure arborescente: supposons que U(x) = a A U a(x a ), où A est une collection de sous-ensembles de S et x a = (x v ) v a, et que le graphe biparti G = (S A,E) est un arbre, où va E si v a. Ce graphe est le graphe des facteurs, et les sommets de S (resp. A) sont appelés les variables (resp. facteurs). Alors, l algorithme de propagation de croyance (BP pour belief-propagation) ou algorithme de Bethe- Peierls [90, 91] (connu également sous le nom d algorithme somme-produit) permet de calculer la valeur de Z(β) de manière itérative: soit ψ a (x a ) = e βua(xa), de manière à ce que µ(x) = 1 Z(β) a A ψ a(x a ), et soit o un facteur arbitraire dans A; alors Z(β) = a (x a ) = x a Aψ ψ o (x o ) ν v o (x v ), x o v o où les messages ν entre une variable v et un facteur a voisin sont définis par ν v a (x v ) = ν b v (x v ), b a, v b ν a v (x v ) = x a\v ψ a (x a ) u a\v ν u a (x u ). Les messages peuvent être initialisés correctement au niveau des feuilles de l arbre G et ensuite calculés de manière itérative en remontant l arbre jusqu à la racine o. Il sera par la suite plus simple d utiliser des messages normalisés η ν tels que x v η v o (x v ) = 1 = x v η o v (x v ). Ils sont définis par les équations suivantes, que l on appellera les équations de mise-à-jour de BP: η v a (x v ) = η a v (x v ) = b a, v b η b v(x v) yv b a,, v b η b v(y v) x ψ a\v a(x a) u a\v ηu a(xu). y ψa(ya) u a\v ηu a(yu) (1.2) Notons également que l on peut obtenir les probabilités marginales de µ au niveau du facteur o à partir des messages η de BP incidents en o: µ(x o = x o ) = ψ o(x o ) Z(β) v o ν v o (x v ) = ψ o(x o ) v o η v o(x v ) y o ψ o (y o ) v o η v o(y v ) On peut ensuite définir les contributions locales de chaque sommet à la fonction de partition Z(β) et à l énergie libre F(β), qui sont calculé à partir uniquement des messages incidents à chaque sommet: z v = x v a v η a v(x v ), z a = x a ψ a (x a ) v a η v a(x v ), z av = z va = x v η a v (x v )η v a (x v ) for va E, (1.3)

25 24 CHAPTER 1. INTRODUCTION EN FRANÇAIS et f v = T logz v, f a = T logz a, et f av = T logz av. Alors, v Z(β) = z v a z a a,v z, av F(β) = v f c + a f a a,v f av. Dans des graphes G qui ne sont pas des arbres, la convergence de la procédure itérative de propagation de messages (1.2) qui calcule les messages normalisés η de BP et la pertinence des éventuels messages limites dépend de l initialisation de la procédure. En général, il n est même pas clair que cette procédure convergera. Cependant, dans le but d expliquer intuitivement l intérêt de la méthode utilisée, on supposera que la procédure de BP converge sur les graphes considérés, bien qu en pratique cette question ne puisse pas être laissée de côté. Concentrons-nous également sur le cas où, quand la taille du système augmente, le graphe G = (S A,E) converge localement faiblement vers une distribution ρ concentrée sur les arbres unimodulaires. Alors, à condition que les correlations entre messages de BP s atténuent suffisament vite avec la distance dans le graphe, ce qui se traduit par des propriétés de continuité vis-à-vis de la convergence local faible, la distribution limite des messages η de BP incidents à une racine de G choisie au hasard peut s obtenir directement à partir de ρ: c est la distribution des messages incident à la racine de ρ. De plus, comme ρ est concentrée sur les arbres unimodulaires, les quantités qui nous intéressent (e.g., la distribution marginale de µ autour de o et les contributions locales (1.3) de o) peuvent être calculées à partir des messages de BP incidents à la racine de ρ. Cela permet de définir un objet limite pour la mesure de Gibbs et la fonction de partition directement sur la limite locale faible des graphes, à l aide d un ensemble infini d équations locales. Finalement, quand la limite locale faible est une distribution de Galton-Watson ρ = GW pour des lois de degrés données comme c est le cas pour les modèles de graphes aléatoires qui nous intéressent ici, alors les équations locales se simplifient en des équations récursives en distribution, qui peuvent parfois être résolues explicitement et donner une formule explicite pour les quantités à calculer (on peut se référer pour une explication plus détaillée à l état de l art d Aldous et Bandyopadhyay [3]). 1.4 Aperçu des résultats Dans cette section, nous présentons un résumé des problèmes regardés dans cette thèse, d une partie de l état de l art pertinent, et des résultats obtenus dans cette thèse Appariements avec capacités de taille maximum via la méthode de la cavité La méthode de la cavité a été utilisée avec succès pour de nombreux problèmes en informatique, en combinatoire et en physique statistique. Comme nous l avons

26 1.4. APERÇU DES RÉSULTATS 25 expliqué, cette méthode implique généralement l algorithme de propagation de messages Belief-Propagation afin de calculer les marginales de distributions de probabilité. Belief-Propagation lui-même a été étudié dans de nombreux contexte, où on a pu observé que cet algorithme converge en général rapidement vers des limites pertinentes [117, 74]. Bien que des conditions suffisantes existent pour que BP converge et que sa limite soit correcte et que l on comprenne de mieux en mieux ce qui peut faire qu il échoue [103, 58, 59, 85], il n y a que peu de problèmes spécifiques où l on puisse prouver rigoureusement la convergence de BP et l unicité de ses points-fixes lorsque le graphe sous-jacent n est pas un arbre [111, 52, 12]. La question de la convergence de BP vers un unique point-fixe peut-être résolue lorsque le problème spécifique regardé possède une propriété d atténuation des corrélations, qui signifie que l impact d une portion lointaine du système est négligeable, ce qui implique une continuité vis-à-vis de la convergence locale faible. Cependant, dans de nombreux cas, cette propriété d atténuation des corrélations n est pas vérifiée à basse température (ou seulement à température nulle) une situation descrite en tant que brisure d ergodicité et alors de multiples points-fixes peuvent exister pour les équations de BP. Cette situation se produit en particulier pour l énumération des appariements de taille maximum [119]. Afin de contourner cet écueil, il est parfois possible d utiliser la méthode de la cavité à température positive puis de prendre la limite quand T 0 (i.e., β ). Dans le cas des appariements ainsi que dans certaines de ses extensions [21, 96, 70], des arguments de monotonie et d unimodularité assurent la convergence de BP vers un unique pointfixe et permettent également de prendre la limite quand T 0: en particulier, l opérateur qui effectue la mise-à-jour des messages de BP sortants des sommets à partir des messages entraints (Equations (1.2)) est décroissant; en partant de plus petit jeu de messages initiaux possible, cela conduit à la construction d une suite de messages de BP convergence, car les sous-suites correspondant aux itérations paires et impaires sont adjacentes. Les notions de monotonie pertinentes ont été identifiées précisément par Salez [96] et sont liées à la théorie de la dépendance négative entre mesures, dont l étude a été initiée par Pemantle [92]. De telles propriétés de dépendance négative sont clairement définie dans le cas où le problème posé concerne des valeurs binaires au niveau de chaque arête du graphe, ce qui a pour conséquence que les messages de BP associés sont des scalaires. Ainsi, on peut calculer l asymptotique de la taille maximum des appariements de graphes G n = (L n R n,e n ) qui convergent localement faiblement vers des arbres de Galton-Watson unimodulaires à deux étapes GW(Φ L,Φ R ) à l aide d une formule de la forme suivante: lim n 1 L n M(G n) = M(Φ L,Φ R ) = inf q [0,1] { F L (q), q = g L g R (q) }, où F L est une fonction qui calcule la contribution locale à un appariement de taille maximum autour de la racine de l arbre de Galton-Watson, et g L et g R sont les espérances des opérateurs de mise-à-jour de BP pour des sommets dans L et R respectivement, si bien que q = g L g R (q) est l équation de point-fixe de BP à deux étape. On ne donnera pas ici l expression exacte des différentes fonctions impliquées, car ces expressions sont assez compliquées et ne sont pas très informatives. Motivés notamment par les deux applications considérées dans cette thèse et également par l idée générale que de nombreux problèmes pourraient nécessiter de

27 26 CHAPTER 1. INTRODUCTION EN FRANÇAIS telles extensions, nous souhaitons étudier le cas où les capacités des arêtes ne sont pas unitaires dans le problème des appariements avec capacités de taille maximum. Cela implique nécessairement d utiliser des messages vectoriels pour BP. Le principal obstacle ici est que les messages de BP représentent maintenant des distributions sur des entiers, et qu il n est pas clair quel ordre stochastique doit être utilisé pour les comparer puisque P(N) n est pas totalement ordonné (contrairement au cas où les capacités d arêtes sont unitaires). Néanmoins, nous montrerons que des propriétés de monotonie similaires au cas scalaire sont vérifiées lorsque l on utilise l ordre stochastique des ratios de vraisemblance décalés vers le haut (lr pour upshifted likelihood ratio) pour comparer les messages de BP: soient m,m P(N) deux distributions sur les entiers, l ordre lr est défini par m lr m si m(i+k +l)m (i) m(i+l)m (i+k), i,k,l N. En particulier, l opérateur de mise-à-jour de BP est décroissant pour cet ordre stochastique, et on peut obtenir des résultats de convergence similaires au cas scalaire. On peut noter au passage que les propriétés de monotonie souhaitées ne sont pas vérifiée pour l ordre stochastique le plus standard: l ordre stochastique fort. La particularité de l ordre lr qui est primordiale ici est sa préservation vis-à-vis du conditionement sur n importe quel intervalle, ce qui est caractéristique des ordres stochastiques conditionnels uniformes (ou ucso, pour lequel on peut se référer à Whitt [113, 114]). Intuitivement, une telle propriété de préservation est nécessaire pour qu une propriété locale (l opérateur de mise-à-jour de BP est décroissant) se propage en un effet global (les itérations paires et impaires de BP forment des suites de messages adjacentes), du fait que la partie importante d un message incident à un sommet v particulier pour déterminer la marginale de la distribution de Gibbs (1.1) autour de v peut être réduite à n importe quel interval à cause des autres messages à v. Par suite de l étude des operateurs de mise-à-jour de BP, on peut montrer la convergence de BP vers un unique point-fixe sur n importe quel graphe unimodulaire localement fini. Puis, en suivant la méthode de la cavité, le comportement asymptotique de M(G) quand la taille de G augmente est obtenu dans la limite de la température 0 directement sur la limite locale faible GW(Φ L,Φ R ) (définie en Section 1.1.3). Du fait de la brisure d ergodicité à température 0 pour ce problème, il y a cependant plusieurs points-fixes à BP et, afin d identifier le bon, on peut alors suivre le même raisonnement que dans [96, 70]. De plus, on peut noter que nous n avons pas besoin de résoudre des équations récursives en distributions sur les messages de BP eux-mêmes (ce qui donnerait des équations récursives sur des distributions sur des distributions d entiers), mais uniquement des équations récursives en distribution sur les extrémités du support des messages de BP (qui sont ici des intervalles, car les messages points-fixes de BP sont log-concaves). L expression de l asymptotique de M(G) est finalement obtenue dans le Théorème 3.1, qui généralise les formules dans [96, 70]. De plus, il est intéressant de remarquer qu une expression similaire est également valide dans le cas des graphes bipartis finis (Théorème 3.11), ce qui généralise également un résultat de Chertkov [30].

28 1.4. APERÇU DES RÉSULTATS Hashage à choix multiples et cuckoo hashing Dans le scénario le plus simple, une approche populaire pour l étude du cuckoo hashing a été d étudier un certain cœur du graphe de hashage, dont la densité en sommets de type L dépasse un certain seuil au même moment que le cuckoo hashing commence à échouer, dans des graphes aléatoires du type décrit précédemment. L étude de ce cœur du graphe de hashage peut être mener à l aide de diverse techniques (analyse combinatoire et approximation par équations différentielles d un algorithme dépluchage du graphe), dont chacune devient plus ou moins difficile à appliquer au fil des extensions du problème de base. C est pourquoi les seuils correspondant aux diverses généralisation du schénario basique (d = 2, h = k = s = 1) ont été calculés étape par étape: l extension à d 2 choix aléatoires par objet a été effectuée dans [35, 42, 46]; le fait d autoriser une cellule à stocker au plus k objets a été fait dans [36, 27, 41]; le cas où chaque objet doit être inséré h fois dans la table est le plus récent, [53] résolvant une domaine restreint de paramètres et [70] le cas général; l extension dans laquelle chaque paire (objet,cellule) ne peut être utilisée qu au plus s fois n étant pas résolue précédemment. On peut noter que, dans tous les cas, l expression du seuil de charge τ du système implique une solution d une équation de point-fixe, dont on peut suivre la trace jusqu à la méthode de la cavité et à l équation de point-fixe de BP. Une approche au problème du cuckoo hashing consiste à établir un lien avec un problème d appariement (avec capacités), comme l ont remarqué [46, 70] et également [35] avec un détour par XORSAT. En effet, une association partielle d objets à des cellules du tableau correspond exactement à un appariement avec capacités dans le graphe de hashage G, pourvu que l on n autorise pas plus h copies d un même objet. Pour qu un appariement avec capacités x M G corresponde à une table de hashage valide, il faut en plus que chaque objet ait exactement h copies, i.e., x l = h pour tout objet l L. Ainsi, il est possible de construire une table de hashage valide dès lors qu il existe un appariement avec capacités x M G de taille x = h L. À ce stade, on peut utiliser les résulats obtenus lors de l étude des appariements avec capacités de taille maximum dans des graphes aléatoires que l on 1 considère ici. Cela permet de calculer la limite lim m,n M(G n n,m) = M(Φ L,Φ R τ ) lorsque n τm et où Φ L et Φ R τ sont les lois jointes pour le degré d un sommet, la contrainte de capacité du sommet et les contraintes de capacités des arêtes qui lui sont adjacentes dans chaque partie du graphe (ici, les degrés sont fixés, égaux à d dans L n, et aléatoires distribués selon une loi de Poisson Poi(dτ) indépendamment pour chaque sommet dans R n ; et les contraintes de capacités sont fixées, égales à h sur L n, à h sur R n et à s sur E n ). Le seuil τ est alors calculé de la manière suivante (Théorème 4.1): τ = sup { τ : M(Φ L,Φ R τ ) = h } = inf { τ : M(Φ L,Φ R τ ) < h }. On peut noter qu une étape supplémentaire est nécessaire ici pour obtenir le résultat 1 au-dessus (tout comme dans [70]). En effet, le fait que lim n M(G n n,m) = h n empêche pas qu une fraction négligeable d objets n ait pas les h copies requises, et on peut voir cette propriété comme définissant un second seuil τ τ. Cependant, on peut montrer que les deux seuils sont égaux pour les modèles de graphes aléatoires considérés ici.

29 28 CHAPTER 1. INTRODUCTION EN FRANÇAIS Nous explorerons également une autre question liée au cuckoo hashing, qui concerne des méthodes de hashage à aléa réduit. En effet, un désavantage important de la version totalement aléatoire des méthodes de hashage à choix multiples vues précédemment est qu elle nécessite de générer beaucoup d aléa: l approche standard requiert en effet n choix aléatoires uniformes et indépendants de d cellules parmi m. Vue de manière différente, cela signifie qu il faut générer approximativement d log m bits aléatoires indépendants par objet. Or, générer des bits aléatoires indépendants et non biaisés n est pas si simple [122, 109]. C est pourquoi de nombreux efforts de recherche visent à réduire cette quantité d aléa nécessaire au système (on peut se référer notamment à [82] et aux références qu il contient pour un résumé des diverses directions envisagées jusqu à présent). L une des pistes envisagées est la méthode du double hashage [56, 72], qui semble avoir des performances similaires à la méthode totalement aléatoire tout en réduisant le nombre de bits indépendants nécessaires pour chaque objet à approximativement 2 log m: supposons que m est en nombre premier, et que les cellules du tableau sont numérotées de 1 à m; pour chaque objet, on tire indépendamment deux entiers aléatoires, f {1,...,m} et g {1,..., m 1 }; les cellules pré-associées avec un objet de couple (f,g) donné sont 2 alors celles numérotées f + ig (mod m), pour i {0,...d 1}. Bien que l aléa réduit de cette méthode soit précisément la raison pour laquelle on pourrait vouloir l utiliser, c est également ce qui rend l analyse théorique de ce système plus difficile. Mitzenmacher et Thaler [82, 84] ont montré que les performance du double hashage sont essentiellement les mêmes que celles du hashage totalement aléatoire dans le contexte de Azar, Broder, Karlin et Upfal [10] que nous avons déjà mentionné dans la Section et où il n y a pas de contrainte dures de capacités: ils montrent dans ce cadre que la charge maximum est de loglogn log d + O(d) objets avec grande probabilité, et émettent la conjecture que le seuil du double hashage est égal à celui du cuckoo hashing totalement aléatoire. Il s avère que la méthode de la cavité est particulièrement adaptée pour étudier une telle extension du cuckoo hashing totalement aléatoire. En effet, seules deux étapes du raisonnement ont besoin d être réalisées à nouveau pour le modèle de graphes aléatoires du double hashage: il faut montrer que de tels graphes aléatoires convergent presque sûrement localement faiblement vers le même arbre de Galton-Watson unimodulaire à deux étapes GW(Φ L,Φ R τ ) que le modèle totalement aléatoire, et ensuite vérifier que les deux seuils τ et τ définis précédemment pour le cuckoo hashing totalement aléatoire sont bien également égaux dans le cadre du double hashage. La convergence locale faible des graphes de double hashage peut être montrée en étudirant une exploration en largeur à deux étapes du graphe de hashage, qui est une variation de l exploration en largeur à une étape utilisée pour montrer la convergence locale faible des modèles classiques de graphes aléatoires non-bipartis (on peut se référer par exemple à [20]). Nous nous arrêterons cependant après cette étape, qui montre que le second seuil τ du double hashage est égale au seuil τ du hashage totalement aléatoire et ne montrerons pas que les deux seuils pour le double hashage sont égaux. En effet, cela est déjà suffisant pour mettre en avant le potentiel de la méthode de la cavité pour ce type de problème.

30 1.4. APERÇU DES RÉSULTATS Équilibrage de charge et répartition de ressources dans les CDNs distribués La politique de réplication de contenus d un CDN influence très fortement les performances du système. C est pourquoi l optimisation de cette réplication a été très souvent abordée, sous de multiples points de vue et avec des modélisations et des indicateurs de performances différents, ce qui conduit naturellement à des politiques de réplication optimisées elles-mêmes différentes. Cependant, il y a une politique de réplication qui apparait très fréquemment, sous de nombreux modèles différents: c est la politique de réplication proportionnelle, qui consiste à garder pour chaque contenu un nombre de copies proportionnel à sa popularité. À l aide d inégalités de grandes déviations, [101] a étudié cette politique réplication pour le modèle de CDN distribué sous une politique d appariements optimale et a montré que cette réplication est efficace dans un grand système et dans la limite d une grande capacité de stockage sur chaque serveur. Afin de caractériser plus précisément les performances de la réplication proportionnelle, nous allons utiliser un lien avec les appariement avec capacités. En effet, si l on s autorise à rediriger les requêtes vers un autre serveur à tout moment pendant leur service, et même depuis et vers la ferme de serveurs, alors les performances du système sous une politique d appariements optimale sont données par l espérance de la taille maximum des appariements avec capacités du graphe contenus-serveurs G décrit précédemment (cette quantité étant calculée dans le Théorème 3.1). Ce résultat peut en fait être obtenu pour un modèle plus riche que celui expliqué précédemment: l addition de capacités non-unitaires au niveau des arêtes permet de traiter du cas où la capacité de service (i.e., d upload) des serveurs est non-unitaire et où de plus les contenus peuvent avoir des tailles différentes, tant qu ils sont fragmentés en des segments codés de même taille. Cependant, ce modèle plus compliqué n est pas très simple à manipuler, et on préférera donc revenir au modèle basique pour analyser les performances asymptotiques du système. Pour le modèle plus spécifique dans lequel les contenus sont regroupés en classes de popularité, et dans la limite où l espace de stockage croît au niveau de chaque serveur, il est possible de calculer précisément le comportement des points-fixes de BP à température 0. On peut alors déterminer quel est le point-fixe correct, qui permet de retrouver la taille maximum des appariements avec capacités du graphe contenus-serveurs, en fonction du régime de charge ρ du système. Cela permet ensuite d obtenir l asymptotique de l inefficacité ι du système (Proposition 5.2): log(ι) d d π inf k k τα k if ρ < 1, ( K ) log k=1 π ke λ k if ρ > 1, ( ( π K )) min inf k k τα k,log i=k π ke λ k if ρ = 1, où on rappelle que π est la distribution utilisée par les serveurs pour choisir quelle classe de contenu ils vont stocker dans chaque espace mémoire, α k est la fraction des contenus qui se trouvent dans la classe k, λ k est le taux d arrivées de requêtes (la popularité) pour un contenu de la classe k, et τ n/m. On remarque que l inefficacité du système décroît exponentiellement vite vers 0 en la taille de l espace

31 30 CHAPTER 1. INTRODUCTION EN FRANÇAIS de stockage pour n importe quelle politique de réplication raisonnable (i.e., qui accorde une fraction positive de l espace de stockage à chacune des classes de contenus). La propriété d efficacité dans la limite d un grand espace de stockage, identifiée dans [101] pour la réplication proportionnelle, est donc en fait partagée par la plupart des politiques de réplication. De plus, les coefficients de décroissance exponentielle de l inefficacité ont des expressions simples, qui mettent en avant les évênements qui sont sources typiques d inefficacité, et il possible d optimiser ces exposants afin d identifier des politiques optimales de réplication (dans la limite d un grand espace de stockage) pour les différents régimes de charge. De manière surprenante, la réplication proportionnelle n est jamais asymptotiquement optimale: elle favorise trop les contenus populaires en régime sous-critique, et pas assez en régime sur-critique. Les performances sous une politique d appariements optimale étant maintenant mieux comprises, nous nous tournons vers l étude de l algorithme d appariements aléatoire glouton. La première question ici est de savoir si l inefficacité du système décroît toujours exponentiellemnt vite vers 0 quand l espace de stockage augmente. On se place pour cela dans un scénario statique, où tous les contenus ont la même popularité et les requêtes pour les contenus arrivent dans un ordre aléatoire. Dans ce cadre, il est alors classique d approximer l évolution d un grand system sous la politique aléatoire gloutonne par des equations différentielles [33]. Bien que l on ne sache pas, dans ce cas précis, calculer exactement la solution des équations différentielles obtenues, il est possible de l approximer dans la limite d un grand espace de stockage, ce qui permet d obtenir le comportement asymptotique du système. On observera ici que l inefficacité décroît à nouveau exponentiellement vite vers 0 en la taille de l espace de stockage (bien que moins vite que sous une politique d appariements optimale) lorsque la charge du système n est pas critique. Cependant, le système subit une transition de phase autour du point de charge critique ρ = 1, pour lequel l inefficacité du système décroît seulement sous-exponentiellement vite vers 0: ι e d τ ρ 1 (1+o(1)) if ρ 1, ι = τ log2 d +o(1/d) if ρ = 1. Cela indique que pour beaucoup d applications l algorithme aléatoire glouton est probablement insuffisant. En effet, si par exemple un premier équilibrage de charge à lieu à haut niveau entre plusieurs régions du système, il est vraisemblable que certaines régions se retrouvent en charge critique et l algorithme aléatoire glouton aura alors de mauvaises performances dans ces régions. Néanmoins, tant que le système reste dans le régime sous-critique ρ < 1, l algorithme aléatoire glouton reste un candidat acceptable et il est donc utile de regarder plus précisément ses performances dans ce régime ainsi que d identifier des politiques de réplication associées convenables. Pour cette étude, nous allons procéder à des approximations de champs moyen, en supposant que les sorts des différents contenus du système sont à peu près indépendants, conditionnellement à quelques paramètres globaux du systèmes qui sont partagés par tous les contenus. Afin de comprendre l influence de la réplication d un contenu c particulier sur les pertes qu il subit, on peut approximer le nombre Z c de répliques disponibles de ce contenu par une chaîne de Markov simple (à une dimension) en moyennant l influence des autres contenus. Cela permet d obtenir

32 1.4. APERÇU DES RÉSULTATS 31 une expression approchée pour la distribution stationnaire de Z c ainsi que pour le taux de pertes stationnaire γ c du contenu c (Equation (5.21)). Lorsque l espace de stockage augmente, le taux de perte γ c a le comportement suivant: γ c e Dc lnρ (1+o(1)), où on rappelle qued c est le nombre total de répliques du contenuc. On peut observer que cette expression est cohérente avec le fait que l inefficacité du système décroît exponentiellement vite vers 0 quand l espace de stockage d augmente, et également avec la transition de phase lorsque ρ = 1 (bien que les expressions exactes ne puissent pas être comparées directement puisque le modèle utilisé est légèrement différent). Pour confirmer la validité de l approximation de champ moyen effectué, des simulations ont été effectuées et on peut en trouver les résultats dans le Chapitre 5. À partir des expressions approchées obtenues, il suffit de résoudre un problème d optimisation relativement simple pour obtenir l expression asymptotique des politiques de réplications de contenus optimales en régime sous-critique pour l algorithme d appriements aléatoire glouton. Cette politique optimale est uniforme selon les contenus, avec des corrections dépendant de la popularité de chaque contenu d ordre inférieur en la taille de l espace de stockage. On obtient également un principe général pour optimiser la réplication, qui est qu il faut viser à équilibrer les taux de pertes pour tous les contenus. En suivant ce principe général et en s inspirant des stratégies de réplication de contenus mises en place dans les réseaux de caches et basées sur des règles d éviction, on propose ensuite des méthodes adaptives de réplication de contenus, qui réagissent aux pertes dans le système. Afin d améliorer encore ces politiques, on peut également utiliser l expression approchée obtenue pour les taux de pertes de chaque contenu pour concevoir un mécanisme de pertes virtuelles, qui anticipe les pertes du système afin de réagir plus rapidement tout en atteignant la même réplication cible. Pour finir, on comparera à nouveau à l aide de simulations les différentes réplications rencontrées et les mécanismes adaptatifs proposés. Les résultats de ces simulations montrent que la réplication optimisée à l aide des expressions approchées obtenues est significativement meilleure que la réplication proportionnelle. De plus, les mécanismes adaptatifs améliorent encore un peu les performances en équilibrant correctement les taux de pertes entre les divers contenus du système. Enfin, le mécanisme de pertes virtuelles remplit ses promesses en permettant une adaptation significativement plus rapide du système.

33 32 CHAPTER 1. INTRODUCTION EN FRANÇAIS

34 Chapter 2 Introduction The main theme of this thesis is load-balancing in large distributed systems. In the computer science context, a load-balancing problem occurs when we have a set of tasks which need to be distributed across multiple resources, and to resolve the load-balancing problem one needs to specify which tasks are going to be handled by which resources. Depending on the context, tasks and resources may have different interpretations. To make things more concrete, we focus in this document on two particular applications: a multiple-choice hashing system (often referred to as cuckoo hashing in the literature), where the goal is to efficiently assign buckets to items so that the items or any associated data can be stored to be later retrieved quickly. Tasks are here linked to items, and resources to buckets. a content delivery network (CDN) with a multitude of servers to handle storage and service of the contents. In this context, tasks are requests for a particular content and resources are linked with the servers and the particular contents they store, and resolving the load-balancing problem means assigning servers to requests. The local constraints of which resource is suitable for a particular task as well as the initial amounts of the different available resources and the workload associated with each task can be efficiently represented as a capacitated bipartite graph. Also, in practice and in particular for the two examples mentioned, the systems considered are often of very large size, involving maybe thousands of different tasks and resources, and they tend to be quite random (either by design or due to a lack of coordination capabilities). Therefore, the context of large random graphs is particularly well-suited to the considered evaluations. This document is organized as follows: in the remainder of the introduction, we start by recalling a few standard notions of graph theory, including local weak convergence and some classical random graph models. We then explain how the two examples of cuckoo hashing and distributed CDNs can both be abstracted as a more general load-balancing problem, related to generalized matchings (called capacitated matchings) in a bipartite graph describing the constraints of a particular instance of the problem. In particular, the performance of large random systems can then be phrased in terms of local weak convergence of these constraints graphs. Then, we 33

35 34 CHAPTER 2. INTRODUCTION give a short introduction to the cavity method, which underlies most of our work. To conclude the introduction, we provide an overview of the results obtained in this thesis. In Chapter 3, using the framework of local weak convergence, we extend the current range of rigorous applications of the cavity method by computing the asymptotic size of maximum capacitated matchings in a large sparse random graph. Chapter 4 is devoted to computing the cuckoo hashing thresholds, below which cuckoo hashing succeeds in building a valid hashtable, and to demonstrating the potential of this approach to handle related hashing schemes with little extra work. Finally, Chapter 5 is about load-balancing and resource-placement in distributed CDNs. 2.1 Notions of graph theory In this section, we recall the notions of graph theory that will be useful in this work, including local weak convergence and standard random graph models. Additional concepts and notation will appear in the document as they are needed Graph terminology A (simple, undirected) graph G consists of a possibly infinite set of vertices V and a set of edges E, each edge in E linking two distinct vertices of V together; if edge e E links vertices u and v together, we write e = uv and also u v. The neighborhood of a vertex v V in the graph G is the set of other vertices which are linked to v by an edge in E, i.e., N(v) = {u V : uv E}, and the cardinality of N(v) is called the degree of v. The set of edges adjacent to a vertex v V is denoted by v = {e E : e = uv for some u V}. If the degrees of all the vertices in V are finite, then we say G is locally finite. If the set V itself is finite, then we say G is finite. A (simple) path of length k in G between the vertices u and v is a sequence of k + 1 distinct neighboring vertices of G, the first one being u and the last one v. If there exists a path (of any length) between two vertices, then we say those vertices are connected together. If all pairs of vertices in V are connected together, then the graph G is itself connected. In the same way that N(v) is the set of vertices connected to v by a path of length 1, we denote by N k (v) the set of vertices (excluding v) connected to v by a path of length at most k, for k 2. A simple cycle in a graph is a path of length k > 2 starting and ending at the same vertex and visiting at most once any other vertex. A connected graph without cycles is called a tree. A bipartite graph G = (L R,E) is a graph where the vertex set V can be partitioned into two disjoint sets L and R (for left and right ) such that all the edges in E link a vertex in L and a vertex in R, i.e., for all e E there exists l L and r R such that e = lr.

36 2.1. NOTIONS OF GRAPH THEORY 35 Figure 2.1: Example of capacitated graph and a capacitated matching of it. Additionally, one can associate a mark to each element of a graph (vertex or edge). In our context, marks will most of the time be integers and represent capacity constraints associated with the corresponding element. Therefore, we will often directly call them capacities instead of marks. We denote by b = (b v ) v V the set of capacities of verticesv V, and byc = (c e ) e E the set capacities of edgese E. For simplicity, we write G = (V,E), omitting mention of the marks when no confusion is possible. A capacitated matching (or c-capacitated b-matching [97]) x of the graph G = (V,E) is an integer-valued vector with a coordinate associated with each edge in E, i.e., x N E, such that the coordinate of x associated with an edge does not exceed the capacity (mark) of that edge, i.e., x e c e for all e E; the sum of coordinates of x over the edges adjacent to a vertex does not exceed the capacity of that vertex, i.e., e v x e b v for all v V. If the capacity constraints are all equal to 1, i.e., b 1 and c 1, then a capacitated matching of G is simply a matching of G. We let M G be the set of capacitated matchings of G. The size x of a particular capacitated matching x M G is the sum of its coordinates, i.e., x = e E x e, and the maximum size of capacitated matchings of G is denoted by M(G). As a notational rule, to denote a sub-collection of a vector, such as (x v ) v S where S V, we use the notation x S. Hence, for example, the vertex-constraint on the capacitated matching x could be written x v b v, v V. As an example, Figure 2.1 shows a bipartite capacitated graph G = (L R,E) on the left, with the vertex-capacities written inside the vertices and edge-capacities all equal to 2 (to avoid having too many numbers on the figure), and a capacitated matching x M G of it on the right: the value x e on an edge e is indicated by a red number at the left-endpoint of the edge and it can also be visualized in the thickness and color of the lines (black dotted lines indicate edges e which are not used by the capacitated matching, i.e., x e = 0; red lines are for edges that are used, and they are thicker for larger x e ). The particular capacitated matching represented here has

37 36 CHAPTER 2. INTRODUCTION size x = 11 and one can check that the maximum size of capacitated matchings in this graph is M(G) = 12, although the sum of vertex-capacities is equal to 13 on both sides L and R. In this thesis, we will mainly consider large random graphs, with the size of both parts L = n and R = m tending to infinity together, i.e., with n τm for some fixed τ > 0, while the number of edges remains of the order of the number of vertices, i.e., E = Θ( V ): this is called the sparse regime or the diluted regime. We will use the expression with high probability (or, in short, w.h.p.) to mean with probability tending to 1 as m,n. In this regime, the graphs of interest converge in a sense explained in Section Local weak convergence The notion of local weak convergence of a sequence of graphs was introduced by Benjamini and Schramm [15] to study random walks on planar graphs. This framework was further formalized by Aldous and Steele in [5] and by Aldous and Lyons in [4]. More recent studies on the subject include [19, 23, 22]. A first step is to introduce the notion of local convergence of rooted graphs. A rooted graph (G,v) is a graph G together with a distinguished vertex v of G which is called the root. An isomorphism of rooted graphs is a graph isomorphism which sends the root of one to the root of the other, i.e., a one-to-one mapping of the vertices of a graph to those of another graph which preserves the root, the edges (and their marks). We denote by [G,v] the isomorphism class of (G,v) and by G the set of isomorphism classes of rooted locally finite graphs. For any k N, we denote by (G,v) k the rooted subgraph obtained from (G,v) by keeping only those vertices at graph-distance at most k from v, and we write [G,v] k = [(G,v) k ] for its isomorphism class. We can turn G into a complete separable metric space (i.e., a Polish space) by defining the following metric: let the distance between [G,v] and [G,v ] be 1/(1 + δ), where δ is the supremum of those k N such that [G,v] k = [G,v ] k. Then, a sequence of rooted graphs ((G n,v n )) n N converges locally to (G,v) in G if the distance between (G n,v n ) and (G,v) goes to 0 as n. Equivalently, (G n,v n ) n (G,v) locally k N, n k such that, n n k,[g n,v n ] k = [G,v] k. At this point, we recall that a sequence of probability measures (ρ n ) n N on a certain metric space S converges weakly to a probability measure ρ, which we denote by ρ n ρ, if for every bounded continuous function f : S R, fdρ n converges to fdρ. As G is a Polish space, we can endow it with its Borel σ-algebra (see, e.g., [16]) and consider the complete separable metric space of probability measures over G, denoted by P(G ). The definition of weak convergence then applies to probability measures in P(G ). Furthermore, given a finite graph G there is a natural way to form a probability measure ong : we letu(g) be the distribution over G obtained by choosing a uniform random vertex of G as a root. Then, we say the sequence of finite graphs (G n ) n N converges locally weakly towards the measure ρ on G when the sequence of distributions (U(G n )) n N converges weakly towards ρ.

38 2.1. NOTIONS OF GRAPH THEORY 37 Any measure ρ which is the limit of a sequence of finite graphs in the sense seen above has the property that it is unimodular [5], which we define next. Similarly to the space G, we define the space G of isomorphism classes of locally finite connected networks with an ordered pair of distinguished vertices and the natural topology thereon. We call ρ unimodular if it obeys the Mass-Transport Principle (MTP): for Borel functions f : G [0, ], we have f(g,o,v)dρ([g,o]) = f(g,v,o)dρ([g,o]). v V We let U denote the set of unimodular Borel probability measures on G. For ρ U, we write b(ρ) for the expectation of the capacity constraint of the root with respect to ρ Some classical random graph models In this section, we introduce the Erdős-Rényi random graph, which is possibly the simplest random graph model, as well as some more complicated random graphs which we will use throughout the thesis. We should warn the reader that we will often use the notation for a particular random variable to refer in fact to its distribution when the meaning is clear from the context, so as to avoid introducing one more notation for the distribution itself. The Erdős-Rényi random graph and the Poisson-Galton-Watson tree The Erdős-Rényi random graph is the simplest and most studied random graph model. Two related versions of the model were introduced by Gilbert [54] and Erdős and Rényi [40]. For a set of n vertices and p [0,1], the Erdős-Rényi random graph G(n,p) is obtained by including independently each edge among the ( n 2) possible edges with probability p. Therefore, taken individually, each vertex has a degree given by a binomial random variable Bin(n 1,p). As we are interested in the sparse regime, we focus mainly on p = p(n) λ/n as n, for some fixed λ R +. Then, a sequence of Erdős-Rényi random graphs ( G(n,λ/n) ) with n N increasing sizes admits almost surely a local weak limit in P(G ). This local weak limit is the Poisson-Galton-Watson (Poisson-GW) distribution GW(Poi(λ)) over trees with expected offspring λ, which was introduced in 1873 by Galton to study genealogical family trees [110]. A sample Poisson-GW tree is obtained through a branching process as follows: the root o has a number of children X given by a Poisson random variable with mean λ, i.e., v V P(X = k) = P(Poi(λ) = k) = λk k! e λ. Then, each of these children also independently has a number of children equal to Poi(λ), and so on. The rooted tree obtained via this process is almost surely locally finite. For a detailed study of branching processes and random graphs, one can refer to [9, 107]. A detailed proof of the almost sure local weak convergence of the Erdős-Rényi random graph can be found in [6, 18, 61].

39 38 CHAPTER 2. INTRODUCTION Random graphs with prescribed degree distribution The Erdős-Rényi model has only one parameter which can be adjusted, the average degree. In order to better fit real-life graphs, it is useful to be able to capture more of their features and incorporate them into a random graph model. The socalled configuration model (introduced by Gallager [48] and refined by Bender and Canfield [14], Bollobás [17] and Wormald [115]) is one step in this direction, where one can specify the degree distribution of the n vertices of the graph. Given a degree distribution Φ P(N) with finite mean, we first sample independently from Φ the degree d v of each vertex v V. Starting from an empty graph, with vertex set V and no edges, we then add edges at random by pairing successively, uniformly and independently the stubs at each vertex in a manner consistent with the degree sequence d = (d 1,...,d n ). This procedure produces a few self-loops and multiple edges: they can be either corrected [75] to obtain a simple random graph G(n,d) uniform among all graphs with the prescribed degree sequence d, or erased / merged [26] to obtain simply a simple random graph with an empirical degree distribution d converging to Φ as n. In any case, a sequence of such random graphs ( G(n,d) ) (or ( G(n, d) ) ) with increasing sizes admits almost n N n N surely a local weak limit GW(Φ) P(G ), which is the unimodular Galton- Watson distribution with degree distribution Φ (see Example 1.1 in [4], and [39] for detailed proofs of the convergence). The procedure to sample a unimodular GW tree is very similar to that explained before in the special case of Poisson-GW trees: the root o has a number of children drawn from Φ; however, all its descendants have numbers of children X independently drawn from the size-biased offspring distribution Φ P(N) defined by: P(X = k) = Φ k = (k +1)Φ k+1 i N iφ. i For the applications considered in this thesis, we will often encounter a similar model for bipartite random graphs G = (L R,E), where the degree (and constraints) distributions are different for the two parts of the graph: given two distributions Φ L and Φ R specifying jointly the degree, the vertex-constraint and the adjacent edge-constraints for vertices in L and R respectively, we can sample two sequences (d l,b l,c l ) l L and (d r,b r,c r ) r R indicating these quantities for each vertex of the graph. Provided these sequences meet some basic consistency conditions (the sum of degrees should be the same in L and R and the number of edges with a given capacity should be the same when counted from L and from R), we can generate a uniform random bipartite graph accordingly (see [29, 51] for more details on the bipartite case). A sequence of such random graphs (G n ) n N with increasing sizes and rooted at a random left-vertex, with L n = n and R n 1 n for some τ fixed τ > 0, converges almost surely to a local weak limit in P(G ). This time, the local weak limit GW(Φ L,Φ R ) is a two-step unimodular Galton-Watson distribution with laws Φ L and Φ R, and a sample from this distribution can be obtained in a very similar way as before: the parameters of the root o are sampled from Φ L, the parameters of its descendants at even and odd generations are drawn from sizebiased offspring distributions Φ L and Φ R respectively, conditionally on the capacity

40 2.2. LOAD-BALANCING PROBLEMS 39 of the edge linking them to their parent. More details on this model can be found in Chapter 3. In the next section, we present the two applications considered in this thesis in more detail. 2.2 Load-balancing problems Load balancing is the process of distributing tasks among resources so as to make the load level of the resources as even as possible. This issue has grown very popular in particular with the emergence of distributed computing, where loading equally all the available processors ensures the quickest completion for a given set of tasks. However, even a basic setup, with two identical processors and a large number n of tasks with known durations, is already an NP-complete problem, as shown by Karp [63]. Furthermore, many internet applications are nowadays supported by server farms comprising thousands of machines. Therefore, in many applications of interest the number of resources itself is also growing. In this situation, with a large number of tasks and resources, the coordination capabilities of the distributed system become a predominant limitation, and it is often more important to find a simple yet efficient scheme for which randomization is a useful tool than an optimal deterministic solution, which complexity and communication requirements would render impractical. In this thesis, we consider two main examples of load-balancing problems which share a common abstraction: the performance in the two setups is characterized by the size of a capacitated matching in a bipartite random graph describing the constraints of the problems. This section introduces more formally the two loadbalancing examples mentioned and the main questions we try to answer in each context. Each time, we will point out the connection with capacitated matchings as well as the relevant random graph models Cuckoo hashing A hashtable is a data structure that maps items to buckets so as to be able to later retrieve the items or any associated data. The idea is that the item (or an associated descriptor called a key) is hashed into the index of a bucket in an array (also called a value). Among the many possible items, only a small number is expected to be present at any time, therefore it is advantageous to dimension the array to store only that smaller expected number of items rather than the whole collection of items. The purpose of the hashing step is then to map many items to the same bucket index, as hopefully only one of those items is present most of the time; otherwise, a collision occurs and it needs to be resolved in some way. Cuckoo hashing is a particular scheme used to resolve such collisions. The hashing paradigm is as follows: we are given n items and m buckets. In the most basic setting, we want to have exactly one bucket per item and at most one item per bucket. In more complex versions, multiple copies of each item must be stored, each bucket can hold many items simultaneously and there are restrictions on how many times an (item,bucket) pair can be used. Critical performance metrics

41 40 CHAPTER 2. INTRODUCTION Figure 2.2: Two realizations of the hashing graph, with and without valid hashtable. for such systems are the size of the hashtable (the number of buckets) needed to hold a given number of items, and the time it takes to either retrieve or insert items. The multiple-choice hashing strategy is one that guarantees a constant look-up time, while requiring with high probability a hashtable of size m proportional to n. This strategy consists in pre-defining a set of d 2 buckets for each item, which is then only allowed to pick a bucket within that set. Of course, depending on the choices of the pre-defined sets of buckets, it may be impossible to handle simultaneously some sets of items and inserting a new item may not be easy. The first issue becomes very unlikely if the hashtable contains enough buckets compared to the number of items it needs to hold, and a lot of work has actually been devoted to figuring out exactly how large the hashtable needs to be. As for the second issue, cuckoo hashing was proposed by Pagh and Rodler [89] as a simple, randomized way to search for a new valid assignment upon arrival of an item: one first checks whether one of the buckets pre-defined for the new item is available, in which case it suffices to pick one of these; otherwise, one of the pre-defined buckets is chosen at random and re-allocated to the new item. The same procedure is then used for the item that has just been evicted (which is thus treated as a new item). An interesting survey [81] reviews the state of research on cuckoo hashing as of 2009 and states some related open questions at that time. Formally, an instance of the cuckoo hashing scheme can be described by a bipartite graph G = (L R,E) called the hashing graph (or cuckoo graph), where L is the set of n items and R the set of m buckets. The edges adjacent to an item l L indicate the d pre-determined buckets to which l can be assigned. To capture the more complex versions of cuckoo hashing, where one needs to store h copies of each item or where each bucket can hold at most k items at a time, we add respectively capacity constraints b L h to the left-vertices (items) and b R k to the right-vertices (buckets); similarly, if each (item,bucket) pair can be used at most

42 2.2. LOAD-BALANCING PROBLEMS 41 s times, it is indicated by the edge-capacities c s. Note that minimum number of copies h of each items is modeled as a capacity-constraint b L in the constraint graph; this will be required to establish a link between the feasibility of a cuckoo hashing instance and the size of maximum capacitated matchings in the corresponding hashing graph G. To illustrate the cuckoo hashing setup, Figure 2.2 shows two different hashing graphs, with the items on the left and the buckets on the right side. The two realizations have the same values for the parameters, i.e., the same degrees d = 3 for the items, each item must be stored h = 4 times, each bucket can store up to k = 3 items and each (item,bucket) pair can be used at most twice. Note that the two graphs differ by only one edge (between the central vertices of each part in the right figure). However, one cannot build a valid hashtable from the hashing graph on the left, while we pointed out a valid assignment on the right using the same notations as for capacitated matchings in Figure 2.1. A given fixed graph G only represents a particular choice for the pre-determined buckets associated with each item. In theory, these pre-determined buckets are determined via d independent hash functions applied to each item, and we can assume that one makes sure each item obtains d distinct buckets. This should yield for each item a set of pre-determined buckets which is a random subset of size d chosen uniformly at random among all such subsets of buckets and independently for each item. Then, the hashing graph G n,m is actually a random bipartite graph with a constant degree d for left-vertices and Poi(dn/m) for right-vertices. As described in Section 2.1.3, the hashing graph G n,m almost surely converges locally weakly to a two-step unimodular Galton-Watson limit, as the size of the system increases with n τm. In this context, the main question we try to answer is how large does the hashtable need to be to handle n items chosen at random among the possible ones? We mentioned the number of buckets m required is proportional to n with high probability. The problem is thus to compute precisely the proportionality threshold τ = τd,h,k,s such that, if n = τm with τ < τ, in the limit of m,n cuckoo hashing will yield a valid hashtable with high probability. Before proceeding to the next application, we attempt to give some intuition on why cuckoo hashing works well. Cuckoo hashing relies on a principle called the power of two choices: let us forget about the restriction that each bucket has a limited capacity for now, and suppose that we want to throw the n items just as if they were balls in the m buckets (and m = n for simplicity) with the goal of minimizing the maximum number of items in any bucket. The simplest distributed scheme for approximately balancing the load (i.e., the number of items) of each bucket is to throw each item in a random bucket. This leads to each bucket holding on average one item, and the maximum load is approximately logn items with high loglogn probability [55]. However, a very simple distributed scheme provides an exponential improvement over this basic result, provided one throws the items sequentially: for each item, d 2 random buckets are proposed, and one throws the item in the least loaded of the d buckets. This method yields a maximum load of loglogn logd +Θ(1) with high probability, as shown by Azar, Broder, Karlin and Upfal [10], a result known as the power of (at least) two choices (see [83] for a survey of the techniques used to show this type of result and the applications stemming from it). Broadly

43 42 CHAPTER 2. INTRODUCTION speaking, in the hashing context, the very slowly growing loglogn term tells us that buckets with a fixed capacity will hardly ever overflow, and even then the cuckoo hashing scheme will come into play and try to re-arrange the items to find a new valid assignment. The next section is about distributed CDNs. For more explanations on cuckoo hashing, see the corresponding chapter of the thesis (Chapter 4) Distributed CDNs According to Cisco [31], the amount of multimedia traffic the majority of which is video carried over the Internet nowadays is of the order of exabytes (10 18 ) per month and growing quickly, and most of this traffic is carried by dedicated overlay networks called content delivery networks (CDNs). A centralized hosting solution for many of these contents does not seem a scalable solution, as the delivery of a lot of delay-sensitive contents from a large data center in the core of the network to end-users located at the edge of the network would require massive bandwidth provisioning. Therefore, many of the large CDNs have rather adopted a distributed architecture, taking advantage of the low storage prices and deploying a large number of servers and small data centers over many networks (see [37] for a description of the challenges associated with this distributed nature and faced by the CDN Akamai). A similar move towards distributed caching is also visible in the content-centric approach to networking, initiated by Nelson [88] and which realized that more than 90% of Internet traffic is due to content dissemination and that tremendous bandwidth savings can be achieved via distributed caching. Within this framework, the Internet Service Providers (ISPs) create a cache network by disseminating small caches in the network e.g., by attaching them to the routers, and contents are cached on their way to the end-user so that closer service points are available should the same content be requested again. However, deploying a CDN in such a way requires the cooperation of ISPs, which certainly involves quite a bit of negotiations, and even then it is not clear at this point how to efficiently organize the system. Alternatively, one can take inspiration from peer-to-peer (P2P) systems, which have become incredibly popular for file-sharing since Napster was introduced in 1999 and with BitTorrent now accounting for more than half of all filesharing on the Internet. Such systems tend to be highly scalable and cost-efficient, as users who want to participate have to provide resources as well as using them. However, they may have a hard time providing high quality of service guarantees, especially for delay-sensitive content such as for a Video-on-Demand (VoD) service for example, due to the unpredictable behavior of peers (there have been nonetheless a few attempts at deploying such systems, e.g., PPLive). For large-scale delivery of delay-sensitive content, it is very tempting to combine some of the ideas above, by having a (smaller) data center assisted by devices already deployed at the users premises, e.g., set-top boxes or triple-play gateways (e.g., as done in NaDa [106] and the People s CDN). Indeed, leveraging the resources (storage, upload bandwidth) already present at the edge of the network offers considerable potential for scalability, cost reduction and base performance upgrade, while the data center provides reliability and quality of service guarantees. We call such a system, where a central

44 2.2. LOAD-BALANCING PROBLEMS 43 data center is assisted by small devices (which we call servers) located at the edge of the network, an edge-assisted CDN. We stress the fact that the small servers may have limited capabilities, which makes cheap devices eligible for that role. In an edge-assisted CDN, as the small servers are mainly there to reduce operational cost, one would want to use them as much as possible and to only direct requests to the data center as a last resort. Therefore, to understand and design such a system, we focus on the operation of the small servers and try to understand the performance of this sub-system. As we focus mainly on delay-sensitive contents (video streaming), when a request arrives we cannot delay it even if it cannot be served immediately by the small servers, therefore it has to be sent to the data center and can be viewed as lost for the small servers. We can thus adopt a loss network model (see [64]) for this sub-system, in contrast to queueing (also called waiting) models, where similar issues of efficient scheduling and replication have been considered notably in [7]. As a result of the analysis of the servers loss network, one can then dimension appropriately the data center to meet global performance requirements. We could even imagine that the data center is hosted via a cloud service, which allows it to dynamically adapt service capacity to meet instantaneous demand. The efficiency of the system constituted of the small servers alone critically depends on two factors: content replication within servers, which mainly amounts to determining how many times contents must be replicated, and how incoming service requests are matched to servers holding the requested content. These two issues are called the replication and the matching problems respectively. The latter can be seen as a load-balancing problem, where tasks are requests for contents and they need to be assigned servers storing the requested content. As for the replication problem, it allows us to play with the constraints of the load-balancing problem by modifying the set of resources which are suitable for a particular task; we refer to this as a resource-placement problem. Ideally, the design of solutions for these two problems should be done jointly. However, it might be a too amibious objective at this point. Therefore, we rather focus on two particular solutions to the matching problem: an optimal solution, which might not be practical, and a random greedy one, which is on the contrary quite simplistic and should always be feasible. As these two particular load-balancing strategies are in a sense extremal in the set of reasonable algorithms, understanding how they perform and when/why their performance differ should yield fundamental insights as well as quantitative reference points for the design of real systems. Once the performance of the load-balancing policy can be characterized for a given fixed replication, we can turn to the resource-placement problem and attempt to find the best possible replication policy, at least in large system / large storage limits. More details on distributed CDNs can be found in Chapter 5. To make things more concrete for the reader as well as to make more apparent the connection with capacitated matchings and with the random graph models introduced previously, we now describe succinctly the edge-assisted CDN model. In

45 44 CHAPTER 2. INTRODUCTION Figure 2.3: Content-server graph with a particular assignment of servers. this model, a data center is assisted by a large number m of small servers. The major feature of this model is its focus on modeling the basic constraints of a realistic system, in particular regarding the limited capacity of servers (in terms of storage, service and coordination) and the way requests are handled, i.e., the matching policy. We work most of the time with a basic version of the model, in which all the contents have the same size (and we do not allow splitting them to paralyze service), and each server stores a fixed number d of contents and can provide service for only one request at a time. The information of which server stores which content is represented as a bipartite graph G = (S C,E), where S is the set of servers, C the set of contents, and there is an edge in E between a content c and a server s if s stores a copy of c (and is thus eligible to serve requests for c). The contents have different popularities, given by their request arrival rates λ c, and each service takes and exponential time with mean 1. This results in an instantaneous number of requests R c for each content given by independent Poi(λ c ) random variables. At any time, the current assignment of servers to contents forms a capacitated matching of the graph G (with capacities R c for the contents and 1 for the servers). As an illustration, Figure 2.3 shows a particular content-server graph, with the contents on the left and servers on the right. Requests are shown as red rectangles beside the corresponding content and the contents stored by the servers are shown in the storage space on the right of the servers. If the servers are serving the contents as indicated by the edges in red, then one of the requests for content b must currently be handled by the data center. Due to the lack of coordination between the servers, it is not feasible to carefully design the content of all the caches in a joint manner. Therefore, at best, one can specify a number of replicas D c for each content c, and the servers will do random caching choices accordingly, so that the graph G will be a random bipartite graph with a prescribed degree sequence for the contents. At worst, very little information is known a priori on the contents, which are simply grouped into K classes of size α 1 n,...,α K n, and the servers have instructions on the caching preferences in the form of a distribution π P({1,...,K}) over the different classes. They will then choose independently for each of their d memory slots a random content in a class

Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments

Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments A- 0/0 Aspects théoriques et algorithmiques du calcul réparti Placement - Compléments Patrick CIARLET Enseignant-Chercheur UMA patrick.ciarlet@ensta-paristech.fr Françoise LAMOUR franc.lamour@gmail.com

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

Couplages et colorations d arêtes

Couplages et colorations d arêtes Couplages et colorations d arêtes Complément au chapitre 5 «Une employée mécontente» et au chapitre 9 «L apprentie sudokiste» Considérons n équipes de hockey qui doivent s affronter lors d un tournoi.

Plus en détail

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

Plus en détail

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé Baccalauréat ES Centres étrangers 1 juin 14 - Corrigé A. P. M. E. P. Exercice 1 5 points Commun à tous les candidats 1. On prend un candidat au hasard et on note : l évènement «le candidat a un dossier

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

StatEnAction 2009/10/30 11:26 page 111 #127 CHAPITRE 10. Machines à sous

StatEnAction 2009/10/30 11:26 page 111 #127 CHAPITRE 10. Machines à sous StatEnAction 2009/0/30 :26 page #27 CHAPITRE 0 Machines à sous Résumé. On étudie un problème lié aux jeux de hasard. Il concerne les machines à sous et est appelé problème de prédiction de bandits à deux

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Routage dynamique et protocoles de routage. Claude Chaudet Xavier Misseri

Routage dynamique et protocoles de routage. Claude Chaudet Xavier Misseri Routage dynamique et protocoles de routage Claude Chaudet Xavier Misseri Principe du routage Configurer les tables de routage (des routeurs) afin que les paquets empruntent le meilleur chemin disponible

Plus en détail

Introduction à la programmation en variables entières Cours 3

Introduction à la programmation en variables entières Cours 3 Introduction à la programmation en variables entières Cours 3 F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 272 Sommaire Notion d heuristique Les algorithmes gloutons

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Graphes, réseaux et internet

Graphes, réseaux et internet Graphes, réseaux et internet Clémence Magnien clemence.magnien@lip6.fr LIP6 CNRS et Université Pierre et Marie Curie (UPMC Paris 6) avec Matthieu Latapy, Frédéric Ouédraogo, Guillaume Valadon, Assia Hamzaoui,...

Plus en détail

Il existe actuellement plusieurs méthodes pour accéder à un serveur de contenu proche du client.

Il existe actuellement plusieurs méthodes pour accéder à un serveur de contenu proche du client. Yan Chen, Randy H. Katz, John D. Kubiatowicz. Dynamic Replica Placement for Scalable Content Delivery. In Peer-to-Peer Systems: First International Workshop, IPTPS 2002. Le domaine abordé par l article

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

Notes de cours de spé maths en Terminale ES

Notes de cours de spé maths en Terminale ES Spé maths Terminale ES Lycée Georges Imbert 05/06 Notes de cours de spé maths en Terminale ES O. Lader Table des matières Recherche de courbes sous contraintes, matrices. Systèmes linéaires.......................................

Plus en détail

COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR

COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR Université Paris VII. Préparation à l Agrégation. (François Delarue) COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR Ce texte vise à l étude du temps d attente d un client à la caisse d un

Plus en détail

Localisation de ressources dans les réseaux CDN

Localisation de ressources dans les réseaux CDN Cas de la VoD LIP6 DESIR - FT R&D Octobre 2008 Plan Introduction 1 Introduction 2 3 4 Introduction DESIR : DÉcision, Systèmes Intelligents et Recherche opérationnelle La recherche opérationnelle : (boite

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

RECHERCHE OPERATIONNELLE

RECHERCHE OPERATIONNELLE RECHERCHE OPERATIONNELLE PROBLEME DE L ARBRE RECOUVRANT MINIMAL I - INTRODUCTION (1) Définitions (2) Propriétés, Conditions d existence II ALGORITHMES (1) Algorithme de KRUSKAL (2) Algorithme de PRIM I

Plus en détail

Espace de probabilité, indépendance et probabilité conditionnelle

Espace de probabilité, indépendance et probabilité conditionnelle Chapter 2 Espace de probabilité, indépendance et probabilité conditionnelle Sommaire 2.1 Tribu et événements........................................... 15 2.2 Probabilité................................................

Plus en détail

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 1 Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 2 Introduction Pourquoi pair à pair? Utilisation de ressources

Plus en détail

Un corrigé de l épreuve de mathématiques du baccalauréat blanc

Un corrigé de l épreuve de mathématiques du baccalauréat blanc Terminale ES Un corrigé de l épreuve de mathématiques du baccalauréat blanc EXERCICE ( points). Commun à tous les candidats On considère une fonction f : définie, continue et doublement dérivable sur l

Plus en détail

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Yves Aragon, David Haziza & Anne Ruiz-Gazen GREMAQ, UMR CNRS 5604, Université des Sciences

Plus en détail

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

Plus en détail

Diusion VoD sur réseaux pair-à-pair: à propos de la taille du catalogue

Diusion VoD sur réseaux pair-à-pair: à propos de la taille du catalogue : à propos de la taille du catalogue Diusion VoD sur réseaux pair-à-pair: à propos de la taille du catalogue Yacine Boufkhad 1, Fabien Mathieu 2, Fabien de Montgoler 1, Diego Perino 2, Laurent Viennot

Plus en détail

2 Probabilités conditionnelles. Événements indépendants

2 Probabilités conditionnelles. Événements indépendants 2 Probabilités conditionnelles. Événements indépendants 2.1 Probabilité conditionnelle Soient A et B deux événements tels que P(B) > 0. Soit alors P(A B), la probabilité que A se réalise, B étant réalisé.

Plus en détail

RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables

RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables Laboratoire Bordelais de Recherche en Informatique Licence 3 : Informatique RAPPORT DE STAGE : Création d un programme pour la reconnaissance de ballons récursivement arbitrairement partitionnables Auteur

Plus en détail

Complexité des algorithmes

Complexité des algorithmes Complexité des algorithmes par Robert Rolland R. Rolland, Aix Marseille Université, Institut de Mathématiques de Marseille I2M Luminy Case 930, F13288 Marseille CEDEX 9 e-mail : robert.rolland@acrypta.fr

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

IFT6561. Simulation: aspects stochastiques

IFT6561. Simulation: aspects stochastiques IFT 6561 Simulation: aspects stochastiques DIRO Université de Montréal Automne 2013 Détails pratiques Professeur:, bureau 3367, Pav. A.-Aisenstadt. Courriel: bastin@iro.umontreal.ca Page web: http://www.iro.umontreal.ca/~bastin

Plus en détail

Généralités sur les graphes

Généralités sur les graphes Généralités sur les graphes Christophe ROSSIGNOL Année scolaire 2008/2009 Table des matières 1 Notion de graphe 3 1.1 Un peu de vocabulaire.......................................... 3 1.2 Ordre d un graphe,

Plus en détail

Etude de la suppression de clés dans les arbres lexicographiques équilibrés

Etude de la suppression de clés dans les arbres lexicographiques équilibrés Université de Tours UFR Sciences & Techniques Av. Monge, Parc de Grandmont 37200 TOURS, FRANCE Tél. (33)2-47-36-70-20 www.univ-tours.fr http://depinfo.univ-tours.fr Département d Informatique Projet d

Plus en détail

Structures de données et algorithmes fondamentaux

Structures de données et algorithmes fondamentaux Structures de données et algorithmes fondamentaux 01 Complexité algorithmique Anthony Labarre 20 octobre 2015 Informations pratiques Mes coordonnées : Anthony Labarre E-mail : Anthony.Labarre@univ-mlv.fr

Plus en détail

De la difficulté de colorer : de Guthrie à Karp

De la difficulté de colorer : de Guthrie à Karp De la difficulté de colorer : de Guthrie à Karp Introduction à l optimisation combinatoire : Modélisation et complexité Marc Demange ESSEC Business School Paris, Singapore demange@essec.edu Plan de la

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

Exercices de simulation 1

Exercices de simulation 1 Licence MIA 2ème année Année universitaire 2009-2010 Simulation stochastique C. Léonard Exercices de simulation 1 Les simulations qui suivent sont à effectuer avec Scilab. Le générateur aléatoire de Scilab.

Plus en détail

Sujet de Bac 2013 Maths ES Obligatoire & Spécialité - Pondichéry

Sujet de Bac 2013 Maths ES Obligatoire & Spécialité - Pondichéry Sujet de Bac 2013 Maths ES Obligatoire & Spécialité - Pondichéry Exercice 1 : 4 points Commun à tous les candidats Cet exercice est un questionnaire à choix multiples. Une réponse exacte rapporte 1 point.

Plus en détail

Moments des variables aléatoires réelles

Moments des variables aléatoires réelles Chapter 6 Moments des variables aléatoires réelles Sommaire 6.1 Espérance des variables aléatoires réelles................................ 46 6.1.1 Définition et calcul........................................

Plus en détail

Suites réelles. 4 Relations de comparaison des suites 9 4.1 Encore du vocabulaire... 9. 5.2 Quelques propriétés... 13

Suites réelles. 4 Relations de comparaison des suites 9 4.1 Encore du vocabulaire... 9. 5.2 Quelques propriétés... 13 Maths PCSI Cours Table des matières Suites réelles 1 Généralités 2 2 Limite d une suite 2 2.1 Convergence d une suite....................... 2 2.2 Deux premiers résultats....................... 3 2.3 Opérations

Plus en détail

Introduction à l Analyse des Réseaux Sociaux

Introduction à l Analyse des Réseaux Sociaux Introduction à l Analyse des Réseaux Sociaux Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane, France erick.stattner@univ-ag.fr Guadeloupe, Novembre 2012 Erick Stattner Introduction

Plus en détail

Modélisation aléatoire en fiabilité des logiciels

Modélisation aléatoire en fiabilité des logiciels collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur.

Plus en détail

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

Modélisation aléatoire en fiabilité des logiciels

Modélisation aléatoire en fiabilité des logiciels collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur.

Plus en détail

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang

1998.02 Composition d un portefeuille optimal. Dinh Cung Dang 199802 Composition d un portefeuille optimal Dinh Cung Dang Docteur en gestion de l IAE de Paris Ingénieur Conseil Résumé : Dans ce travail, le risque est défini comme étant la probabilité de réaliser

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

Combien de fois faut-il battre un jeu de cartes?

Combien de fois faut-il battre un jeu de cartes? Combien de fois faut-il battre un jeu de cartes? Ce texte est tiré d un article de D. Bayer et P. Diaconis Trailing the dovetail shuffle to its lair Ann. Appl. Prob. 992, vol 2, No 2, 294-33. Introduction

Plus en détail

Notion de complexité

Notion de complexité 1 de 27 Algorithmique Notion de complexité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www-igm.univ-mlv.fr/ hivert Outils mathématiques 2 de 27 Outils mathématiques : analyse

Plus en détail

Épreuve de mathématiques Terminale ES 200 minutes

Épreuve de mathématiques Terminale ES 200 minutes Examen 2 Épreuve de mathématiques Terminale ES 200 minutes L usage de la calculatrice programmable est autorisé. La bonne présentation de la copie est de rigueur. Cet examen comporte 7 pages et 5 exercices.

Plus en détail

Les graphes d intervalles

Les graphes d intervalles Les graphes d intervalles Complément au chapitre 3 «Vol aux archives cantonales» Considérons un ensemble de tâches ayant chacune une heure de début et une heure de fin bien précises. Supposons qu on demande

Plus en détail

Quelques problèmes NP-complets

Quelques problèmes NP-complets Chapitre 12 Quelques problèmes NP-complets Maintenant que nous connaissons la NP-complétude d au moins un problème (SAT), nous allons montrer qu un très grand nombre de problèmes sont NP-complets. Le livre

Plus en détail

PSR : état de l art. Algorithmes exponentiels pour les problèmes de jeux dans les graphes

PSR : état de l art. Algorithmes exponentiels pour les problèmes de jeux dans les graphes PSR : état de l art Algorithmes exponentiels pour les problèmes de jeux dans les graphes Romain Letourneur Université d Orléans 14 mai 2012 2/34 Ma thématique Algorithmique exponentielle ; Problèmes de

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

MAT 2377 Solutions to the Mi-term

MAT 2377 Solutions to the Mi-term MAT 2377 Solutions to the Mi-term Tuesday June 16 15 Time: 70 minutes Student Number: Name: Professor M. Alvo This is an open book exam. Standard calculators are permitted. Answer all questions. Place

Plus en détail

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux

Plus en détail

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6 Gestion de données à large échelle Anne Doucet LIP6 Université Paris 6 1 Plan Contexte Les réseaux P2P Non structurés Structurés Hybrides Localisation efficace et Interrogation complète et exacte des données.

Plus en détail

Multiplication par une constante entière

Multiplication par une constante entière Multiplication par une constante entière Vincent Lefèvre Juin 2001 Introduction But : générer du code optimal à l aide d opérations élémentaires (décalages vers la gauche, additions, soustractions). Utile

Plus en détail

Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources

Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources Jonathan Lejeune LIP6-UPMC/CNRS, Inria 19 septembre 2014 Directeur : Pierre Sens Encadrants : Luciana Arantes et

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 1 - Introduction Qu est-ce qu un

Plus en détail

Pair-à-Pair: Architectures et Services

Pair-à-Pair: Architectures et Services Pair-à-Pair: Architectures et Services Fabrice Le Fessant Fabrice.Le_Fessant@inria.fr Équipe ASAP (Réseaux très large échelle) INRIA Saclay Île de France Octobre 2008 Fabrice Le Fessant () Architectures

Plus en détail

COURS SYRRES RÉSEAUX SOCIAUX. Jean-Loup Guillaume

COURS SYRRES RÉSEAUX SOCIAUX. Jean-Loup Guillaume COURS SYRRES RÉSEAUX SOCIAUX Jean-Loup Guillaume Le cours http://jlguillaume.free.fr/www/teaching/syrres/ Exemple 1 : Expérience de Milgram Objectif faire transiter une lettre depuis les Nebraska à un

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Cours de mathématiques pour la Terminale S

Cours de mathématiques pour la Terminale S Cours de mathématiques pour la Terminale S Savoir-Faire par chapitre Florent Girod 1 Année scolaire 2015 / 2016 1. Externat Notre Dame - Grenoble Table des matières 1) Suites numériques.................................

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010)

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Par LoiselJP Le 01/05/2013 1 Objectifs Ce document décrit le plus succinctement possible une manière, parmi d'autres, d installer

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien)

Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien) Finance des matières premières (6b) De la formation des prix sur les marchés financiers à la possibilité d un équilibre (non walrasien) Alain Bretto & Joël Priolon - 25 mars 2013 Question Dans un équilibre

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

INTRODUCTION À L ALGORITHMIQUE RÉPARTIE

INTRODUCTION À L ALGORITHMIQUE RÉPARTIE INTRODUCTION À L ALGORITHMIQUE RÉPARTIE Chargée de cours: Transparents :http://www-npa.lip6.fr/~blin/enseignements.html Email: lelia.blin@lip6.fr ALGORITHMIQUE SÉQUENTIELLE Une tâche / un calcul Série

Plus en détail

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP)

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Loris Marchal, Guillaume Melquion, Frédéric Tronel 21 juin 2011 Remarques générales à propos de l épreuve Organisation

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Petits jeux de probabilités (Solutions)

Petits jeux de probabilités (Solutions) Petits jeux de probabilités (Solutions) Christophe Lalanne En famille 1. Mon voisin a deux enfants dont l un est une fille, quelle est la probabilité pour que l autre soit un garçon? Une famille de deux

Plus en détail

Recherche d information textuelle

Recherche d information textuelle Recherche d information textuelle Pré-traitements & indexation B. Piwowarski CNRS / LIP6 Université Paris 6 benjamin@bpiwowar.net http://www.bpiwowar.net Master IP - 2014-15 Cours et travaux pratiques

Plus en détail

TS. 2012/2013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 20/11/12

TS. 2012/2013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 20/11/12 TS. 01/013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 0/11/1 Exercice 1 : ( 6,5 pts) Première partie : Démonstration à rédiger { Démontrer que si ( ) et (v n ) sont deux suites telles

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

Travail d Initiative Personnel Encadré : Chaines de Markov et protocole de gestion des communications radios par satellite relais.

Travail d Initiative Personnel Encadré : Chaines de Markov et protocole de gestion des communications radios par satellite relais. Yongwe Jean-Luc Travail d Initiative Personnel Encadré : Chaines de Markov et protocole de gestion des communications radios par satellite relais. (Système ALOHA) (Sous la tutelle de Madame Anne Perrut)

Plus en détail

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Année 2008/2009 1 Décomposition QR On rappelle que la multiplication avec une matrice unitaire Q C n n (c est-à-dire Q 1 = Q = Q T ) ne change

Plus en détail

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006 ESSEC M B A CONCOURS D ADMISSION Option économique MATHEMATIQUES III Année 2006 La présentation, la lisibilité, l orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront

Plus en détail

Sélectionner le meilleur pair. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. 29 novembre 2010

Sélectionner le meilleur pair. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. 29 novembre 2010 1 Sélectionner le meilleur pair / Sélectionner le meilleur pair Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr 29 novembre 2010 2 Sélectionner le meilleur pair / Le problème Je veux récupérer un gros fichier

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Composition d Informatique (2 heures), Filière MP (XC)

Composition d Informatique (2 heures), Filière MP (XC) école polytechnique concours d admission 2014 ens : cachan Composition d Informatique (2 heures), Filière MP (XC) Rapport de M. Didier CASSEREAU, correcteur. 1. Bilan général A titre de rappel, cette épreuve

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Sélectionner le meilleur pair

Sélectionner le meilleur pair Sélectionner le meilleur pair Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr 29 novembre 2010 1 Sélectionner le meilleur pair / Le problème Je veux récupérer un gros fichier (mettons une image d installation

Plus en détail

Modélisation coalescente pour la détection précoce d un cancer

Modélisation coalescente pour la détection précoce d un cancer Modélisation coalescente pour la détection précoce d un cancer Mathieu Emily 27 Novembre 2007 Bioinformatics Research Center - Université d Aarhus Danemark Mathieu Emily Coalescence et cancer 1 Introduction

Plus en détail

Problème de contrôle optimal pour une chaîne de Markov

Problème de contrôle optimal pour une chaîne de Markov Problème de contrôle optimal pour une chaîne de Markov cours ENSTA MA206 Il s agit de résoudre un problème d arrêt optimal pour une chaîne de Markov à temps discret. Soit X n une chaîne de Markov à valeurs

Plus en détail