Contacter l'auteur / Contact the author

Recherche dans ce site / Search in this site

 

Le Big Data et le data mining

Le Big Data au service de la sémantique.

La technologie de l'information au service du métier (II)

Le traitement de données est bien entendu un concept très ancien et bien connu des entreprises. Ce qui change avec le Big Data c'est l'opportunité de pouvoir passer en revue toutes les données et pas seulement un échantillon.

Ainsi, en médecine par exemple, on estime qu'aujourd'hui 5% des données collectées sur les patients sont exploitées pour comprendre les impacts et les effets des maladies. Avec le Big Data on peut exploiter 100% des données. Pour y parvenir il faut toutefois que l'informatique suive et soit au service du métier.

Plus que tout autre concept, quand on veut gérer du Big Data les hommes de métier demandent aux informaticiens de leur trouver des outils pour trouver et extraire les informations dont ils ont besoin et qui seront exploitées à des fins commerciales, scientifiques ou autre.

Le rythme du métier conditionne le traitement des données. Le délai entre la collecte des données brutes, leur traitement et la publication d'un résultat significatif dépend du volume de données à traiter et de la complexité de l'analyse. Depuis que l'analytique existe (plus de cent ans), ces deux critères ont mis au défi les experts les plus ingénieux.

On ne gère pas un fichier de 1 terabyte comme un fichier de 100 KB ni une feuille de calcul Excel comme une base de données relationnelle.

Depuis que les bases de données existent, les développeurs et les administrateurs de bases de données ont constaté que les données se présentaient sous des formats variés, que les tables étaient périodiquement sous dimensionnées ou que les systèmes "se plantaient" faute d'avoir suffisamment de ressources pour gérer des volumes de données toujours plus conséquents.

Les parades mises en place (tables binaires, tables dynamiques, système plus performant, etc) n'ont fait que repousser ces problèmes. Les informaticiens ont alors pris conscience des limites des bases de données et des architectures traditionnelles dans lesquelles par exemple un seul processeur était chargé de l'ensemble des calculs en plus de la gestion des périphériques.

Chacun de nous a probablement connu un jour cette mésaventure avec son ordinateur : il y a un moment où la charge de travail est tellement élevée que le processeur et la mémoire arrivent à saturation, le traitement tourne sans fin et le système ne rend plus la main, il se fige ou se crashe, anéantissant plusieurs heures de travail quand les choses se passent bien.

Installation d'un système dans un cluster administré par Ambari d'Apache.

Devant la somme d'informations à traiter, on comprend tout l'intérêt d'utiliser des ordinateurs puissants et des applications capables de gérer ces importants volumes et flux de données.

Pour résoudre ces problèmes, les ingénieurs on reprit le concept du traitement de données à zéro, repensant l'architecture des ordinateurs, le format des fichiers et la conception des logiciels de gestion et de visualiation, tout en gardant à l'esprit la compatibilité avec l'existant et notamment l'exportation de données vers les logiciels traditionnels.

Ils ont constaté qu'en utilisant des fichiers plats plutôt que des bases de données et en développant de nouvelles architectures et de nouveaux algorithmes adaptés au traitement du Big Data, ils pouvaient résoudre en même temps le problème des ressources et de la volumétrie sans pénaliser le temps de réponse.

En utilisant par exemple dix ordinateurs en parallèle et en reprogrammant l'application pour distribuer les tâches entre leur dix processeurs, en développant des plates-formes capables de traiter des fichiers non structurés (provenant de différentes sources) et structurés, on constate non seulement que l'utilisateur obtient son résultat dix fois plus vite mais beaucoup plus d'utilisateurs peuvent extraire rapidement des informations pertinentes, l'infrastructure étant également rentabilisée de manière optimale.

Si on extrapole ce concept à des groupes d'ordinateurs fonctionnant comme un seul système mais dont les tâches sont distribuées en noeuds ou unités de calcul, en noeuds de stockage, en noeuds de monitoring, etc, on aboutit aux concepts d'informatique distribuée, de grappes ou cluster d'ordinateurs, de grid (un rack de serveurs), de réseau de mémoire et de stockage (SAN) et au calcul à haute performance ou HPC (High Performance Computing).

Ces technologies sont aujourd'hui exploitées dans tous les centres de calculs et data centers et permettent d'atteindre des vitesses de traitement inconcevables il y a encore dix ans.

C'est en 2008 que le premier superordinateur franchit la barre du petaFLOPS[4]. Ce fut le Cray XT5 Jaguar du Ministère de l'Energie américain (DOE).

