Cloud FPGA
Université Pierre et Marie Curie – Pièce 105 – Tour 26/25
19/10/2016

Annonce :

Le cloud computing permet le partage de différentes ressources par différents utilisateurs via les réseaux internet. Ici, le mot « ressources » peut signifier différentes choses en fonction du type de service attendu. Il peut s’agir de Software as a Service(SaaS, fournit des logiciels d’application & bases de données), Platform as a Service(PaaS, fournit aux développeurs des APIs propriétaires) ou de Infrastructure as a Service(IaaS, met à votre disposition des infrastructures pour le développement). Les performances des serveurs basés sur des CPUs souffrent de la consommation en énergie qui devient trop élevée à grandes échelles. Les FPGAs semblent être une bonne alternative afin d’améliorer le ratio performances/consommation d’énergie dans le cas des calculs intensifs. Cependant, la mise en oeuvre de telles plateformes rencontre plusieurs challenges liés à la difficulté de la virtualisation des FPGAs. L’intégration des FPGAs dans les Cloud nécessite donc un environnement de virtualisation des ressources FPGAs, la gestion dynamique des communications intra et inter-FPGAs, le chargement dynamique des Bitstreams, la gestion dynamique des utilisateurs, etc.

L’objectif de cette journée, organisée conjointement par le GdR ISIS thème C et le GDR SoC SiP, est de mettre en avant les avancées récentes dans le déploiement de FPGAs dans le Cloud computing. Les exposés permettront d’identifier les verrous associés.

Organisateurs

Organisateurs

Programme :

  • 9h15 – 9h30 : Accueil des participants
  • 9h30 – 9h45 : Présentation du programme de la journée: El-Bey Bourennane
  • 9h45 – 10h30 : Matthieu Payet (LaHC-TIMA)
  • 10h30 – 11h00 : Hiliwi Leake (LE2I)
  • 11h15 – 12h00 : Loic Lagadec/ Jean-Christophe Le Lann ( ENSTA Bretagne / Lab-STICC)
  • 13h30 – 14h15 : El Hadj Benkhelifa (Stafforshire university)
  • 14h15 – 14h45 : Jean Christophe Prevotet (IETR)
  • 15h00 – 15h30 : Olivier Muller (TIMA)
  • 15h30-15h40 pause
  • 16h00 – 17h00 : Omar Hammami (ENSTA ParisTech)
  • 17h15 : Conclusion

Résumé des exposés :

Programme provisoire mis à jour le 16/10/2016

Overlays FPGA pour le Cloud

Loic Lagadec/Jean-Christophe Le Lann

Une architecture overlay est une architecture de traitement, programmable voire reconfigurable, mise en oeuvre sur des FPGAs. La présentation montrera comment l’ajout de certaines ressources dans une overlay en permet une exploitation dans un cadre cloud, en assurant deux propriétés critiques: la portabilité des designs applicatifs et la migration de tâches HW.

Changement de contexte matériel compatible avec un nuage hétérogène de FPGA

Olivier Muller

Pour remplir les caractéristiques d’un nuage, il est nécessaire de virtualiser le matériel informatique mis à disposition des utilisateurs. Dans le cas d’un nuage à base de FPGA, il faut donc être en mesure de virtualiser les tâches matérielles s’exécutant sur les FPGAs.

En pratique, il faut donner la capacité à une application s’exécutant sur un FPGA de se stopper pour laisser s’exécuter d’autres applications jugées plus prioritaires par le nuage. Une telle action est qualifiée de « changement de contexte » (en anglais context-switch).

Dans cette présentation, nous présentons une méthode et un outil permettant de donner cette capacité à des circuits fonctionnant sur cible reconfigurable hétérogène ou non. Le flot de conception présenté s’appuie sur un logiciel de synthèse de haut niveau et offre automatiquement cette capacité de commutation aux circuits synthétisés. Les expériences menées sur un panel de circuits classiques montrent que l’ajout de cette capacité a un coût relativement faible ainsi qu’une rapidité de commutation sans égale dans la littérature.

Virtualization on FPGA Reconfigurable Platforms

Jean-Christophe Prévotet

Virtualization has been under intense research for several decades, and has been successfully implemented in conventional x86 architectures, especially in data centers, servers and workstations. It has now become a hot topic in the embedded system domain, since it provides vendors with increased energy efficiency, shorter time-to-market cycles and higher reliability.

In the presented work, we will consider an SoPC (System On Programmable Chip) architecture as a privilege target for implementing virtual embedded systems. These devices are known to offer high adaptability, low cost and constitute an interesting alternative to classic circuits such as DSPs, and ASIPs. Furthermore, this technology makes it also possible to extend traditional CPU virtualization concepts into the FPGA domain to fully exploit reconfigurable computing.

In this context, at the IETR lab, we have proposed a custom embedded micro-kernel named KER-ONE, that supports real time virtualization. This micro-kernel is foreseen to be used as a lightweight hypervisor allowing to run several guest operating systems on top of it (including real time OS). Moreover, it also aims at managing the partial reconfiguration of the FPGA fabric.

