Aller au contenu

| | |

Vous êtes ici : Li-ParadFRRechercheAlgèbre linéaire parallèle

Algèbre linéaire parallèle

• Dans les années à venir, le nombre de cœurs en même temps que l’hétérogénéité des composants des supercalculateurs (comme les GPU et autres accélérateurs) vont croître provoquant la transition des multi-cœurs aux many-cœurs dans des nœuds de calcul communiquant à travers des réseaux d’interconnexion rapide.
Ces superordinateurs très hiérarchisés sont à l’intersection des domaines du calcul parallèle et du calcul distribué et présentent de grands défis. La communication, la consommation énergétique et la tolérance aux pannes deviennent donc de plus en plus importantes dans de tels systèmes.
Pour exploiter la totalité de la puissance de calcul dans un tel écosystème complexe, il est primordial d’explorer de nouveaux modèles de programmation et d’exécution, qui mettent l’accent sur le caractère multi-niveaux du traitement du parallélisme, de la synchronisation, des stratégies d’ordonnancement, etc.
La complexité de ces architectures et les prototypes récents et émergents doivent être pris en compte pour concevoir des futurs langages, environnements, méthodes/algorithmes numériques et pour anticiper leur avènement.
Ceci nécessite de proposer de nouveaux paradigmes de programmation, de nouveaux langages et environnements aussi bien généralistes que orientés application (DSL), ainsi que de nouvelles méthodes/algorithmes numériques.
En effet, les modèles SPMD/MPI-Like ne seront plus suffisants pour des architectures avec des millions de cœurs et de milliards de threads. La prise en compte des caractéristiques de ces supercalculateurs et des paradigmes de programmation adaptés permet de définir l’ensemble des contraintes à respecter en vue d’améliorer les performances des grandes applications sur ces systèmes de calcul.
En prenant en compte ces contraintes, des méthodes/algorithmes “co-design” correspondant à ces applications, peuvent être conçus.
Pour ces systèmes parallèles/distribués, les méthodes numériques doivent être adaptées en prenant en considération l’architecture, l’arithmétique, la latence des entrée/sorties, etc. Dans ce contexte l’auto-tuning devra devenir une approche générale.

• Afin de calculer la solution de grandes applications scientifiques provenant par exemple de modélisations en science de données (Big Data), certaines méthodes numériques doivent être couplées.
Ce couplage, défini selon l’approche unir et conquérir, consiste à faire collaborer ces méthodes (co-méthodes) de manière asynchrone, chacune s’auto-adaptant. Les méthodes ainsi définies présentent des caractéristiques comme l’asynchronisme des communications, la présence de plusieurs niveaux et types de parallélisme, la tolérance aux fautes et un grand potentiel d’équilibrage de charge. Elles sont donc très bien adaptées aux architectures ciblées. • Un grand nombre de ces grandes applications aboutissent à des problèmes d’algèbre linéaire creux, comme la résolution de grands systèmes linéaires ou le calcul de valeurs propres de très grands opérateurs par des méthodes itératives, que l’on observe par exemple dans le traitement de donnée des réseaux sociaux, ou l’épidémiologie en geosciences.
Devant la complexité des systèmes à résoudre (fort conditionnement, matrice non symétrique, non définie-positive, etc...), il est nécessaire de développer des algorithmes qui soient numériquement robustes afin de garantir la convergence à la solution mais aussi la tolérance aux fautes. L’emploi de co-méthodes de Krylov permet par exemple d’accélérer la convergence à la solution par la construction d’un espace de Krylov à partir de différents jeux de paramètre, mais également d’augmenter la probabilité d’obtenir un résultat.
Les méthodes multi-niveaux permettent d’augmenter l’extensivité des méthodes de décomposition de domaine et également de garder de l’information à moindre coût au cours de la résolution.

• Aussi dans cette thématique, un grand intérêt est porté sur les aspects suivants : applicatif (épidémiologie, détection de rayons Gamma à très haute énergie, détection de biomarqueurs dans l’étude de microbiote, la diffraction des ondes électromagnétiques par les surfaces agricoles) ; méthodes et algorithmes numériques pour la résolution de problèmes d’algèbre linéaire creux à très grande taille et les méthodes de décomposition de domaines (les méthodes hybrides et multiniveaux) ; modèles de programmation parallèle et distribuée (approche par composant, graphe de tâches, la combinaison des deux) ; déploiement et implantation sur superordinateurs parallèles/distribués à l’aide de YML (yml.prism.uvsq.fr).

• Ce thème rejoint le thème Systèmes parallèles et distribués, en partant des problèmes applicatifs.