Dynamic FPGA Management : contribution to IP accelerators virtualization and pre-emption

par Ye Tian

Thèse de doctorat en Télécommunications

Sous la direction de Fabienne Uzel-Nouvel.


  • Résumé

    La gestion de la reconfiguration des dispositifs FPGAs constitue un sujet d'intérêt dans de nombreux domaines. Dans ces dispositifs, une structure reconfigurable est généralement associée à un processeur pour garantir des performances de calcul élevées avec une quantité limitée de ressources matérielles. La plupart de ces dispositifs sont généralement dotés d'un OS qui nécessite d'interagir avec des ressources matérielles. Les tâches logicielles qui s'exécutent sur le système d'exploitation peuvent alors accéder simultanément aux ressources matérielles et des mécanismes dédiés doivent être prévus pour gérer efficacement le partage des ressources. Certains IP peuvent être accessibles à partir de tâches ayant des priorités différentes et des mécanismes de préemption doivent être imaginés, comme pour les logiciels. En cas de préemption, un des problèmes consiste à suspendre les IP et à les redémarrer à partir du même point de préemption à un autre moment et/ou dans une autre position de la partie reconfigurable du FPGA. Un accélérateur matériel doit pouvoir conserver son état interne et le contenu de sa mémoire afin que, lorsqu'il est repris ultérieurement, son exécution puisse continuer à partir de son point de préemption. Cependant, l'un des défis de la reconfiguration partielle et de la sauvegarde/restauration du contexte est qu'elle prend du temps, d'autant plus que les IP sont constamment reconfigurés. Dans cette thèse, nous abordons le problème du partage des ressources matérielles dans un dispositif reconfigurable. Ensuite, nous proposons de nouveaux mécanismes de préemption sur le RSoC pour gérer efficacement et en toute sécurité ces ressources reconfigurables.


  • Résumé

    The management of reconfiguration in FPGAs devices constitutes a hot topic in a lot of domains. In such devices, a reconfigurable fabric is generally combined with a processor to guarantee high computing performance with a limited amount of hardware resources. Most of these devices generally feature an OS that requires to interact with hardware resources. Software tasks that run on top of the OS may then access hardware resources concurrently and dedicated mechanisms have to be provided to manage resource sharing efficiently. The problem is even bigger if hardware resources are localized in a reconfigurable area that can implement various designs in time. Some IPs may be accessed from tasks with different priorities and preemption mechanisms have to be imagined, as in software. In case of preemption, one issue consists in suspending the IPs and restart them from the very same point of preemption at another time and/or in another position of the reconfigurable part of the FPGA. An hardware accelerator must be able to preserved its internal state and its memory contents so that when it is resumed later, its execution can continue from its preemption point. However, one challenge of partial reconfiguration and context saving/restoring is that it is time consuming, especially as IPs are constantly being reconfigured. In this thesis, we first deal with the problem of sharing hardware resources in a reconfigurable device. Second, we proposed new preemption mechanisms on the RSoC to efficiently and safely manage these reconfigurable resources, which may reduce the reconfiguration time overhead to be compatible with the timing constraints of most embedded applications.