Vidéo a la demande en Peer-to-peer intégral
Transcription
Vidéo a la demande en Peer-to-peer intégral
Vidéo a la demande en Peer-to-peer intégral où l'on montre qu'il faut avoir un gros catalogue et bien s'en servir Yacine Boufkhad, Fabien Mathieu, Fabien de Montgoler, Diego Perino et Laurent Viennot Vidéo a la demande en Peer-to-peer intégral 1 2 1 Yacine Boufkhad , Fabien Mathieu , Fabien de Montgoler , 2 1 Diego Perino , Laurent Viennot (1) Projet ANR Aladdin & Équipe-projet INRIA GANG & LIAFA (CNRS-Université Paris Diderot) (2) Orange Labs Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? problem statement Un modèle P2P pour la VoD Protagonistes I Une organisation (FAI) souhaitant proposer un service de vidéo I Des client ADSL, possédant des @µ~Z∇ ^-box Hypothèses I Les clients doivent regarder leur vidéo on-demand : sans I Bien sûr chacun demande ce qu'il veut, quand il veut I Le Catalogue est l'ensemble des vidéos proposées délai Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is not Modèle à serveur server client client client client _ I Bande passante limitée et chère ¨ _ I Capacités de stockage limitées et chères ¨ Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is not Un modèle P2P pour la VoD Protagonistes I Une organisation (FAI) souhaitant proposer un service de vidéo I Des client ADSL, possédant des @µ~Z∇ ^-box ayant des capacité de stockage (disque dur) et d'upload Hypothèses I Les clients doivent regarder leur vidéo on-demand : sans I Bien sûr chacun demande ce qu'il veut, quand il veut I Le Catalogue est l'ensemble des vidéos proposées délai Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is not Problèmes connexes Téléchargement simple I oine : délai non borné. I eMule, BitTorrent [Bram Cohen 2003],... Multicast I Sert à diuser du contenu live I Chacun regarde le même ux, au même point I SplitStream [Castro et al. 2003], ZigZag [Tran et al. 2003] PPLive [Hei et al 2006] Prexstream [Gai Viennot 2006]. . . Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is P2P suppléant un serveur server client client client client I Les capacités de relais des pairs sont utiliées pour aider la une seule vidéo [Hei et al. 2006, Annapureddy distribution d' et al. 2007, Cheng et al. 2007, Huang et al. 2007, . . . ] _ I Capacités de stockage du serveur toujours limitées et chères ¨ ^ I Répartition de la charge pour une vidéo ¨ _ I mais étranglement du serveur si bcp de vidéos regardées ¨ Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is P2P pur server client I client client client plus de serveur Les données sont stockées sur les disques des box [Push-to-Peer, Suh et al. 2007] ^ I Croissance sans problème du système ¨ ^ I Répartition de la charge pour une vidéo ¨ Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is P2P pur server client I client client client plus de serveur Les données sont stockées sur les disques des box [Push-to-Peer, Suh et al. 2007] ^ I Croissance sans problème du système ¨ ^ I Répartition de la charge pour une vidéo ¨ I catalogue de taille constante _ ¨ Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? What it is P2P pur server client I client client client plus de serveur Les données sont stockées sur les disques des box [Push-to-Peer, Suh et al. 2007] ^ I Croissance sans problème du système ¨ ^ I Répartition de la charge pour une vidéo ¨ I catalogue de taille constante _ ¨ ^ ^ ^ I Notre but : faire grossir le catalogue ¨ ¨ ¨ Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? Our goal Notre but I Étant donnés les paramètres physiques du système : I Taille des disques des box I Upload et download des box I Taille et débit des vidéos stockées I en supposant le pire scénario (implique que chacun regarde un lm) I et en garantissant la QoS nous voulons maximiser la taille du catalogue. O (n) borne triviale. Ω(n) atteignable ? Vidéo a la demande en Peer-to-peer intégral VoD over P2P ? Our goal Plan I Exposé du modèle deux-temps I Un résultat théorique d'optimalité I cas homogène I cas général I Des algorithmes pratiques I Des simulations Vidéo a la demande en Peer-to-peer intégral Modèle Un modèle en deux temps Peut-on vraiment se passer du serveur ? 1- Déploiement Un serveur stocke des données de vidéos dans les disques des box (tâche de fond à débit lent, temps diéré) 2- Service Quand un client veut regarder une vidée, il la télécharge depuis certaines box en temps réel Nous nous intéressons à stocker les vidéos (phase 1, centralisé) d'où télécharger les vidéos (phase 2, décentralisé, temps réel) I où I Vidéo a la demande en Peer-to-peer intégral Modèle Stockage Sous quel forme stocker les vidéos Hypothèses I n box I stockage identiques ou non capacités d'émission identiques ou non nombre constant de connections I m I capacités de I vidéos visionnables Stripping I Diviser le ux video en I c c sous-ux est justement le nombre de connections entrantes I tolérence aux erreurs, répartition de la charge Vidéo a la demande en Peer-to-peer intégral Modèle Stockage Dans quelles boites stocker les stripes ? Réponse : allocation aléatoire I Chacune des m vidéos est coupée en I Chaque stripe est copiée dans I Permutation aléatoire des mck k c stripes box stripes Justication I On télécharge une stripe sans reconnection I Pas d'hypothèse sur qui va télécherger quoi (futur inconnu) → symmétrie du problème I Autre raison expliquée ensuite : propriété d'expander Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Dénition Le modèle homogène Propriétés des boites I I I n utilisateurs = n box stockage constant : d upload constant u vidéos / boîte I nombre de connections entrantes constant Propriétés des vidéos I m vidéos disponibles I ayant la même durée I et le même débit I coupées chacune en c stripes. c Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Swarming Le swarming (relais entre utilisateurs) C'est quoi ? La vidéo présentement regardée est mise en cache. L'utilisateur peut l'émettre vers d'autres Pourquoi ? Sans cela, taille de catalogue constante ! Que relayer ? Tout morceau vu depuis un délai t Hypothèse de croissance régulière Pendant ce temps t arrive au plus une proportion (sinon, taille de catalogue constante aussi !) µ de requêtes Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Le théorème de Hall Le théorème de Hall Soit Un (X ∪ Y , E ) |X | = |Y | |M | = |X | sans un graphe biparti tq couplage parfait est M ⊂ E tq entre arêtes X Y Le théorème de Hall un couplage parfait existe ssi expansion) ( ∀S ⊂ Y |N (S )| ≥ |S | incidences Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Le théorème de Hall Le théorème de Hall Soit Un (X ∪ Y , E ) |X | = |Y | |M | = |X | sans un graphe biparti tq couplage parfait est M ⊂ E tq entre arêtes X Y S Le théorème de Hall un couplage parfait existe ssi expansion) ( ∀S ⊂ Y |N (S )| ≥ |S | incidences Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Le théorème de Hall Application du théorème de Hall le biparti des requêtes I I I X = box Y = {y1 ...yr } = requêtes = multi-ensemble de stripes arêtes E tq N (yi ) ⊂ X = box pouvant satisfaire yi assignation des connections : M ⊂ E tq I |M | = r et toute requête I toute box x X b=2 Y yi touche au plus touche une arête de b arêtes de M M Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Le théorème de Hall Application du théorème de Hall Théorème de Hall generalisé Une assignation existe ssi (1/b)-expansion b ∀S ⊂ Y |N (S )| ≥ |Sb | = nombre de sockets d'upload. Ici constant et Modèle hétérogène : fonction b(x ) de moyenne c b = c. (cf infra) X b=2 Y S Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Théorème principal Alors, est-ce possible ? Théorème Une allocation par pour tout permutation aléatoire est un 1/b-expander multi-ensemble de requetes I avec forte probabilité I modèle homogène, pour l'instant I il faut upload I avec c > download (nombre de stripes) fonction de de croissance max I avec O (log d ) µ upload download copies de chaque stripe (où et de la vitesse d =taille de disque) Conséquence : Une taille de catalogue de ( Θ(n) dn ) Ω( logd vidéos diérentes est possible lms est l'optimum. Atteint !) Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Théorème principal Démonstration Théorème Une taille de catalogue de dn ) Ω( logd vidéos diérentes est possible I Pas de reconnection : connecter les nouveaux seulement I Obstruction : ens S de req tq. |Upload (Box ayant S )| < |Sc | I Si arrive, l'upload du swarm ne peut satisfaire la demande de dl I Ratio download / upload I Espérance qu'il arrive α>0 majoré par ≥1 µ/u obstruction(s) : fonction des paramètres (d , u , µ...) technique ! I Inégalité de Markov permet de conclure O (1/nα ) avec mais pas de n. Point Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Théorème principal Les points techniques Théorème dn ) Ω( logd Une taille de catalogue de vidéos diérentes est possible Les vraies valeurs I I I I I 2 c > 2µu−−11 stripes d0 k ≥ 5ν −1 log log u 0 copies 1 ν = c +2µ1 2 −1 − uc u 0 = c1 buc c d 0 = max{d , u , exp(1)} I et nalement m=Ω 1 (u −1)2 log u + 2 1 dn u3 µ2 log d 0 vidéos Vidéo a la demande en Peer-to-peer intégral Résultat théorique, cas homogène Théorème principal Plus de lms ou plus de qualité ? u Les vidéos ont débit v P2P pur =⇒ v < u Si v est grand... I Les box ont upload I I I I ...la qualité est meilleure, mais... I ...le catalogue est plus petit ! I m→0 en 3 u v −1 Vidéo a la demande en Peer-to-peer intégral Résultat pour le cas hétérogène Problème ! Hétérogénité : le problème Toutes les box ne sont pas créées égales... Deux sortes de box : riches (upload>seuil) et Si trop de pauvres dans le swarm → pauvres plus d'upload dispo ! Hypothèse d'homogénéité faible Il y a problème si les riches ont un petit disque : I Intuitivement, requêtes reçues I Mais requêtes satisfaites ≤ ' stripes stockées upload Solution : imposer une minoration de d /u (idéalement d /u = cste ) Vidéo a la demande en Peer-to-peer intégral Résultat pour le cas hétérogène Solution ! Hétérogénité : la solution I Aecter à toute pauvre box b une box riche I Réserver des slots upload pour I Certaines stripes requises à I r (b) b b chez r (b) r (b) sont routées par les émet donc à la place de r (b) b swarming upload r(b) b download I Bien sûr certains slots d'upload de r (b) sont gâchés... Vidéo a la demande en Peer-to-peer intégral Résultat pour le cas hétérogène Conclusion de la partie théorique Conclusion de la partie théorique I Nous avons montré l'existence d'un seuil : I Si upload download <1 la taille de catalogue est constante I Si upload download >1 le catalogue passe à l'échelle : taille I L'algorithme d'allocation : simplement aléatoire ! I Boites homogènes ou hétérogènes (mais à I Tous scénarios de requête (pire cas) upload disque → m = Ω(n) robustesse majoré) Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Trois algorithmes de connection 1 Connection simple (S) Le visonneur se connecte à l'une des k boîtes stockant son lm. Quand plus d'émission dispo dans aucune des k boîtes : échec ! 2 Connection avec cache et relais (C) Chaque visonneur a un cache de la vidéo regardée. Un nouveau visonneur se connecte a un des ou à un des l k pairs stockant le lm pairs le visonnant. Quand plus d'émission dispo dans aucune des k +l boîtes : échec ! Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Trois algorithmes de connection 3 Connection dynamique avec relais (D) Un pair serveur peut déconnecter un pair client (qui devra se reconnecter) Règle de priorité serveur : I Préférer le relais au stockage : déconnecter si besoin I Mais réserver une connection de stockage ! Règle de priorité client : I Requerir seulement des relais (connus par tracker) I Cependant pour un swarm petit, requêtes faites dans relais+stockage Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Autre idée Question : On se place dans un scénario de popularités diérentes. Chaque lm a une popularité connue. Vaut-il mieux pré-charger les lms selon la popularité, on tous autant et utiliser le cache ? Pré-chargement suivant la popularité I Chaque vidéo est découpée en c stripes (pour telechargement simultané) I Chaque stripe est pré-chargéee max(1,α.Popu(lm)) fois sur des boîtes aléatoires I La taille du catalogue est toujours constante) O (n) (réplication moyenne Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Hypothèse d'occurrence des requêtes Requêtes poissonniennes Ensuite, les boîte demandent à voir une vidéo. Le début du visionnage suit une loi de Poisson. Plusieurs scénarios : 1. Demandes uniformes 2. Demandes suivant une popularité en loi de Zipf Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Simulations Hypothèses 1000 peers, 25 lms par boîte. Arrivées réalistes avec burst max 27/5 sec, loi de Poisson modié, moyenne 17/5 sec Répartition réaliste en Zipf Law des requêtes de paramètre 0.4 Quelles courbes ? Simple, Cache, Dynanique 2 allocations lms sur boîtes : Equiréparti ou Power law I 3 algorithmes de requêtes : I Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Simulation : insatisfaction en fonction de la réplication 0.8 SE CE DE SP20 CP20 0.7 0.6 Failure ratio 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 Number of copies 14 16 18 20 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Simulations Quelles courbes ? I 3 algorithmes de requêtes : Simple, Cache, Dynanique Equiréparti ou Power law I 2 allocations lms sur boîtes : Quel résultat ? I Abscisse : un paramètre varie I Ordonnée : on lit les échecs ou la taille du catalogue Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Quelle valeur pour l'upload ? 0.5 0.45 0.4 Failure ratio 0.35 0.3 SE 0.25 CE DE 0.2 SP20 CP20 0.15 0.1 0.05 0 1 1.05 1.1 1.15 1.2 1.25 1.3 Upload capacity 1.35 1.4 1.45 1.5 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Quel catalogue ? (requêtes suivant popularité réaliste) 4 2.5 x 10 SE CE 2 DE SP20 # of videos CP20 1.5 1 0.5 0 1 1.05 1.1 1.15 1.2 1.25 1.3 upload capacity 1.35 1.4 1.45 1.5 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Quel catalogue ? Scénario BlockBuster : 50% req. sur le même lm 7000 SE CE 6000 DE SP20 5000 Number of videos CP20 4000 3000 2000 1000 0 1 1.05 1.1 1.15 1.2 1.25 1.3 Upload capacity 1.35 1.4 1.45 1.5 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Insatisfaction 15000 SE CE DE SP20 Number of videos 10000 5000 0 10 6 4 1 0.6 Failure percentage 0.4 0.1 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Inuence du tracker (nombre de peers testés au max) 6000 SE CE 5000 DE SP20 CP20 Number of videos 4000 3000 2000 1000 0 5 10 15 20 25 30 List size 35 40 45 50 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Erreurs sur Zipf Law 4 2.5 x 10 SP SP10 SP20 SPr 2 CP number of videos CP10 CP20 1.5 CPr 1 0.5 0 1 1.05 1.1 1.15 1.2 1.25 1.3 upload capacity 1.35 1.4 1.45 1.5 Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection Simulations Paramètres et leurs valeurs par défaut du simulateur n m d u c x Nombre de boites (1000) Nombre de vidéos. nd = km (5 ou variable) Nombre de lms par boîte (25) upload d'une boîte (1.2 débit video) Nombre de connections entrantes = nombre de stripes (10) Pairs demandés au tracker (30) Vidéo a la demande en Peer-to-peer intégral Algorithmes réalistes de connection conclusion Conclusion des expérimentations Le relais avec connection dynamique est robuste Un pair trouvera à se connecter dans le swarm si réplication logarithmique (théorème) voire constante (simulations) La réplication par popularité sans relais est fragile La moindre erreur sur la réplication est lourde Reconnection dynamique ? Utile sur les gros swarms ! Vidéo a la demande en Peer-to-peer intégral publications publications Boufkhad, Mathieu, Montgoler, Perino, Viennot : I Achievable Catalog Size in Peer-to-Peer Video-on-Demand Systems IPTPS 2008, 7th International Workshop on Peer-to-Peer Systems, Toronto I An upload bandwidth threshold for peer-to-peer Video-on-Demand scalability. IPDPS 2009, IEEE International Parallel & Distributed Processing Symposium, Rome I Fine Tuning of a Distributed Video-on-Demand System ICCCN 2009, 18th International Conference on Computer Communications and Networks, San Francisco