Un exemple récent de telle architecture est le superordinateur Curie de Bull acheté en 2012 par le CEA et installé à Bruyères-le-Châtel, dans l'Essonne (F). Ouvert aux scientifiques européens dans le cadre du projet PRACE, Curie est aujourd'hui l'un des superordinateurs les plus rapides d'Europe. Il représente un investissement de 100 millions d'euros répartis sur 5 ans.

Le superordinateur Curie de 2 PFLOPS installé au CEA dans le cadre du projet européen PRACE.

Comme plus de 95% des superordinateurs, Curie fonctionnent sous Linux.

Curie est équipé de 92000 coeurs de processeurs articulés autour de 3 types de ressources de calcul basées sur une architecture Intel x86-64.

Chaque ressource comprend de 360 à 5040 noeuds ou machines reliées à des cartes processeurs multi-coeurs. Chaque noeud est constitué de 2 ou 4 processeurs Intel de 8 coeurs de 2.26 ou 2.7 GHz disposant de 64 GB à 512 GB RAM et d'un disque SSD de 2 TB. Les cartes processeurs comprennent de 1440 à 10080 processeurs de 8 coeurs et les cartes graphiques ont été clonées et contiennent des centaines de milliers de coeurs de processeurs.

Pris individuellement, ces ordinateurs ne présentent pas de performances exceptionnelles (c'est une configuration typique d'un PC haut de gamme de 2013). L'avantage apparaît quand on connecte ces machines et ces processeurs en parallèle.

Globalement, Curie atteint une vitesse de calcul de 2 petaFLOPS; il est capable de réaliser 2 millions de milliards d'opérations par seconde. Sa mémoire vive (RAM) est de 360 TB. Sa capacité de stockage sur disque est de 15 PB avec un cache de 1 PB et une bande passante de 250 GB/s, permettant de stocker l'équivalent de 7600 ans de fichiers MP3 !

Maintenant on comprend l'avantage de ce type d'architecture.

Curie est utilisé par les scientifiques européens dans les domaines de la recherche en physique, en chimie, en astronomie et en médecine notamment.

Les superordinateurs du CEA, de l'Université de Californie à Berkeley, de l'USAF, de la NASA ou de la NSA comptent parmi les plus rapides au monde.

Aujourd'hui le record est détenu par la NSA et son réseau Echelon. Pour gérer les 2.1 petabytes de données qu'elle capture toutes les heures (2013), la NSA s'est équipée d'un superordinateur Cray XC30 équipé de plus d'un million de coeurs de processeurs Intel Xeon. Sa puissance de calcul est supérieure à 100 petaFLOPS ! La NSA devrait acquérir un superordinateur de 1 exaFLOPS en 2018.

A lire : NSA Utah Data Center, NSA

TOP500 Supercomputers

A gauche, un superordinateur Cray XC30 de plus de 100 petaFLOPS qu'utilise la NSA. A droite, une vue générale du data center de la NSA installé à Bluffdale dans l'Utah qui fut inauguré fin 2013. Il coûta deux milliards de dollars. Sa capacité est estimée à 1 yottabytes soit 1000 milliards de terrabytes. Le site est situé dans un endroit isolé, peu fréquenté par les civils, juste en face du camp militaire de Camp Williams. Documents ORNL et AP/Rick Powmer.

La combinaison des technologies Big Data, du traitement massivement parallèle et du calcul HPC offre plusieurs avantages :

- elle permet de stocker énormément de données dans de "petites" infrastuctures relativement moins coûteuses qu'un seul système équivalent,

- les calculs et traitements sont répartis sur plusieurs machines sans dépasser leurs limitations individuelles,

- la gestion des systèmes est optimisée,

- les technologies sont accessibles à tous.

Parmi les sociétés disposant de grands clusters sous Hadoop, citons (chiffres de 2012):

- Yahoo! utilise un cluster de 42000 nodes

- LinkedIn utilise un cluster de 4100 nodes

- Facebook utilise un cluster de 1400 nodes, d'une capacité de 12 PB

- eBay utilise un cluster de 8x 532 nodes, d'une capacité de 5.3 PB

- Microsoft utilise un cluster de 400 nodes

- Adobe utilise un cluster de 30 nodes.

Enfin, il y a la question financière, le prix de ces infrastuctures. En effet, louer un data center Big Data Tier 3 ou Tier 4 avec ses serveurs ou un superordinateur représente un budget qui se chiffre en dizaines ou centaines de milliers d'euros par an que ne peut pas se payer une PME.

A titre d'information, chez IBM, jusqu'en 2009 un système de gestion de données (data warehouse) revenait à environ 60000$ par terabyte. Depuis, la solution Twinfin (version low-cost de Netezza) a permis de diviser ce prix par trois et les performances du système ont été multipliées par 3 à 5.

