Calcul statistique haute performance
Le calcul statistique haute performance applique le parallélisme, le traitement distribué et l'accélération matérielle pour exécuter des méthodes statistiques sur des données et des modèles trop volumineux pour une seule computation ordinaire.
Definition
Le calcul statistique haute performance est l'utilisation de techniques de calcul parallèle, distribué et accéléré pour exécuter efficacement des algorithmes statistiques sur de grands ensembles de données et des modèles exigeants en termes de calcul.
Scope
Ce sujet couvre les stratégies parallèles et distribuées pour les charges de travail statistiques, la structure intrinsèquement parallèle (embarrassingly parallel) de nombreuses tâches de simulation et de rééchantillonnage, les modèles de traitement de données distribués, l'utilisation des GPU et de l'algèbre linéaire vectorisée, ainsi que les compromis entre la communication, la mémoire et le calcul. L'accent est mis sur la mise à l'échelle du calcul statistique plutôt que sur la conception d'algorithmes.
Core questions
- Quels calculs statistiques sont naturellement parallèles et comment sont-ils distribués ?
- Comment les modèles de traitement de données distribués mettent-ils à l'échelle l'analyse sur de nombreuses machines ?
- Comment les GPU et l'algèbre linéaire optimisée accélèrent-ils les charges de travail statistiques ?
- Comment les coûts de communication et de mémoire limitent-ils les accélérations parallèles ?
Key concepts
- Tâches intrinsèquement parallèles (embarrassingly parallel)
- Traitement de données distribué
- Accélération par GPU
- Coût de communication
- Évolutivité
- Algèbre linéaire vectorisée
Key theories
- Charges de travail statistiques parallèles et distribuées
- De nombreuses tâches statistiques, telles que le rééchantillonnage bootstrap, la validation croisée et les exécutions indépendantes de Monte Carlo, sont intrinsèquement parallèles (embarrassingly parallel), tandis que les modèles de traitement distribué partitionnent de grandes quantités de données entre les machines et combinent les résultats partiels.
- Accélération matérielle
- L'algèbre linéaire vectorisée et accélérée par GPU accélère le cœur intensif en matrices du calcul statistique, mais les gains réalisés dépendent de la gestion du mouvement des données et de l'équilibre entre la communication et le calcul.
Clinical relevance
Le calcul évolutif (scalable computation) permet d'ajuster des modèles à des ensembles de données génomiques, de capteurs et transactionnelles massifs, de mener de vastes études de simulation et de fournir une inférence bayésienne et d'apprentissage automatique (machine-learning) dans des délais pratiques, étendant ainsi la portée des méthodes statistiques à des problèmes qui seraient autrement insolubles.
History
À mesure que les ensembles de données dépassaient les capacités des machines individuelles, les statisticiens ont adopté le calcul parallèle et distribué : la simulation intrinsèquement parallèle (embarrassingly parallel) est apparue en premier, les frameworks distribués tels que MapReduce et ses successeurs ont permis le traitement de données à grande échelle, et l'accélération par GPU a apporté des gains de vitesse aux méthodes statistiques intensives en matrices.
Key figures
- James Gentle
- Kenneth Lange
- Jeffrey Dean
- Sanjay Ghemawat
Related topics
Seminal works
- gentle2009
- dean2008
Frequently asked questions
- Qu'est-ce qui rend certaines tâches statistiques faciles à paralléliser ?
- Des tâches comme les rééchantillonnages bootstrap, les plis de validation croisée ou les exécutions de simulation indépendantes ne dépendent pas les unes des autres ; elles peuvent donc être calculées simultanément et combinées à la fin. Un tel travail intrinsèquement parallèle (embarrassingly parallel) s'adapte (scales) presque linéairement avec le nombre de processeurs.
- Pourquoi l'ajout de processeurs n'accélère-t-il pas toujours les choses proportionnellement ?
- Le calcul parallèle entraîne des frais généraux (overhead) liés à la communication et à la synchronisation entre les processeurs, ainsi qu'au déplacement des données. Lorsque ces coûts augmentent par rapport au calcul, l'ajout de processeurs supplémentaires produit des rendements décroissants.