CE25 - Infrastructures de communication hautes performances (réseau, calcul et stockage), Sciences et technologies logicielles

Accélérer le calcul parallèle à l’aide de méthodes de diffusion grâce aux réseaux sur puce hybride radio – RAKES

RAdio Kills the Electronic Stars

Accélérer les applications parallèles grâce aux communications de type diffusion basées sur des approches hybrides filaires/sans fil

Contexte, positionnement et objectifs

L'approche principalement utilisée pour programmer les puces multi/manycore suppose que la mémoire est partagée, et que le support matériel pour cela est la cohérence de cache à travers toute la hiérarchie mémoire. La question de permettre le passage à l'échelle du protocole nécessaire pour assurer la cohérence est récurrente, car elle nécessite de diffuser des messages de cohérence à tous les caches, ou à un sous-ensemble identifié des caches. De même, les synchronisations collectives telles que les barrières ou la signalisation des conditions sont difficilement à mettre en œuvre efficacement. Par nature, les communications radio offrent des capacités de diffusion et une latence négligeable, elles ont donc le potentiel pour disséminer des informations très rapidement à l'échelle d'un circuit et donc d'être potentiellement une stratégie viable pour résoudre ces problèmes.<br />L'architecture typique d'un manycore utilisant les résultats du projet RAKES est composée de n x m grappes de différents types connectés par un NoC dont les routeurs sont également équipés d'un émetteur et d'un récepteur RF. Les grappes sont constituées de p processeurs et d'un cache L2 local, et peuvent également inclure une partie du cache de dernier niveau distribué (LLC) ou un contrôleur de DRAM.<br /><br />Toutes choses étant égales par ailleurs, les liaisons sans fil dans les NoC sont pressenties comme étant une solution raisonnable pour réduire la latence des chemins à sauts multiples. Dans RAKES, nous visons à résoudre les défis actuels qui limitent l'exploration de voies attendues par la communauté du calcul parallèle, à savoir l'utilisation des capacités de diffusion pour le protocole de cohérence du cache et les mécanismes de programmation parallèle. La possibilité de diffusion efficace est une caractéristique clé du projet qui permettra des avancées scientifiques relativement aux solutions actuelles.