Les solutions commerciales et propriétaires se démocratisant, elles deviennent accessibles à de plus en plus de petites entreprises, y compris aux incubateurs et autre startups. Néanmoins, d'un point de vue applicatif rien ne vaut la souplesse d'un système ouvert aux autres fabricants et open-source et nous verrons que c'est effectivement la solution préférée de la plupart des entreprises concernées par le Big Data.

Ainsi, aujourd'hui il est possible d'utiliser des plates-formes open-source comme Hadoop par exemple, de tirer profit d'aides à la décision (Business Intelligence) pour interroger le Big Data en temps réel (cas du terrorisme, de la cybercriminalité, du suivi des avions ou de la recherche scientifique) et dans des langages compatibles avec SQL et via des interfaces graphiques, la technologie et parfois le code restant transparents pour l'utilisateur.

Heureusement ou malheureusement dans certains cas (recherche en médecine ou en criminologie par exemple), des lois interdisent de relier les bases de données entre elles, même si nous sommes tous d'accord que cela permettrait d'accélérer beaucoup d'enquêtes et faciliterait le travail des scientifiques et des militaires.

Les limitations des architectures analytiques classiques

Le slogan "trop d'infos tue l'info" s'applique au Big Data plus qu'à toute autre technologie. En fait, dans notre village global, la gestion du Big Data nous concerne tous à un degré ou un autre, que l'on travaille pour une entreprises ou en tant que particulier.

Selon une enquête de la Poste, si la majorité des consommateurs sont friands d'informations et se disent bien informés, pour pratiquement une personne sur deux, devant la pléthore d'informations, même en se renseignant ils avouent qu'il devient difficile de faire les bons choix.

C'est particulièrement vrai dans le commerce et une question cruciale pour les sociétés de marketing (qui furent par ailleurs les premières utilisatrices du Big Data).

A mesure qu'une enterprise ou un projet se développe et devient mature, les données comme leur bonne gestion deviennent un point crucial de l'organisation. En matière de risque, les données représentent un actif primaire; d'un point de vue métier, elles ont plus de valeur que n'importe quelle autre ressource. Il faut donc tout mettre en oeuvre pour les protéger mais aussi pour les gérer et les exploiter. Or c'est encore souvent une priorité toute relative des utilisateurs ou des responsables; s'ils savent à peu près où trouver l'information, leur gestion est déjà plus aléatoire.

Document DOMO.

Généralement les informations métier, documents et autres données de travail, sont stockées au fil de l'eau de manière plus ou moins organisées dans trois principaux systèmes, allant de plus simple au plus structuré :

- des répertoires arborescents généralement créés sur un disque réseau partagé

- des serveurs documentaires (Gestion Electronique de Documents) et de messageries collaboratifs (CMS, Sharepoint, eRoom, IBM Lotus, ...)

- des bases de données relationnelles (Oracle, Ingres, etc.).

Ces trois infrastructures présentent des limitations et des goulots d'étranglements :

- les données sont parfois archivées ou disparaissent avant qu'on ait pu les consulter, faute d'espace ou de contrôle

- si l'archivage est rapide et peu coûteux, en revanche la restauration des données est très coûteuse et parfois impossible

- il est parfois difficile de localiser rapidement une information, l'outil n'étant pas adapté aux besoins

- les données brutes ou originales ne sont plus toujours disponibles après intégration dans le système

- les nouvelles données s'accumulant, les utilisateurs ne sont plus capables de gérer la totalité des informations

- les systèmes ne sont pas polyvalents ni échelonnables (scalable), rendant le traitement de données non structurées parfois impossible.

Non seulement il faut pouvoir rapidement trouver l'information (l'originale ou le résultat) dans le système mais dans certains domaines où le Big Data est au coeur du métier, il faut pouvoir trier l'essentiel du superflu, faire la synthèse des informations collectées au risque de rendre le contenu inintelligible, indigeste et finalement non productif.

Comme on parle du retour sur investissement en finance, en informatique on peut résumer ces principes par l'expression "retour sur byte" (Return on Byte ou ROB) qui décrit bien l'idée de la valeur ajoutée et les retombées qui accompagnent une bonne gestion du Big Data.

Les besoins du métier ont donc poussé les informaticiens à élaborer de nouveaux outils pour exploiter intelligemment ces informations.

Exploiter le Big Data comme un service (DaaS)

L'infrastructure informatique moderne nous propose plusieurs solutions complémentaires pour gérer à la fois les Big data, le débit élevé d'informations et établir des corrélations entre des données parfois très variées.