The object of our presentation deals with the description of the proposed micro-kernel and the mechanisms that are provided (memory management, communication, scheduling, and partial reconfiguration management). We will mainly focus on the description of the reconfigurable hardware management from the micro-kernel. The objective is to provide an abstract and transparent layer for virtual machines to access reconfigurable resources. The underlying infrastructure of partial reconfiguration management is hidden from the virtual machines, so that the software developers do not need to consider the implementation details. We propose a framework where reconfigurable accelerators are presented as virtual devices, which are universally mapped in each VM space as ordinary peripheral interfaces. The proposed system automatically detects virtual machines’ request for reconfigurable resources and handles these requests dynamically according to a preemptive allocation mechanism.

We will also show that KER-ONE manages to achieve small kernel size and low complexity. We will evaluate the proposed approach according to various experiments and will show that our micro-kernel is capable of hosting RTOS with very low virtualization overheads and close-to-native performances. We will also demonstrate that our management framework is able to efficiently allocate reconfigurable accelerators to virtual machines, with a high level of performance.

Breaking the Rule: Complex yet Reliable

Elhadj Benkhelifa

The world is increasingly reliant upon computer systems, driving the need for a resilient and secure infrastructures. Ensuring the resilience of critical infrastructures is ever more necessary with the increasing hardware faults and threat of cyber-attacks, due to the increased complexity. It is generally acceptable that whilst complexity increases resilience and reliability decreases. However Biological systems subvert this rule; they are inherently much more complex, yet highly reliable. The human body, for instance, having approximately 100 trillion cells yet defending against tens of thousands of attacks on a daily basis. Organisations are increasingly choosing cloud-computing as the foundation for their IT infrastructure. With the majority of businesses suffering from hardware failures and security breaches, the reliability of inherently complex cloud systems becomes under test. Inspired by biology, this talk explores unconventional princi ples found in nature to break the conventional rules and make these inherently complex cloud infrastructures more resilient to failure and attacks. This talk will showcase the application of the embryological development principles, found in biological systems, at a Hardware level (FPGA) and at a software level (Cloud computing) to achieve higher intrinsic resilience.

Adaptive NoC based virtualized FPGA in the context of cloud computing

Hiliwi Leake

Hardware accelerators (HwAcc) provide good performance in computation intensive applications. Integrating HwAcc’s in a cloud environment is the optimal way to improve the quality of service. However, mapping all possible computation intensive application statically into the reconfigurable fabric of the FPGA is rather impractical and prohibitively expensive in terms of resource and power consumption. This problem can be alleviated via time multiplexing the access to the underlying hardware resources by designing dynamically reconfigurable HwAcc’s in the cloud.

In addition, there are cases where the cloud user will request a HwAcc that doesn’t exist in the cloud HwAcc’s library. In this case, the cloud provider has to include a service that helps the user to implement and generate own HwAcc bitstream. This can be achieved by integrating virtualized FPGA into cloud computing and providing two cloud services namely: Reconfigurable IPs as a Service (RIPaaS) and Reconfigurable Region as a Service (RRaaS) can be provided. In RIPaaS, the service will connect the user to the requested HwAcc and the user will run the application. In case of RRaaS, the user will be asked to select one of the possible predefined reconfigurable regions and upload the user defined Netlist for implementation and generation of bitstream. Later the new bitstream will be imported to the HwAcc bitstream library to load it into the running FPGA and connect the user.

However, inter and intra communication between the HwAcc /IPs and the reconfiguration management during status and data sharing will not be efficient without the use of Network-on-Chip (NoC). In addition, the communication requirement of the reconfigurable HwAcc may be different and they will need adaptive communication medium. In order to address these issues, we propose Adaptive NoC based virtualized FPGA for cloud computing resource sharing.

Due to the complexity of the proposed architecture, it is important to use a Hypervisor as intermediate level between the physical infrastructure and application layer to manage the FPGA resources.

SyntheSys : un outil de génération d’architectures parallèles programmables pour FPGA par synthèse d’architectures orientée NoC

Matthieu Payet

L’exploitation des FPGA par des concepteurs d’algorithmes non experts pose de nombreux problèmes. Parmis eux, l’extraction du parallélisme, l’utilisation d’architectures extensibles, les problèmes d’interfaçage logiciel/matériel ou encore les longues synthèse logiques limitent l’utilisation des FPGA au plus grand nombre. SyntheSys a été developpé afin de proposer un environnement de développement transparent et une architecture programmable permettant une accélération des programmes sur FPGA. Il permet de réaliser une synthèse d’architectures utilisant des réseaux sur puce (NoC) à partir de programmes Python. L’aspect programmable de l’architecture permet de l’utiliser dans des clusters de FPGA pour l’accélération de calcul.

Analyse préliminaire des besoins en ressources pour les applications Big Data

Omar Hammami

Nous décrivons une analyse préliminaire des besoins en ressources pour des applications Big Data en se basant sur un flot d’exploration à base d’OpenCL. Les pistes d’extension pour des microservers à base d’Arria 10 seront décrites.

Design Space Exploration of Configurable Manycore on Multi-user Cloud FPGA

Omar Hammami

We describe return on expérience of design space exploration of configurable manycore on multi-user cloud FPGA on ZeBu server. Two configurations of cluster of SMP vs cluster of cluster are implemented with up to 4096 PE.

Lien : http://gdr-isis.fr/index.php?page=reunion&idreunion=306