Le calcul parallèle fractal, un booster de productivité inspiré de la géométrie

Le calcul parallèle fractal, un booster de productivité inspiré de la géométrie

Crédit : domaine public Unsplash/CC0

Lorsque nous essayons d’effectuer un achat avec une application de shopping, nous pouvons parcourir rapidement la liste de recommandations tout en admettant que la machine nous connaît – du moins, elle apprend à le faire. En tant que technologie émergente efficace, l’apprentissage automatique (ML) est devenu assez omniprésent avec un spectre d’applications allant des applications diverses au supercalcul.

Des ordinateurs ML dédiés sont ainsi développés à différentes échelles, mais leur productivité est quelque peu limitée : la charge de travail et les coûts de développement sont largement concentrés dans leurs piles logicielles, qui doivent être développées ou retravaillées de manière ad hoc pour prendre en charge chaque modèle à l’échelle.

Pour résoudre le problème, des chercheurs de l’Académie chinoise des sciences (CAS) ont proposé un modèle de calcul parallèle fractal et publié leurs recherches dans Informatique intelligente le 5 septembre.

« Pour résoudre le problème de productivité, nous avons proposé des ordinateurs ML avec une architecture fractale de von Neumann (FvNA) », a déclaré Yongwei Zhao, chercheur au State Key Lab of Processors, Institute of Computing Technology de CAS.

La « fractalité » est un concept géométrique emprunté qui décrit les motifs auto-similaires appliqués à n’importe quelle échelle. Si un système est « fractal », selon les chercheurs, cela implique que le système utilise toujours le même programme quelle que soit l’échelle.

FvNA, une architecture de von Neumann multicouche et parallélisée, n’est pas seulement fractale mais aussi isostratale, ce qui signifie littéralement « identique à travers les structures en couches ».

Autrement dit, à l’opposé de l’architecture informatique ML anisostratale conventionnelle, FvNA adopte la même architecture de jeu d’instructions (ISA) pour chaque couche. « La couche inférieure est entièrement contrôlée par la couche supérieure, ainsi, seule la couche supérieure est exposée au programmeur en tant que processeur monolithique. Par conséquent, les ordinateurs ML construits avec FvNA sont programmables sous une vue invariante, homogène et séquentielle. » ont expliqué les chercheurs.

Bien que FvNA ait été attesté comme applicable au domaine ML et capable d’atténuer le problème de productivité de la programmation tout en fonctionnant efficacement comme ses homologues ad hoc, certains problèmes restent à résoudre. Dans cet article, les trois éléments suivants ont été abordés :

  1. Comment FvNA pourrait-il rester assez efficace avec une contrainte architecturale aussi stricte ?
  2. FvNA est-il également applicable aux charges utiles d’autres domaines ?
  3. Si oui, quels sont les prérequis exacts ?

Pour répondre à ces questions, les chercheurs ont commencé par modéliser la machine parallèle fractale (FPM), un ordinateur parallèle abstrait modélisé à partir de FvNA. FPM a été construit sur le multi-BSP de Valiant, un modèle parallèle multicouche homogène, avec seulement des extensions mineures.

Une instance de FPM est une arborescence de composants imbriqués ; chaque composant contient une mémoire, un processeur et des composants enfants. Les composants peuvent exécuter des fracops – le schéma de charges utiles sur les systèmes informatiques parallèles fractals, tels que la lecture de certaines données d’entrée à partir du stockage externe, l’exécution de calculs sur le processeur, puis l’écriture de données de sortie sur le stockage externe.

« Par rapport au multi-BSP de Valiant, le FPM a minimisé les paramètres pour une abstraction plus simple », ont déclaré les chercheurs. « Ce qui est plus important, FPM impose des restrictions explicites sur la programmation en n’exposant qu’un seul processeur à l’interface de programmation. Le processeur n’est conscient que de son composant parent et de ses composants enfants, mais pas de la spécification globale du système. » En d’autres termes, le programme ne sait jamais où il réside dans l’arborescence. Par conséquent, FPM ne peut pas être programmé pour être dépendant de l’échelle par définition.

Pendant ce temps, les chercheurs ont proposé deux architectures FvNA différentes ciblant ML – le Cambricon-F spécifique et le Cambricon-FR universel – et ont illustré le style de programmation fractale de FPM en exécutant plusieurs exemples de programmes à usage général. Les échantillons couvraient des algorithmes de programmation parallèles, diviser pour régner et dynamiques embarrassants, qui se sont tous révélés être programmables efficacement.

« Nous avons précisé que, bien qu’à l’origine développé à partir du domaine du ML, le calcul parallèle fractal est assez généralement applicable », ont conclu les chercheurs, tirant de leurs résultats préliminaires que le FPM, à usage général et optimal en termes de coûts, est aussi puissant que de nombreux modèles informatiques parallèles fondamentaux tels que BSP et la machine de Turing alternative. Ils pensaient également que la mise en œuvre complète du FPM pourrait être utile dans divers scénarios, de l’ensemble du Web mondial aux dispositifs in vivo à l’échelle micrométrique.

Pourtant, les chercheurs ont souligné une découverte remarquable de cette étude selon laquelle FPM limite l’entropie de la programmation en appliquant des contraintes sur le modèle de contrôle des systèmes informatiques parallèles. « Actuellement, les machines fractales, telles que Cambricon-F/FR, ne tirent parti de cette réduction d’entropie que pour simplifier le développement de logiciels », ont-ils observé. « La question de savoir si une réduction d’énergie peut être obtenue en introduisant un contrôle fractal dans des machines parallèles conventionnelles est une question ouverte intéressante. »

Fourni par l’informatique intelligente