logo EDITE Sujets de doctorat

Etude de performances d'un système de traitement Big Data en environnement virtualisé

Résumé rédigé par
Directeur de thèse:
Doctorant: Son-Hai HA
Unité de recherche UMR 7102 Laboratoire de recherche d'EURECOM

Projet

Le Big Data présente plusieurs défis : la capture, l’identification de données à stocker, le stockage, la recherche de données, la mise à disposition, le transfert, l’analyse, la visualisation...

Ce qui fait de ces questions de véritables défis dans le cadre du Big Data c’est l’extrême opposition entre le volume des données en question et les contraintes de temps dans les limites desquels on souhaite obtenir des résultats. Ainsi les performances sont un problème fondamental du domaine Big Data.

Une première étape vers l’atteinte des objectifs de performances est la parallélisation massive des traitements et du stockage à travers des outils comme Hadoop [Hadoop]. Cette parallélisation nécessite une mise à disposition massive de ressources souvent sur une période temporaire. Une souplesse sur la gestion des ressources est apportée par la virtualisation à la fois des traitements et du réseau.

Toutefois la mise en œuvre du traitement Big Data et la gestion efficace des ressources n’est pas pris en charge par les offres actuelles. Cette mise en œuvre aura un fort impact sur les performances du calcul ainsi que sur les ressources bloquées pendant le calcul. La virtualisation apporte un degré de liberté supplémentaire mais aussi un degré de complexité supplémentaire, nécessitant des connaissances particulières.

Il est important de remarquer que, au cours des dernières années, la communauté scientifique impliquée dans le domaine des réseaux a consacré un grand effort dans la construction d'infrastructures de mesure pour établir la performance des « applications cloud » actuelles, qui reposent sur un éventail de techniques de virtualisation Toutefois ces études ne répondent pas aux questions posées dans le contexte Big Data. Essentiellement, nous avons pu identifier deux axes de recherche existants qui sont en relation avec le sujet de cette proposition de thèse, axes de recherche existants qui présentent à nos yeux les lacunes suivantes :

  • Mesures sur les clouds publics: le but principal destravaux existants sur ce thème consiste àétudier le comportement de base du protocole de transport TCP en observant la latence (RTT) et le débit d’une connexion point-a-point entre machines virtuelles et de comparer la stabilité de ces mesures par rapport à un environnent non virtualisé [Wan10, Yid10]. Le problème principal de ce type d’analyse, du type « benchmark », est qu’il porte sur des « boites noires », dans le sens qu’il est impossible d’établir une corrélation entre les mesures et les caractéristiques des machines virtuelles tels que leur placement sur des serveurs physiques, dans la mesure où la composition interne des clouds publics en question n’est pas accessibles aux auteurs. En outre, l’architecture réseaux est opaque, et donc il est impossible d’attribuer le comportement observé à une composante réseau (physique ou virtuel). Par conséquent ces travaux proposent uniquement des observations sur les mesures effectuées et ne permettent pas d’analyser les causes ni de proposer des remèdes aux problèmes de performance réseau.
  • Mesures sur des petits bancs d'essai: à l’opposé ces travaux (voir par exemple [Whi11])], se concentrent sur des environnements très réduits, qui généralement n’incluent que deux machines physiques et quelques machines virtuelles. Les logiciels de virtualisation sont aussi limités dans le sens qu’ils ne font pas partie d’un « framework » de gestion de cloud : en conséquence, plusieurs composants qui sont essentiels pour transmettre les données entre machines virtuelles ne sont pas utilisés, et donc il est impossible d’en déduire leur apport vis a vis des performance atteintes par la couche réseau.

Enfin, à notre connaissance, il n’existe pas une littérature dédiée a l’étude d’un système complet de virtualisation réseau et de ses performances ; en outre, les problèmes réseaux engendrés par des « pattern » de trafic du type Big Data, et par l’impacte de la configuration des systèmes de traitements des données, a été a présent totalement négligé.

En fait, il est important de remarquer que la configuration des traitements Big Data ne peut être laissée entièrement à une intervention humaine sauf à nécessiter l’intervention d’un spécialiste et des délais de mise en œuvre important ou alors des temps de traitement et des coûts en ressources potentiellement très importants et surdimensionnés.

Alors que le comportement d’un cluster physique Hadoop, en environnement opérationnel, est aujourd’hui « connu », voire « maitrisé » (règles d’ingénierie, monitoring…), il n’en est pas de même dans un environnement virtualisé : même si, on peut trouver aujourd’hui des « VM Hadoop », elles sont principalement utilisées dans des phases d’apprentissage ou de développement. Dans cette 1ère phase de virtualisation, le modèle Hadoop a été cloné dans une machine virtuelle qui rassemble à la fois Compute et Storage. Ce schéma de départ ne permet pas de tirer profit des avantages du cloud (flexiblité, scalabilité à la demande) et nécessite des capacités de stockage importantes (multiplication du nombre de copies d’une même donnée). Il devra donc évoluer vers une séparation entre compute et storage puis vers un accès multi-tenants aux datas.

L’étude devra permettre d’étudier, d’analyser et d’optimiser les performances dans ces différents contextes. Les données ne pourront, à terme, être concentrées dans un seul data center ou dans un seul cloud : l’étude devra prendre en compte cette évolution vers le multi-cloud (en liaison avec d’autres activités de recherche au sein d’Orange Labs).

L’étude sera basée dans un premier temps sur l’environnement technique Hadoop qui occupe actuellement le devant de la scène. Toutefois si les travaux montrent les limites de cette solution, ou si d’autres opportunités se présentent (Spark [spark], [Zah12, Zah10] ou autre), il sera important de la repositionner sur ces nouveaux composants.

References:

[hadoop] http://hadoop.apache.org/

[spark] http://spark-project.org/

[Zah12] Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, Murphy McCauley, Michael J. Franklin, Scott Shenker, Ion Stoica, "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing", in Proc. of ACM/USENIX NSDI 2012, April 2012.

[Whi11] J. Whiteaker, F. Schneider, and R. Teixeira, "Explaining packet delays under virtualization", in ACM SIGCOMM CCR, 2011.

[Zah10] Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin, Scott Shenker, Ion Stoica, "Spark: Cluster Computing with Working Sets", in Proc. of USENIX HotCloud 2010, June 2010.

[Wan10] Guohui Wang and Eugene Ng, "The impact of virtualization on network performance of Amazon EC2 data center", in Proc. of IEEE INFOCOM, 2010.

[Yid10] Mei Yiduo, Ling Liu, Xing Pu, and Sankaran Sivathanu, "Performance measurements and analysis of network I/O applications in virtualized clouds", in Proc. of IEEE CLOUD, 2010.