Dans RAKES, nous étudions les avantages de la communication par diffusion et multidiffusion basée sur un NoC hybride sans fil/filaire. La disponibilité d'une diffusion/multidiffusion efficace présente des perspectives impressionnantes en termes de réduction de la latence pour les modèles de calcul à mémoire partagée et à passage de messages. Dans ce projet, nous nous intéressons principalement à l'optimisation du surcoût de communication qui a un impact sur les performances des protocoles de cohérence de cache. Le premier point fort de notre proposition repose sur notre approche, puisque nous considérons une exploration et une conception conjointe du protocole de cohérence de cache et du NoC multi-diffusion. Elle contribuera également à l'amélioration des mécanismes de synchronisation. Le deuxième point clé repose sur l'utilisation de techniques de traitement du signal qui prennent en compte des modèles de canaux radio réalistes et tirent parti d'implémentations à faible puissance.
Les architectures NoC classiques prennent en charge les opérations de diffusion sous la forme de multiples transmissions point-à-point, ce qui entraîne d'importantes pénalités de performance du système concernant la latence du réseau et le surcoût lié à la consommation d'énergie.
Les capacités de diffusion sans fil sont très prometteuses. Cependant, la communication «un vers plusieurs« n'est pas la seule exigence (nécessaire lorsqu'un cache de niveau supérieur envoie des informations aux caches qui appartiennent à la liste des partageurs par exemple), et «plusieurs vers un« (nécessaire lorsque plusieurs caches de niveau inférieur tentent simultanément d'accéder à un cache de niveau supérieur) et «plusieurs vers plusieurs« (lorsque, dans la même situation que précédemment, le cache de niveau supérieur est physiquement distribué, auquel cas les communications doivent atteindre toutes les blocs de mémoire qui constituent ce cache).

Actuellement, nous avons mis en place les infrastructures de simulation nécessaires à la collecte des traces d'accès mémoire. Pour certaines technologies de simulation (spider, gem5), les traces incluent les messages de cohérence de cache, tandis que pour d'autres (qemu), ce travail est toujours en cours (en particulier le faire de manière à ce qu'il passe à l'échelle).

Nous avons également progressé dans la modélisation et l'implémentation des liens sans fil sur puce. Plus précisément, nous avons conçu et mis en œuvre un émetteur-récepteur sans fil présentant des gains d'énergie significatifs par rapport aux liens électroniques dans des situations de multidiffusion et de diffusion.

Démonstration de gains énergétiques significatifs sur l’emploi de liens sans fil.

La suite du travail va porter d'une part sur la modélisation à haut niveau des échanges filaire et sans fil, afin d'injecter ces informations dans les modèles de caches, dans le but de faire évoluer les protocoles et d'évaluer de manière réaliste et convaincantes les performances.

A. Faravelon, O. Gruber, F. Pétrot. Removing Load/Store Helpers in Dynamic Binary Translation. Multi-Processor System-on-Chip 1: Architectures, John Wiley & Sons, Inc. pp. 133-160, Chapter 7, 2021.

Sosa, J., Sentieys, O. and Roland, C., Adaptive transceiver for wireless noc to enhance multicast/unicast communication scenarios. In IEEE Computer Society Annual Symposium on VLSI (ISVLSI) (pp. 592-597), 2019.

Sosa, J., Sentieys, O., Roland, C. and Killian, C., Multi-carrier spread-spectrum transceiver for WiNoC. In Proceedings of the 13th IEEE/ACM International Symposium on Networks-on-Chip, 2019.

Sosa, J., Killian, C., Ammar, H. and Chillet, D., Min/max time limits and energy penalty of communication scheduling in ring-based ONoC. In NoCArc 2020.

N. Chatterjee and K. Martin, Broadcast Communication in Wireless Network-on-Chip, Colloque du GdR SOC2, juin 2021

L'exploitation efficace des architectures pluri-cœurs par les développeurs d'application est compliquée, en particulier lorsque les caractéristiques spécifiques de la machine sont visibles du logiciel. La vision généralement admise du parallélisme fait l'hypothèse d'une mémoire partagée cohérente, et exploite des primitives de synchronisation point à point ou collectives qui permettent de ne pas dépendre des particularités de la machine. Ces capacités sont en pratique difficiles à implanter efficacement.

En effet, lorsque le nombre de cœurs dépasse la dizaine, les communications ne peuvent plus être partagées à l'échelle du circuit, et il est nécessaire d'avoir recours à des réseaux sur puce, dans lesquels chaque cœur ne peut avoir directement accès aux communications en cours entre d'autres cœurs (à la différence d'un bus partagé dans lequel chaque cœur peut voir les communications en cours, même s'il n'en est pas destinataire). Cet état de fait est particulièrement problématique lorsque l'on cherche à assurer la cohérence des caches ou à exécuter des synchronisations collectives. Une solution élégante à ce problème peut venir de l'usage d'émetteurs/récepteurs radio.

De part sa nature rayonnante, la communication RF apporte des possibilités de diffusion à latence négligeable. Elle possède donc les bonnes propriétés pour disséminer des informations à l'intérieur d'un circuit et est donc une piste intéressante pour la résolution de ces problèmes.

Le projet Rakes a pour but d'étudier comment la communication RF peut résoudre ces problèmes sur des machines avec un grand nombre de cœurs (>256), en les étudiants grâce à des plateformes virtuelles et en proposant une implantation effective.

Coordination du projet

Frederic Petrot (Techniques de l'Informatique et de la Microélectronique pour l'Architecture des systèmes intégrés)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

Inria Rennes - Bretagne Atlantique Centre de Recherche Inria Rennes - Bretagne Atlantique
LAB-STICC Laboratoire des Sciences et Techniques de l'Information, de la Communication et de la Connaissance
Grenoble INP/TIMA Techniques de l'Informatique et de la Microélectronique pour l'Architecture des systèmes intégrés

Aide de l'ANR 617 027 euros
Début et durée du projet scientifique : mai 2019 - 48 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter