Un cadre alternatif pour l'informatique distribuée apprivoise les coûts toujours croissants du Big Data

Un cadre alternatif pour l’informatique distribuée apprivoise les coûts toujours croissants du Big Data

Diagramme montrant les emplacements des divers coûts de calcul et autres encourus dans le cadre Non-MapReduce proposé. Crédit : Big Data Mining and Analytics, Tsinghua University Press

Le volume considérable de « Big Data » produit aujourd’hui par divers secteurs commence à submerger même les techniques de calcul extrêmement efficaces développées pour passer au crible toutes ces informations. Mais un nouveau cadre de calcul basé sur un échantillonnage aléatoire semble enfin prêt à apprivoiser les coûts de communication, de mémoire et d’énergie toujours croissants du Big Data en quelque chose de plus gérable.

Un article décrivant le cadre a été publié dans la revue Exploration et analyse de mégadonnées.

La quantité de données produites à partir des réseaux sociaux, des transactions commerciales, de « l’Internet des objets », de la finance, de la santé et au-delà a explosé ces dernières années. Cette ère de soi-disant Big Data a offert une puissance statistique incroyable pour découvrir des modèles et fournir des informations auparavant inimaginables. Mais le volume de Big Data produit commence à atteindre des limites de calcul.

L’évolutivité des algorithmes complexes commence à patauger à environ un téraoctet de données, soit un billion d’octets, dans une grappe d’ordinateurs ou dans le cloud computing. La Bourse de New York, par exemple, produit environ un téraoctet de données commerciales chaque jour, tandis que les utilisateurs de Facebook génèrent 500 téraoctets au cours de la même période.

L’informatique distribuée joue un rôle essentiel dans le stockage, le traitement et l’analyse de ces mégadonnées. Ce cadre déploie une stratégie de « diviser pour mieux régner » pour le trier efficacement et rapidement. Cela implique le partitionnement d’un fichier de données volumineuses en un certain nombre de fichiers plus petits appelés « fichiers de blocs de données ».

Ces blocs de données sont stockés de manière distribuée sur les nombreux nœuds d’un cluster d’ordinateurs. Chacun de ces blocs est ensuite traité en parallèle au lieu de séquentiellement, accélérant radicalement le temps de traitement. Les résultats de ces nœuds locaux sont ensuite renvoyés vers un emplacement central et réintégrés, produisant un résultat global.

Cette opération de division pour mieux régner est à son tour gérée par un système de fichiers distribué, lui-même régi par un modèle de programmation. Le système de fichiers est ce qui divise les fichiers de données volumineuses, et le modèle de programmation divise un algorithme en morceaux, qui peuvent ensuite s’exécuter sur les blocs de données de manière distribuée.

MapReduce, développé par Google, est le modèle de programmation le plus largement utilisé pour l’informatique distribuée qui s’exécute sur des clusters et sur le cloud. Le nom vient de ses deux opérations de base. L’opération Map est effectuée sur le bloc de données dans un nœud pour générer un résultat local. Ceci est exécuté sur plusieurs nœuds en parallèle pour accélérer considérablement le temps de traitement. L’opération Réduire rassemble ensuite tous ces résultats locaux dans un résultat global.

Cette dernière étape implique un transfert des résultats locaux vers d’autres nœuds maîtres ou nœud central qui effectuent l’opération de réduction, et tout ce brassage de données est extrêmement coûteux en termes de trafic de communication et de mémoire.

« Cet énorme coût de communication est gérable jusqu’à un certain point », a déclaré Xudong Sun, l’auteur principal de l’article et informaticien au Collège d’informatique et de génie logiciel de l’Université de Shenzhen. « Si la tâche souhaitée n’implique qu’une seule paire d’opérations Map et Reduce, telles que le comptage de la fréquence d’un mot sur un grand nombre de pages Web, MapReduce peut s’exécuter de manière extrêmement efficace sur des milliers de nœuds, même sur un fichier de données volumineux. . »

« Mais si la tâche souhaitée implique une série d’itérations des paires Map et Reduce, alors MapReduce devient très lent en raison des coûts de communication élevés et des coûts de mémoire et de calcul qui en résultent », a-t-il ajouté.

Les chercheurs ont donc développé un nouveau cadre de calcul distribué qu’ils appellent Non-MapReduce pour améliorer l’évolutivité du calcul en cluster sur le Big Data en réduisant ces coûts de communication et de mémoire.

Pour ce faire, ils dépendent d’un nouveau modèle de représentation des données appelé partition d’échantillon aléatoire, ou RSP. Cela implique un échantillonnage aléatoire des blocs de données distribués d’un fichier Big Data au lieu d’un traitement de tous les blocs de données distribués. Lorsqu’un fichier de données volumineuses est analysé, un ensemble de blocs de données RSP est sélectionné au hasard pour être traité, puis intégré au niveau mondial pour produire une approximation de ce qu’aurait été le résultat si l’ensemble du fichier de données avait été traité.

De cette façon, la technique fonctionne à peu près de la même manière que dans l’analyse statistique, l’échantillonnage aléatoire est utilisé pour décrire les attributs d’une population. L’approche RSP de Non-MapReduce est donc une espèce de ce qu’on appelle «l’informatique approximative», un paradigme émergent dans l’informatique pour atteindre une plus grande efficacité énergétique qui ne fournit qu’un résultat approximatif plutôt qu’exact.

Le calcul approximatif est utile dans les situations où un résultat à peu près précis qui est obtenu à moindre coût par calcul est suffisant pour la tâche à accomplir, et supérieur à un effort coûteux en calcul pour essayer de fournir un résultat parfaitement précis.

Le cadre informatique Non-MapReduce sera d’un avantage considérable pour une gamme de tâches, telles que l’échantillonnage rapide de plusieurs échantillons aléatoires pour l’apprentissage automatique d’ensemble ; pour exécuter directement une séquence d’algorithmes sur des échantillons aléatoires locaux sans nécessiter de communication de données entre les nœuds ; et faciliter l’exploration et le nettoyage des mégadonnées. De plus, le cadre permet d’économiser une quantité importante d’énergie dans le cloud computing.

L’équipe espère maintenant appliquer son framework Non-MapReduce à certaines grandes plates-formes de données volumineuses et l’utiliser pour des applications du monde réel. En fin de compte, ils espèrent l’utiliser pour résoudre les problèmes d’application d’analyse de données extrêmement volumineuses réparties sur plusieurs centres de données.

Fourni par Tsinghua University Press