Le cahier des charges comprend deux volets : hardware et software. Il nous faut de préférence des clusters HPC, les noeuds pouvant être des serveurs à haute performance ou des superordinateurs massivement parallèles. Les plates-formes comme les réseaux peuvent être variés allant du réseau câblé à Internet en passant par une virtualisation dans le Cloud.

Exemple de plate-forme de gestion et d'analyse Big Data proposée par IBM. A gauche, les principaux processus liés à la gestion et la visualisation du Big Data. Notez la présence d'un accélérateur qui va accélérer le traitement des données. A droite, la distribution des principaux composants dans la plate-forme d'analyse et de visualisation BigInsights d'IBM alimentée par la plate-forme Hadoop (à la fois système d'exploitation et ensemble de logiciels de traitement de données non structurées) et intégrée à la gestion de données de l'entreprise.

Avec les infrastructures hardware et software dont nous disposons, mis à part le prix, les contraintes ne se définissent plus en terme de ressources machines (rapidité des processeurs, taille de la mémoire, capacité des disques durs, débit des I/O) mais en terme de volumétrie.

En effet, le coût de stockage et de gestion des données constitue de moins en moins un obstacle pour les entreprises. Grâce aux technologies du Cloud Computing combinant les "Infrastructures as a Service" (IaaS) et le "Software as a Service" (SaaS), les plates-formes de stockage ainsi que les applications sont distribuées et les lignes à haut débit font que leur emplacement physique n'ont plus vraiment d'importance.

Ainsi, sachant que 10% des data centers de la planète sont installés au Luxembourg et représentant plus de 40000 m2 d'infrastucture de Tier 1 à Tier 4, qui peut certifier qu'il sait où sont physiquement stockées ses images sur le Cloud de Google ou Flickr ? Qui est certain que ses comptes en banque ou les données de son profil client d'Amazon sont stockées localement ou ne sont-elles pas plutôt herbergées sur un serveur installé dans un data center au Luxembourg ? Il est même probable que les données financières des internautes (rendues anonymes) transitent par des opérateurs situés en Malaysie ou en Inde.

En fait, mis à part les questions juridiques, les réglementations européennes et nationales (en matière financière cf. l'affaire SWIFT, les règles de la CSSF, etc), la question de la localisation des machines, des logiciels et des données est secondaire car c'est devenu transparent.

Finalement, en combinant des coûts de stockage réduits, des plates-formes distribuées à haut débit aux logiciels d'analyse adaptés aux Big data, les "problèmes" de stockage et de gestion des données se transforment en "simple" service de l'entreprise, à l'origine du concept "Data as a Service" (DaaS). Cette idée est déjà révolutionnaire !

Mais avant de proposer un service au client, il faut d'abord comprendre ses besoins, trouver et gérer l'information au rythme exigé par le métier. Cela représente le coeur du métier, la valeur ajoutée du service fournit par l'entreprise.

Il faut ensuite analyser ces données et personnaliser le service proposé au client. C'est la fonction du data mining, des outils d'analyse et de visualisation notamment.

Dernier chapitre

Le data mining

Page 1 - 2 - 3 -


[4] 1 petaFLOPS = 1000 teraFLOPS = 1 000 000 gigaFLOPS soit 1 million de milliards d'opérations en virgule flottante par seconde. Un ordinateur cadencé à 1 GHz (monoprocesseur) présente une capacité de calcul d'environ 1 GFLOPS mais la progression n'est pas strictement linéaire car elle dépend de l'architecture du processeur (multi-coeurs) et des performances des caches du processeur. Seuls des benchmarks peuvent déterminer les performances de calcul d'un ordinateur particulier. Cf. le palmarès du TOP500 des superordinateurs les plus rapides du monde.

Bien qu'on trouve dans la littérature "flop" au singulier - c'est devenu un néologisme - le terme devrait toujours s'écrire "FLOPS", avec "s", car c'est le diminutif de "seconde" (FLoating-point Operation Per Second) et en majuscule puisqu'il s'agit d'un acronyme. Le pluriel devrait s'écrire "FLOPSs" mais il est très peu répandu (et je ne l'utilise pas non plus).

Notons qu'une simple calculatrice de poche réalise en théorie une seule opération par seconde. Nous avons rarement besoin d'un temps de réponse plus rapide. Subjectivement, nous considérons que toute réponse affichée en moins de 0.1 seconde est instantanée. Cela permet d'attribuer aux calculatrices une performance d'environ 10 FLOPS. Quant au méthodes de calculs manuelles (une division difficile), notre performance tombe en général à environ 1 milliFLOPS. Ces performances sont bien sûr très différentes de celles de nos facultés neuromotrices.


Back to:

HOME

Copyright & FAQ