Machinæ pluribus unum – (faire) une seule machine avec plusieurs
Les architectures clouds et hautes performances et sont de plus en plus hétérogènes et intègrent du matériel souvent spécialisé. Nous avons d’abord vu la généralisation des GPUs suivie par l’introduction des FPGAs. Plus récemment, nous avons vu l’apparition d’autres accélérateurs: les tensor processing unit (TPU) et les unités de calcul en précision variable (VRP FPU). La tendance récente en matière de fabrication de matériel fait qu’il est très probable que la spécialisation non seulement persiste, mais augmente dans les futures générations de supercalculateurs. Parce que gérer manuellement de cette hétérogénéité dans chaque application est complexe et non maintenable, nous proposons dans ce projet de revoir la façon dont nous concevons le matériel et les systèmes d’exploitation. En résumé, nous proposons de repenser la frontière matériel/logiciel afin de dissimuler l’hétérogénéité derrière un jeu d’instructions minimal commun et un espace d’adresse unifié.