November 23, 2020
Serghei Verlan (LACL)Les modèles de calcul non-conventionnel permettent d’avoir une approche différente pour la résolution des nombreux problèmes, plus particulièrement des problèmes d’optimisation et d’algorithmique parallèle. Dans la plupart des cas, les modèles sous-jacents sont massivement parallèles et ne peuvent pas être implémentés efficacement en logiciel sur des architectures courantes.
Nous nous sommes intéressés récemment par le développement des architectures matérielles spécialisées (en circuits logiques matériels à l’aide des FPGA) ce que permettrait d’avoir une exécution réellement parallèle des modèles correspondants. Afin d’obtenir des implémentations efficaces nous avons analysé les opérations possibles en FPGA et nous avons proposé des restrictions théoriques sur les modèles considérés ce que nous a permis d’obtenir des implémentations très efficaces (speed-up de l’ordre 10^5 par rapport aux réalisations logicielles et une vitesse de calcul à 10^8 étapes/s).
Ce qui est particulier dans notre démarche, c’est l’utilisation des résultats théoriques de la théorie des langages formels afin d’obtenir les résultats d’accélération cités ci-dessus. Nous allons montrer des exemples (concernant l’implémentation des différentes versions des systèmes à membranes) où l’efficacité de l’implémentation est une conséquence de la réduction du problème de simulation au problème du nombre des mots dans un langage rationnel. Nous allons également donner l’exemple de l’implémentation efficace des systèmes à membranes numériques où le point clef est la possibilité d’expression du problème en arithmétique de Presburger. Nous avons également montré que dans ce cas le modèle correspond à un système d’équations non-linéaires en différences finies et nous avons appliqué cette correspondance pour la création des contrôleurs matériels (extrêmement rapides – environs 10ns de temps de réponse) pour le problème du déplacement des robots à roues.
Nous allons également discuter des liens entre nos résultats et les langages par flots de données synchrones, plus particulièrement LUSTRE, ainsi que des questions liées à la vérification des modèles obtenus.