Exécution spéculative basée sur la théorie GLR/GLL

Publié le : 10 janvier 2019

Une problématique clé dans les processeurs actuels, et plus spécialement dans le calcul haute performance, est de prédire les accès mémoires pour permettre au processeur de précharger les données dans les caches. L’enjeu actuel est de d’exécuter efficacement des codes dit sparses, comme le HPCG, pour lequel l’efficacité des machines se situe à des niveaux très bas (typiquement < à 2% du maximum théorique des processeurs) dû au prix à payer pour les accès mémoires. Pour cela, une des voies est d'exécuter spéculativement en avance de phase les instructions sans effectuer de calcul afin de précharger les caches [1]. Dans cette exécution spéculative, un programme se transforme en une exécution parallèle suivant plusieurs branches (if / else), dont une seule se révélera correcte (prise / non-prise). Dans un domaine indépendant, celui des automates et de l'analyse syntaxique, le laboratoire a déjà mis en oeuvre une implémentation de la théorie GLR/GLL capable d’explorer de manière optimale les différentes alternatives d’exécution. Le but de ce stage est d'explorer et de valider si une telle théorie est capable de représenter une exécution spéculative d'un code de calcul. Le candidat devra alors implémenter une solution et analyser sur un flot d'instructions caractéristiques les performances obtenues. L'étudiant devra faire preuve d'un bon niveau en compilation et en architecture de processeur. Une poursuite en thèse est envisageable. [1] Z. Purser, K. Sundaramoorthy and E. Rotenberg, "A Study of Slipstream Processors", Proc. 33rd Ann. Int'l Symp. Microarchitecture, Monterey, CA, Dec. 2000.

En naviguant sur notre site, vous acceptez que des cookies soient utilisés pour vous proposer des contenus et services adaptés à vos centres d’intérêts. En savoir plus
X