Précédent : Fondements scientifiques Remonter :
Fondements
scientifiques Suivant : Environnements exécutifs
Mots clés : algorithmique, complexité, modélisation, ordonnancement, évaluation des performances .
Cependant, le modèle PRAM ignore les surcoûts liés aux synchronisations, aux communications de données et à l'ordonnancement. Ces surcoûts sont particulièrement significatifs lorsque les programmes sont irréguliers [[5]]. L'analyse d'un algorithme requiert alors la définition d'un modèle de coût plus précis, donc associé à un modèle de programmation et de machine permettant de prendre en compte les surcôuts liés à l'ordonnancement du programme.
Les développements théoriques actuels pour le calcul parallèle ont pour objectif de caractériser des algorithmes d'ordonnancement (bornes au pire en temps et en mémoire, optimalité, etc.) pour des modèles d'applications et de machines réalistes.
Dans le cas des applications, il s'agit de construire des algorithmes plus compétitifs en les spécialisant à des classes caractéristiques d'applications. Par exemple, les algorithmes d'ordonnancement dynamique font l'hypothèse que le programme est très parallèle et de faible irrégularité. Dans ce contexte, des techniques de liste permettent d'obtenir un temps d'exécution asymptotique égal au temps séquentiel divisé par le nombre de processeurs (donc optimal) [[9]]. La gestion de la liste (par exemple une file à priorité) permet de contrôler la mémoire utilisée par l'exécution parallèle. La prise en compte de connaissances plus fines sur la structure du programme (par exemple le programme consiste en une découpe récursive ou est de type décomposition de domaines [[2]]) peut permettre d'étendre à d'autres classes de graphe cette propriété.
Dans le cas des machines (e.g. des réseaux de stations de travail), il s'agit d'intégrer des paramètres plus précis permettant d'obtenir une meilleure modélisation des machines existantes, en particulier aux réseaux de stations.
La compréhension et l'évaluation quantitative du comportement dynamique d'applications parallèles est un problème difficile tant du point de vue de l'analyse a posteriori des phénomènes observés que celui de la définition de modèles prédictifs. Au niveau de la prédiction de performances, il est nécessaire de construire des modèles formels. À cause de l'indéterminisme temporel des applications parallèles étudiées et de l'imprédictibilité des temps d'exécution de tâches, les modèles sont exprimés sous la forme de processus stochastiques multidimensionnels en temps continu et à espace d'état discret. Ces espaces d'état sont de très grande taille et de structure complexe, la complexité provenant des synchronisations dans l'application parallèle. Des techniques formelles spécifiques doivent donc être développées. Les approches retenues actuellement sont celles des processus markoviens [[1]] et des pseudo-algèbres (max,+) (graphes d'événements) [[10]]. Des algorithmes performants permettent, par l'introduction de la structure du modèle dans la méthode numérique de résolution, de réduire l'espace mémoire de stockage et de diminuer la complexité de calcul. Les voies qui sont explorées utilisent les symétries, l'algèbre tensorielle, des propriétés de décomposabilité, l'étude de comportements asymptotiques, etc.