Blog entries

  • Mêlée numérique 2012: État de l'art Big Data

    2012/05/03 by Sylvain Thenault
    http://www.logilab.org/file/92705?vid=download

    J'ai passé ce jeudi 26 avril à la Mêlée numérique à Toulouse.

    Après une mini-conf d'une heure sur l'état de l'art de l'Open Data, j'ai suivi l'après midi "état de l'art Big Data" au même format.

    Big Data vu par SGI

    Ma première surprise a été d'apprendre où était caché SGI (vous vous rappelez peut-être les postes Indigo qu'on trouvait pour faire du graphisme et de l'animation...) depuis tout ce temps : et bien non, ils ne sont pas morts mais montent des calculateurs pour des grands comptes. Le premier intervenant était donc M. Carsalade, responsable infrastructure chez SGI, qui a pris quelques exemples d'applications et d'infrastructures "Big Data" (petabytes de données) menées par SGI.

    Parmi les applications citées : calculateurs chez NOAA (sorte de Météo France aux US) ou Total (analyse des sols), Cosmos Project (15 tera de ram...), génomiques

    SGI déploie par ex. :

    • 500 000 serveurs SGI chez Amazon pour S3/eC2, site web, AWS...
    • 300 000 serveurs SGI chez Microsoft pour Live Search (Bing, Exchange, MSN, etc.)

    La technologie est souvent basée sur HADOOP, qui permet la recherche en parallèle sur un cloud, basée sur le principe map / reduce initiée par Google.

    On note l'évolution des technologies dans le temps et par volume croissant:

    • OLTP (données structurées),
    • data warehouse (données essentiellement structurées),
    • Big Data (données essentiellement non structurées)

    Il conclut que Big Data, c'est :

    • la capacité de stockage de données, et celle de l'agrandir au fur et à mesure du besoin,
    • travailler sur ces données (HADOOP), les analyser et les visualiser,
    • mais aussi archiver ces données, problématique souvent ignorée au premier abord mais pourtant nécessaire.

    Big Data vu par une PME spécialisée

    La présentation suivante de M.Royer (Datasio) est un peu plus technique.

    Pour commencer, une liste des sources de données problématiques potentielles (i.e. la production ne s'arrête pas) :

    • production par des réseaux d'observation autonome (capteurs météo, GPS, RFID, balises Argos...),
    • données dépendantes d'une communauté d'utilisateurs et d'individus instrumentés,
    • données produites plus vite qu'on ne les traite,
    • "on verra le traitement plus tard".

    Synthèse de ces problèmes : les "3 V" du Big Data: Volume / Variété / Vélocité.

    Les techniques autour de Big Data promettent de :

    • faciliter la collecte et l'aggrégation (mesurer les opérations, acquérir tous les flux possibles, stocker les mesures brutes)
    • valoriser le capital de données (découvrir après coup des opportunités inexploitées, outils de fouille adaptés aux gros volumes, extraire et distiller l'information)

    Il revient sur HADOOP en quelques mots :

    • solution Open Source, issu de la fondation Apache,
    • à l'initiative de Yahoo via un essaimage Hortonworks
    • c'est un projet en maturation, avec une communauté active, mais des branches de code variées,
    • constitué d'un système de fichier distribué avec redondance (parallélisation des données) et possibilité map / reduce (parallélisation des tâches à effectuer sur les données)

    Si Big Data est un nouveau terme pour une problématique qui n'est pas nouvelle, une différence liée à la technique map / reduce les traitements sont effectués sur les serveurs qui hébergent les données au lieu de pousser les données vers un calculateur. Attention au fait cependant que pour fonctionner, les algorithmes doivent fonctionner de manière indépendante sur un sous-ensemble indéterminé de données (donc finalement indépendamment sur chaque "donnée"). Enfin, on se concentre sur l'efficience de la création et de la lecture des données, à l'inverse des bases de données traditionnelles qui se concentrent également sur la mise à jour et la suppression.

    Je ne sais pas s'il y avait une conclusion, la présentation a été abrégée faute de temps.

    Big Data vu par Météo France

    La dernière présentation était celle de M.Beuraud de Météo France dont la problématique, pas simple mais à laquelle nous sommes tous sensibles, est la prévision numérique du temps.

    Il note tout d'abord que la qualité des prévisions a augmenté : la qualité d'une prévison à 48h aujourd'hui vaut prévision à 24h il y a 15 ans en lien avec l'augmentation des performances du centre de calcul HPC de Météo France à Toulouse (évolution matérielle tous les 3 ans) :

    • 2 GFlops en 1991 (date de l'ouverture du centre), basé sur des machines Cray 2,
    • 100 TFlops en 2009, basé sur des machines NEC SX9

    Le volume de données étudiées est maintenant beaucoup plus important, principalement du fait de la constellation de satellites qui s'est développée et qui produit un volume beaucoup plus important que les mesures conventionnelles (au sol). On a vu un "déluge de données" satellitaires depuis 2010. D'un point de vue stockage, le site est passé de 20Go en 1991 à plusieurs pétaoctets aujourd'hui.

    De par les différentes contraintes extérieures (données à fournir aux clients), une prévision à 24h doit être faite en 25 minutes. De plus, la puissance de calcul nécessaire augmente sans cesse notamment à cause des facteurs suivants (en plus du volume de données à analyser qui augmente) :

    • maille de plus en plus petite,
    • couplage de modèles de plus en plus nombreux,
    • prévision ensembliste : on lance X fois le même modèle avec des entrées différentes pour voir la stabilité de la prédiction.

    A noter qu'ici, on n'est pas dans des technos de type HADOOP.

    Il conclut que le volume de données à traiter va continuer à grandir, et que la gestion des données est l'enjeu majeur de la décennie qui s'ouvre.

    Conclusion

    J'ai été surpris de voir l'angle d'approche pour la présentation d'une thématique Big Data, qui était pour moi (novice je l'avoue) plus liée aux technologies Web. J'ai finalement trouvé que c'était intéressant de remettre ça avec cette perspective, et ainsi de replacer ce que recouvrent finalement les mots Big Data. Encore un grand mot qui veut tout et rien dire quoi :p


  • Retour sur le meetup 'Big Data from space'

    2016/02/23 by Yann Voté

    Le 11e meet-up du groupe Toulouse Data Science s'est déroulé le mercredi 18 mars à 18h 30 à la Cantine de Toulouse. Le sujet était Big Data from Space : un retour d'expérience du CNES sur les problématiques Big Data en lien avec le programme européen Copernicus.

    La présentation était scindée en deux parties. Dans la masse des images satellites produites par Copernicus :

    • comment pouvoir trouver facilement celles qui nous intéressent ?
    • Et une fois qu'on les a, comment pouvoir en faire quelque chose d'utile sans les télécharger ?
    https://www.logilab.org/file/4519952?vid=download

    La première partie, par Jérôme Gasperi, et dont les diapos sont disponibles sur slideshare, introduisait donc la problématique de l'indexation d'un gros volume d'images satellites. Jérôme commence par rappeler que les métadonnées fournies nativement avec une image satellite sont plus ou moins les mêmes qu'avec un appareil photo : date et heure de la prise, capteur, etc. On y trouve aussi les coordonnées de l'emprise au sol de l'image (bounding box). Ces métadonnées permettent de chercher des images sur une zone donnée dans une période donnée mais sont très insuffisantes pour répondre à des requêtes du genre « je veux les images qui contiennent une ville et une forêt ».

    Pour ce genre de requêtes, la méthode traditionnelle consiste à effectuer une classification supervisée de l'image avec des algorithmes d'apprentissage automatique (meilleures résultats obtenus avec SVM) : j'indique à la machine sur un jeu d'entraînement ce que sont une forêt et une ville, et elle est alors capable de segmenter l'image en zones et de classer chaque zone dans une des catégories indiquées. Le problème est que cette méthode est longue : jusqu'à 15 minutes sur des images a très haute résolution et donc inadaptée pour le volume de données produites par Copernicus (jusqu'à 1 To par jour).

    Une autre option est le deep learning. Jérôme pense que ce n'est pas non plus adapté aux images satellites, mais il a été contredit par plusieurs personnes dans la salle qui ont parlé de travaux montrant que c'était possible. Par exemple : https://www.cs.toronto.edu/~hinton/absps/road_detection.pdf.

    La solution présentée utilise le croisement avec des données exogènes : au lieu de se contenter des pixels de l'image, pourquoi ne pas utiliser des informations accessibles par ailleurs ? Par exemple avec l'emprise et des données d'occupation du sol on peut dire si l'image intersecte une forêt et une ville. Avec des données administratives, on peut dire quels pays sont concernés par l'image. Avec la date et des données météorologiques, on peut dire le temps qu'il faisait au moment de la prise de vue. Jérôme a donc développé iTag (est-il Apple addict ?) qui permet de croiser ce genre d'informations et d'ajouter des tags aux métadonnées d'une image. Cela prend quelques milli-secondes: contre plusieurs minutes pour une classification, le gain est énorme.

    Un dernier point : il a aussi montré sur son démonstrateur (non accessible pour l'heure) comment il présentait les résultats d'une recherche sous la forme d'une carte de chaleur. En effet, contrairement à une recherche Google où les résultats sont triés par pertinence, ici le moteur ne sait pas faire ce tri. Les résultats sont donc présentés sur une carte du monde et des points de couleurs viennent montrer la densité des résultats : bleu s'il y a pas ou peu d'images qui correspondent aux critères sur cette zone ; rouge s'il y en a beaucoup.


    La seconde partie, par Pierre-Marie Brunet, peut se résumer en une phrase : il vaut mieux rapprocher le calcul de la donnée que l'inverse.

    Partant du constat que les données aujourd'hui sont de plus en plus gratuites, et que la véritable valeur se situe dans les algorithmes de traitement sur ces données, l'enjeu est d'éviter que tout un chacun vienne moissonner les images Copernicus, les télécharge chez lui pour en faire ce que bon lui semble : vu les volumes à télécharger, cela mettrait le réseau à genou.

    J'ajoute ce commentaire personnel : le documentaire « Internet, la pollution cachée » diffusé sur France 5 en 2014, bien que discutable dans ses calculs et dans ses partis pris, permet de se rendre compte de ce que coûte l'envoi d'un simple mail.

    Il s'agit donc de permettre aux usagers de demander à la plate-forme d'effectuer elle-même les traitements dont ils ont besoin, grâce par exemple au protocole WPS de l'OGC, et de télécharger plutôt le résultat de ces traitements.

    Vu le nombre d'utilisateurs possibles, cela demande de mettre en place une infrastructure de calcul conséquente. Le rapprochement du HPC et du Big Data : le Big Processing.

    Avec cette expérience accumulée, l'architecture cible pour Copernicus sera donc fondée pour la partie logicielle sur Hadoop, Spark, Elasticsearch et Kibana. Mais le plus intéressant est la vision haut-niveau : un ordonnanceur, dont j'ai oublié le nom, aura une information en temps réel sur l'état des nœuds de calcul, sur la répartition des données et sur la vitesse de transfert entre les données et les nœuds. Mieux, chaque nœud sera capable de faire tourner des conteneurs Docker, et il y aura un registre d'images Docker, local et distribué lui aussi. Par conséquent, pour un calcul demandé par un usager :

    • ce calcul correspond par exemple à une image Docker compute et concerne des données facilement accessibles par le nœud A ;
    • l'ordonnanceur va donc demander au nœud A d'exécuter l'image compute sur les données concernées ;

    On retrouve bien le principe : les calculs sont rapprochés des données (même si on ne s'interdit pas de déplacer les données).

    L'utilisation de Docker a d'autres avantages :

    • les usagers pourront proposer leur propres images pour réaliser des calculs dont ils ont besoin et qui ne seraient pas encore proposés ;
    • les centres de calcul étant répartis dans les différents pays européens pour Copernicus, chaque centre a ses spécificités (distribution GNU/Linux différente d'un centre à l'autre par exemple). Comme il n'est pas question d'imposer un choix (à part Docker), Docker permet de faire tourner des calculs dans tous les centres quelles qu'en soient les spécificités.

    Tout ceci ressemble beaucoup à ce que nous avons fait pour Simulagora.