Aller au contenu

« Cloud de FPGA » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
JawedM2CC (discuter | contributions)
Ajustand (discuter | contributions)
Aucun résumé des modifications
Ligne 67 : Ligne 67 :


Le FPGAVirt <ref name="Mbongue_2018_864">{{harvsp|Mbongue|2018|p=864|id=Mbongue2018}}</ref> est une co-conception matérielle / logicielle qui utilise Virtio-vsock pour les communications entre VM et FPGA.
Le FPGAVirt <ref name="Mbongue_2018_864">{{harvsp|Mbongue|2018|p=864|id=Mbongue2018}}</ref> est une co-conception matérielle / logicielle qui utilise Virtio-vsock pour les communications entre VM et FPGA.
Il utilise la table de mappage CID <ref name="Mbongue_2018_863">{{harvsp|Mbongue|2018|p=863|id=Mbongue2018}}</ref>/ VF <ref name="Mbongue_2018_863">{{harvsp|Mbongue|2018|p=863|id=Mbongue2018}}</ref> qui enregistre des régions FPGA attribuées aux machines virtuelles. Le FPGA possède principalement une architecture de superposition en pourvoyant des VF aux VM et un ensemble de BRAM (Blocs de RAM) pour stocker les données des VF conçus avec une taille spécifique. L'architecture overlay <ref name="Mbongue_2018_864">{{harvsp|Mbongue|2018|p=864|id=Mbongue2018}}</ref> fournit plusieurs VF sur le même FPGA ou sur plusieurs FPGA distants à un utilisateur; cela permet de répondre aux exigences de disponibilité des services cloud sur les tâches matériels d'un utilisateur sur plusieurs FPGA. Lorsqu'un VF est attribué à un utilisateur, le service de gestion du FPGA fait une mise à jour de sa table mappage CID / VF pour pouvoir enregistrer l'utilisateur en question. Par la suite, il configure le HWSB [3] en bloquant toutes tentatives d'accès à un VF ou BRAM qui n'appartient pas à l'utilisateur enregistré; cela permet de répondre aux exigences d'isolements du Cloud.
Il utilise la table de mappage CID <ref name="Mbongue_2018_863">{{harvsp|Mbongue|2018|p=863|id=Mbongue2018}}</ref>/ VF <ref name="Mbongue_2018_863">{{harvsp|Mbongue|2018|p=863|id=Mbongue2018}}</ref> qui enregistre des régions FPGA attribuées aux machines virtuelles. Le FPGA possède principalement une architecture de superposition en pourvoyant des VF aux VM et un ensemble de BRAM (Blocs de RAM) pour stocker les données des VF conçus avec une taille spécifique. L'architecture overlay <ref name="Mbongue_2018_864">{{harvsp|Mbongue|2018|p=864|id=Mbongue2018}}</ref> fournit plusieurs VF sur le même FPGA ou sur plusieurs FPGA distants à un utilisateur; cela permet de répondre aux exigences de disponibilité des services cloud sur les tâches matériels d'un utilisateur sur plusieurs FPGA. Lorsqu'un VF est attribué à un utilisateur, le service de gestion du FPGA fait une mise à jour de sa table mappage CID / VF pour pouvoir enregistrer l'utilisateur en question. Par la suite, il configure le HWSB <ref name="Bobda_2017_50">{{harvsp|Bobda|2017|p=50|id=Bobda2017}}</ref> en bloquant toutes tentatives d'accès à un VF ou BRAM qui n'appartient pas à l'utilisateur enregistré; cela permet de répondre aux exigences d'isolements du Cloud.

[3] C. Bobda, J. Mead, T. J. Whitaker, C. Kamhoua and K. Kwiat, "Hardware sandboxing: A novel defense paradigm against hardware trojans in systems on chip", International Symposium on Applied Reconfigurable Computing, pp. 47-59, 2017.


[8] "virtio: towards a de-facto standard for virtual i/o devices", R. Russell, ACM SIGOPS Operating Systems Review, vol. 42, no. 5, pp. 95-103, 2008.
[8] "virtio: towards a de-facto standard for virtual i/o devices", R. Russell, ACM SIGOPS Operating Systems Review, vol. 42, no. 5, pp. 95-103, 2008.



===== Au Niveau d'un noeud =====
===== Au Niveau d'un noeud =====
Ligne 1 095 : Ligne 1 094 :
| pages = 33 - 38
| pages = 33 - 38
| doi =
| doi =
}}{{plume}}

* {{article
| lang = en
| id = Bobda2017
| prénom1 = Cristophe
| nom1 = Bobda
| prénom2 = Joshua
| nom2 = Mead
| prénom3 = Taylor J. L.
| nom3 = Whitak
| prénom4 = Charles
| nom4 = Kwiat
| prénom4 = Kevin
| nom4 = Kamhoua
| titre = Hardware Sandboxing: A Novel Defense Paradigm Against Hardware Trojans in Systems on Chip
| périodique = International Symposium on Applied Reconfigurable Computing 2017
| volume =
| numéro =
| issn =
| année = 2017
| mois =
| pages = 47 - 59
| doi = 10.1007/978-3-319-56258-2_5
}}{{plume}}
}}{{plume}}


Ligne 1 232 : Ligne 1 255 :
| titre = Deploy ML models to field-programmable gate arrays (FPGAs) with Azure Machine Learning
| titre = Deploy ML models to field-programmable gate arrays (FPGAs) with Azure Machine Learning
| consulté le = 14 décembre 2020
| consulté le = 14 décembre 2020
}}{{plume}}

* {{Lien web
| id = Virtio-vsock
| langue = en
| url = https://vmsplice.net/~stefan/stefanha-kvm-forum-2015.pdf
| titre = Virtio-vsock Zero-configuration host/guest communication
| consulté le = 21 décembre 2020
}}{{plume}}
}}{{plume}}

Version du 23 décembre 2020 à 12:34

Ces dernières années,les cloud FPGA (Field Programmable Gate Arrays) commencent à émerger dans le domaine du cloud computing. Les FPGA ont été déployés dans des centres de données des principaux fournisseurs de services cloud, tels que Microsoft, Amazon, Alibaba et Huawei.

Les cloud FPGA offrent des avantages par rapport aux cloud classique en termes de performances et de sécurité. L’utilisation du cloud FPGA intervient dans différents domaines tel que la médecine,  la finance et de la recherche.  Au fil des années les cloud FPGA se sont virtualisés pour être multi-utilisateurs. La virtualisation a eu un fort impact sur l’architecture des cloud FPGA

Motivations

Accélération des Calculs

L'une des motivations de l'utilisation des FPGA dans le cloud, c'est l'accélération des calculs. Les FPGA sont utilisés en co-processeur, le processeurs exécute l'application et le FPGA gère les noyaux qui ont un temps d'exécution long. [1] Certains FPGA sont utilisés comme accélérateurs statiques, conçus une seule fois et utilisés pour une seule fonction. [2]. Les systèmes combinant processeur et FPGA offrent une bande passante de données extrêmement élevée permettant à des applications de haute performance avec une exécution matérielle et logicielle entrelacée, comme par exemple la puce Xilinx Zynq[3]. Les FPGA sont très utilisés pour les applications intensives en calcul grâce à leur puissance efficace consommations et leurs délais d'exécution rapides[4]. La performance clé et les avantages de puissance sont réalisés en concevant des calculs personnalisés des chemins de données adaptés à une application particulière [2]. Les FPGA sont connus pour surpasser les GPU dans de nombreuses applications spécifiques [5].

Sécurisation du Cloud

L'une des motivations principale de l'utilisation des FPGA dans le cloud est la sécurité. L'une des techniques de sécurisation est le cryptage homomorphe. Il est une réponse prometteuse aux problèmes de sécurité soulevés par le cloud computing car il permet de stocker et de manipuler des données à distance sous une forme chiffrée, empêchant efficacement le serveur d'accéder aux informations traitées. [6]

Faible consommation d'énergie des FPGA

Architecture

A traiter

Pour Adil : https://www.researchgate.net/publication/330359937_FPGAs_and_the_Cloud_-_An_Endless_Tale_of_Virtualization_Elasticity_and_Efficiency https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8030335

[7] [8] [9] [10] [11]

Implémentation Matériel

CoProcesseur

Installation avec le PCI Express. Le CPU joue la passerelle => VN2F

Autonome

Accès direct au réseau [12]

Virtualisation

Au lieu de classer les travaux existants en fonction des techniques de virtualisation, les cas d'utilisation ou les modèles d'execution utilisés. Ces classifications pouvant changer au cours du temps. Il est préférable de choisir de les classer au niveau de l'abstraction des systèmes de calcul qui utilisent la virtualisation. Ce qui nous donne des sous-sections au niveau ressource, au niveau d'un noeud et au niveau de multiples noeuds. [13] (reproduire la fig1 de l'article [14])

Au Niveau ressource

ajouter les articles connexes

La ressource peut être de deux types : reconfigurable et non-reconfigurable. Ce qui nous donne deux parties, la virtualisation de l'architecture, [3] [15] et le partage transparent des E/S dans un système multi-tenant [16] [17]. [13]

  1. 1 Contexte

L'approche du 1ère exemple [18] repose sur l'utilisation de VM correspondant à une virutalisation de type 1 barre métal, et d'un hyperviseur [19]. Cette approche permet à plusieurs utilisateurs d'utiliser le même FPGA et par extension l'utilisation de plusieurs vFPGA pour le même matériel. Le vFPGA doit fonctionner indépendament du matériel avec sa propre gestion de l'infrastructure comme la synchronisation et la réinitialisation. Chaque création d'un vFPGA utilise le flux de conception traditionnelle avec des régions définis pour la reconfiguration partielle [20] dynamique et les interfaces statiques. Les vFPGA peuvent avor des tailles différentes et fonctionner de manière indépendantes les unes des autres. le 2ème exemple [16] utilise Virtio qui est un framework de virtualisation créé initialement dans les environnements linux par Rusty Russel en 2008 [8]. Il joue le rôle de couche d'abstraction permettant à l'hôte d'offrir plusieurs ports série aux périphériques de l'invité pour lui permettre de diffuser des données. Pour répondre aux contraintes initiales de Virtio (communication unique d'un invité avec l'hôte et une couche supplémentaire pour la communication via les ports séries), l'article met en avant un nouveau cadre de communication : Virtio-Vsock [9]. Virtio-Vsock se repose sur l'API socket qui permet de soustraire aux applications invités la gestion des périphériques et permet de multiples communications avec l'hôte par l'intermediaire des sockets Unix AF_VSOCK. Cette solution repose sur le schéma d'adressage avec un identificateur de contexte (CID) associé à un numéro de port. L'hôte possède un CID connu de tous, les invités ont un CID attribué lors de leur démarrage. Virtio-Vsock gère les flux, datagrammes et fonctionne avec un pilote vhost dans l'hôte pour le management des paquets dans la pile réseau.

  1. 2 L'infrastructure

Le prototype RC2F [18] proposé dans l'article initial [21] repose sur de multiple vFPGA utilisateurs fonctionnant sur un seul FPGA physique. La partie principale est composée d'un hyperviseur qui gère la configuration, les coeurs utilisateurs et la surveillance des informations d'état. L'espace mémoire du contrôleur est disponible depuis l'hôte via une API. Les FIFO d'entrée, sortie procurent un débit élévé pour des applications de streaming. Les vFPGA apparaissent comme un périphérique individuel au sein de la VM du point de vue de l'utilisateur. les FPGA sont situé sur sur le système d'hôte accessible depuis l'interface PCie. Sur les deux composants hôte et FPGA, il existe un hyperviseur qui gèrent les accès, configuration et affectation des vFPGA. Le prototype permet de transformer les FPGA en vFPGA avec une gestion d'état et un frontend statique. L'architecture de l'article permet de fournir des vFPGA, l'hyperviseur gère les communications de la puce entre les interfaces frontend et backend via le PCie (le prototype utilise un PCIe-Core de Xillybus pour l'accès DMA [22]). L'hyperviseur FPGA s'occupe de la gestion des vFPGA, leur encapsulation, la gestion de l'état et la reconfiguration grâce à l'ICAP [23]. L'interaction entre l'hôte et l'hyperviseur FPGA repose sur la mémoire de configuration composé de la configuration de l'hyperviseur FPGA (état du système, donnée de configuration et état général) et l'administration des vFPGA.

Le FPGAVirt [24] est une co-conception matérielle / logicielle qui utilise Virtio-vsock pour les communications entre VM et FPGA. Il utilise la table de mappage CID [16]/ VF [16] qui enregistre des régions FPGA attribuées aux machines virtuelles. Le FPGA possède principalement une architecture de superposition en pourvoyant des VF aux VM et un ensemble de BRAM (Blocs de RAM) pour stocker les données des VF conçus avec une taille spécifique. L'architecture overlay [24] fournit plusieurs VF sur le même FPGA ou sur plusieurs FPGA distants à un utilisateur; cela permet de répondre aux exigences de disponibilité des services cloud sur les tâches matériels d'un utilisateur sur plusieurs FPGA. Lorsqu'un VF est attribué à un utilisateur, le service de gestion du FPGA fait une mise à jour de sa table mappage CID / VF pour pouvoir enregistrer l'utilisateur en question. Par la suite, il configure le HWSB [25] en bloquant toutes tentatives d'accès à un VF ou BRAM qui n'appartient pas à l'utilisateur enregistré; cela permet de répondre aux exigences d'isolements du Cloud.

[8] "virtio: towards a de-facto standard for virtual i/o devices", R. Russell, ACM SIGOPS Operating Systems Review, vol. 42, no. 5, pp. 95-103, 2008.


Au Niveau d'un noeud

Au niveau d'un noeud : le terme "noeud" signifie un FPGA unique. L'infrastructure et les techniques de management de la ressource sont le sujet de cette rubrique. Les exemples traitent du support VMM [26] , et de l'approche des OS FPGA et des hyperviseurs-vFPGA servant d'accélérateurs aux utilisateur [27] [28]. [13]

Au Niveau multiple noeuds

Le "Multiple noeuds" est défini comme un cluster de deux ou plus puces FPGA. Dans cette section, on traite des techniques et architectures utilisées pour connecter plusieurs FPGA ensemble afin d'accélérer une tâche. En exemple, on peut citer un cluster servant à créer un réseau au sein d'un cloud [29], logiciel fonctionnant sur un infrastructure multi-FPGA [30], une solution d'abstraction de la compilation et de l'allocation des ressources [31]. [13]

Fiabilité (A voir)

[32] [33]

Sécurité

Impacts sécurité sur l'architechture
Confidentialité des données

3.4 Security [7]

Security in FPGA-accelerated Cloud and Datacenters (plusieurs articles sur la sécurité des cloud FPGA) [34]

Comment les caractéristiques uniques des FPGA peuvent être exploitées [35]


[36] [37] [33] [38]

Les solutions du marché

Avec la croissance des demandes de ressources FPGA, les offres commencent à émerger sur le marché du cloud.

Amazon propose des FPGA aux développeurs d'applications à travers son offre EC2 F1 pour permettre la création d’une accélération matérielle personnalisée[39]. Ils proposent également des infrastructures FPGA et des applications pour des domaines ciblés comme la cryptologie avec AWS Cloud Crypto[40] ou encore le machine learning avec FPGA-Accelerated Deep-Learning[41].

OVH lance en 2017[42] une offre "Acceleration as a Service" en partenariat avec Accelize qui propose un magasin d'applications pour la finance et les études de marché basée sur la technologie FPGA de Xilinx. [43].

Huawei propose également des offres "Cloud accéléré" qui reposent sur des FPGA VU9P de Xilinx[44].

Microsoft utilise les FPGA sur son cloud Azure en tant qu'accélérateur dans le domaine du machine learning. Il est alors possible de déployer un modèle en tant que service Web sur des FPGA pour réduire la latence et améliorer les performances[45].

Entreprise Offre Nombre de FPGA Constructeur FPGA Implémentation Domaine
Amazon EC2 F1 1/2/8 FPGA Xilinx UltraScale Plus FPGA Coprocesseur (PCIE) Développement
Amazon AWS FPGA Cloud Crypto 1 FPGA Xilinx UltraScale Plus FPGA Coprocesseur (PCIE) Cryptologie
Amazon AWS FPGA-Accelerated Deep-Learning 1 FPGA Xilinx UltraScale Plus FPGA Coprocesseur (PCIE) Machine learning
Accelize Pro - Xilinx - Finance/Marché
Accelize Entreprise - Xilinx - Finance/Marché
Huawei FP1 basic/enhanced 1/4/8 Xilinx VU9P Coprocesseur (PCIE) Développement
Alibaba ecs.f3 1/2/4 Xilinx VU9P Coprocesseur (PCIE) Développement
Alibaba ecs.f1 1/2/4 Intel Arria 10 GX 1150 Coprocesseur (PCIE) Développement
Microsoft Azure ML - Intel Arria 10 Coprocesseur (PCIE) Machine learning

Exemples d'utilisation

Machine Learning

Implémentation LSTM sur un Cloud FPGA

La complexité de calcul élevée des réseaux de neurones représente un défi critique pour leur adoption plus large dans des scénarios en temps réel et écoénergétiques [46]. Les CPU et GPU ne peuvent pas atteindre un parallélisme élevé et consomment beaucoup. L'utilisation des FPGA dans ce contexte, de par leur flexibilité permet d’améliorer l'efficacité énergétique et d'optimiser chaque étape de l’algorithme de calcul[47].

Le fonctionnement est le suivant. Le serveur hôte reçoit les demandes de calculs des clients et leur répond. Il transfère également les données et taches gourmandes en calculs au FPGA via l'interface PCIExpress. Ces taches sont "bufferisées" sur la mémoire persistante de la carte FPGA avant d'être relayées sur la puce FPGA par le bus AXI4 (ou AXI4Lite)[48]. Sur la puce FPGA sera intégré les fonctions algorithmiques de Long Short-Term Memory (LSTM) qui est un réseau de neurone récurrent(RNN)[48] ou plus généralement les fonctions de réseau de neurone profond (DNN)[49].

A completer [50]

Data Caching

Les magasins de valeurs-clés (KVS) deviennent de plus en plus courant dans les infrastructures Web mais ces technologies sont souvent implémentées sur des serveurs dont les performances sont limitées[51].

Memcached, déjà utilisé par des grands acteurs informatique tels que Facebook, Wikipédia, Flicker et Wordpress [52] est alors limité par le processeur dans des infrastructures classiques[53].

Les projets visant à utiliser des FPGA comme accélerateur memcached permettent d'obtenir de meilleurs résultats sur trois domaines : la latence, le débit en opérations par secondes et le cout.

Projet IOP/S/($-W) avec FPGA OPS/S/($-W) sans FPGA Solution Comparée
LegUp Computing Inc sur Amazon F1 [54] 7M OPS/s/$ 691K OPS/s/$ Amazon ElastiCache (1400 connexions simultanées)
Accelerateur pour Memcached (CPU+FPGA Xilinx Virtex-5 TX240T FPGA) [55] 51.61K OPS/s/Watt < 22.5K OPS/s/Watt CPU Intel Xeon
Un appareil FPGA Memcached [56] 88.62K OPS/s/$ 24.69K OPS/s/$ CPU Intel Xeon

Equilibreur de Charge

Les équilibreurs de charge sont des éléments essentiels dans les centres de données permettant de répartir les demandes entre serveurs actifs. L'implémentation d'un équilibreur de charge à protocole arbitraire sur des ressources FPGA virtualisées permet de surpasser une version logicielle en termes de débit et de latence[57].

L'utilisation d'une telle solution montre que l'équilibreur de charge FPGA garde une latence constante malgré l'augmentation du débit et ne perd aucun paquet contrairement à un équilibreur de charge sur machine virtuelle ou quand la charge augmente, le nombre de paquets abandonnés et la latence sont en hausse[57].

L'autre avantage réside dans la gestion du Cloud. En effet, un équilibreurs de charge FPGA peut remplacer plusieurs VM simplifiant et rationalisant le systèmes de l'utilisateur, potentiellement réduire les coûts d'exploitation et réduire la consommation d'énergie globale et les coûts du centre de données[58].

Réseau (A voir)

[59] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8279796


Architecture orientée réseau [60]

Chiffrement

Le Chiffrement homomorphe est une technique permettant au calcul de se dérouler sur des données cryptées[6].

Les implémentations précédentes de ce chiffrement homomorphe sur des processeurs à usage général avaient une latence très longue[61] et des coûts de calcul extrêmement élevés[6] ce qui le rend impraticable pour le cloud computing.

Les cryptoalgorithmes ont des caractéristiques particulières, comme le calcul intégral ou la manipulation au niveau des bits ce qui rend les plates-formes standard comme les CPU et les GPU moins compétitives que les FPGA[6]. Par rapport à l'accélération GPU, la conception basée sur FPGA a une consommation d'énergie beaucoup plus faible et de meilleures performances[62].

Les résultats obtenus sur différentes études soulignent le grand potentiel des technologies FPGA dans l'accélération d'algorithmes cryptographiques à forte intensité de calcul[63].



Fonction de décryptage


Packet inspection avec faible latence

[50] [35] [36]

Calculs

[35] Y. M. Choi and H. K. H. So, “Map-reduce processing of k-means algorithm with fpga-accelerated computer cluster,” in Application-specific Systems, Architectures and Processors (ASAP), 2014 IEEE 25th International Conference on, June 2014, pp. 9–16.


FPGA Accelerated INDEL Realignment in the Cloud https://ieeexplore.ieee.org/document/8675252

[32] C. Kachris, D. Diamantopoulos, G. C. Sirakoulis, and D. Soudris, “An fpga-based integrated mapreduce accelerator platform,” Journal of Signal Processing Systems, pp. 1–13, 2016. [Online]. Available: http://dx.doi.org/10.1007/s11265-016-1108-7

[33] C. Kachris, G. C. Sirakoulis, and D. Soudris, “A reconfigurable mapreduce accelerator for multi-core all-programmable socs,” in System-on-Chip (SoC), 2014 International Symposium on, Oct 2014, pp. 1–6.

Autres

==> Education [8]


Stream App [64]

Environnement

[65] [36] [66] [67]

[34] K. Neshatpour, M. Malik, M. A. Ghodrat, A. Sasan, and H. Homayoun, “Energy-efficient acceleration of big data analytics applications using fpgas,” in Big Data (Big Data), 2015 IEEE International Conference on, Oct 2015, pp. 115–123.

https://ieeexplore.ieee.org/document/7027089

Références

  1. El-Ghazawi 2008, p. 69
  2. a et b Fahmy 2015, p. 430
  3. a et b Fahmy 2015, p. 431
  4. Skhiri 2019, p. 01
  5. Wang 2013, p. 1
  6. a b c et d Cilardo 2016, p. 1622
  7. a et b Chen 2014, p. X
  8. a et b Zhang 2019, p. X
  9. Skhiri 2019, p. X
  10. Ryota 2019, p. X
  11. Zhang 2017, p. X
  12. Ringlein 2019, p. X
  13. a b c et d Vaishnav 2016, p. 132
  14. Vaishnav 2016, p. 131
  15. Byma 2014, p. 111-112
  16. a b c et d Mbongue 2018, p. 863
  17. Knodel 2017, p. X
  18. a et b Knodel 2017, p. 34
  19. J.E. 2005, p. 36
  20. Vivado-Design
  21. Knodel 2015, p. 341
  22. Xillybus
  23. Knodel 2017, p. 33
  24. a et b Mbongue 2018, p. 864
  25. Bobda 2017, p. 50
  26. Wang 2013, p. X
  27. Putnam[2015, p. X
  28. Byma 2014, p. 112-113
  29. Tarafdar 2017, p. 238-243
  30. Fahmy 2015, p. 432-434
  31. Zha 2020, p. 848-852
  32. Keller 2019, p. X
  33. a et b Gnad 2017, p. X
  34. Bobda 2019, p. X
  35. a et b Tian 2020, p. X
  36. a b et c Will 2017, p. X
  37. La 2020, p. X
  38. Cilardo 2016, p. X
  39. Amazon F1
  40. AWS Cloud Crypto
  41. Deep-Learning
  42. OVH Accelize
  43. Accelize
  44. Huawei FPGA
  45. Microsoft ML
  46. Chen 2019, p. 73
  47. Wang 2019, p. 1
  48. a et b Wang 2019, p. 3
  49. Chen 2019, p. 79
  50. a et b Hussain 2018, p. X
  51. Blott 2015, p. 1
  52. Choi 2018, p. 1
  53. Chalamalasetti 2013, p. 245
  54. Choi 2018, p. 8
  55. Lavasani 2014, p. 60
  56. Chalamalasetti 2013, p. 253
  57. a et b Byma 2014, p. 114-115
  58. Byma 2014, p. 116
  59. Papaphilippou 2020, p. X
  60. Al-Aghbari 2019, p. 3011-3015
  61. Wang 2013, p. 2589
  62. Wang 2013, p. 2592
  63. Cilardo 2016, p. 1627
  64. Al-Aghbari 2019, p. X
  65. Proaño Orellana 2016, p. X
  66. Fowers 2012, p. X
  67. Wang 2019, p. X

Bibliographie

Document utilisé pour la rédaction de l’article : document utilisé comme source pour la rédaction de cet article.


  • (en) Fei Chen, Yi Shan, Yu Zhang, Yu Wang, Hubertus Franke, Xiaotao Chang et Kun Wang, « Enabling FPGAs in the cloud », Proceedings of the 11th ACM Conference on Computing Frontiers,‎ , p. 1-10 (ISBN 9781450372558, DOI 10.1145/2597917.2597929)
  • (en) Yue Zha et Jing Li, « Virtualizing FPGAs in the Cloud », ASPLOS '20: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems,‎ , p. 845-858 (ISBN 9781450371025, DOI 10.1145/3373376.3378491)
  • (en) Watanabe Ryota, Saika Ura, Qian Zhao et Takaichi Yoshida, « Implementation of FPGA Building Platform as a Cloud Service », HEART 2019: Proceedings of the 10th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies,‎ , p. 1-6 (ISBN 9781450372558, DOI 10.1145/3337801.3337814)
  • (en) Anca Iordache, Pierre Guillaume, Peter Sanders, Jose Gabriel de F. Coutinho et Mark Stillwell, « High performance in the cloud with FPGA groups », Proceedings of the 9th International Conference on Utility and Cloud Computing,‎ , p. 1-10 (ISBN 9781450346160, DOI 10.1145/2996890.2996895)
  • (en) Christophe Bobda et Ken Eguro, « Introduction to the Special Section on Security in FPGA-accelerated Cloud and Datacenters », ACM Transactions on Reconfigurable Technology and Systems,‎ , p. 1-10 (ISSN 1936-7406, DOI 10.1145/3352060)
  • (en) Naif Tarafdar, Thomas Lin, Eric Fukuda, Hadi Bannazadeh, Alberto Leon-Garcia et Paul Chow, « Enabling Flexible Network FPGA Clusters in a Heterogeneous Cloud Data Center », Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,‎ , p. 237–246 (ISBN 9781450343541, DOI 10.1145/3020078.3021742)
  • (en) Ke Zhang, Yisong Chang, Mingyu Chen, Yungang Bao et Zhiwei Xu, « Computer Organization and Design Course with FPGA Cloud », Proceedings of the 50th ACM Technical Symposium on Computer Science Education,‎ , p. 927–933 (ISBN 9781450358903, DOI 10.1145/3287324.3287475)
  • (en) Jiansong Zhang, Yongqiang Xiong, Ningyi Xu, Ran Shu, Bojie Li, Peng Cheng et Guo Chen, « The Feniks FPGA Operating System for Cloud Computing », Proceedings of the 8th Asia-Pacific Workshop on Systems,‎ , p. 1–7 (ISBN 9781450351973, DOI 10.1145/3124680.3124743)
  • (en) Andrew M. Keller, « Impact of Soft Errors on Large-Scale FPGA Cloud Computing », Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,‎ , p. 272–281 (ISBN 9781450361378, DOI 10.1145/3289602.3293911)
  • (en) Yao Chen, Jiong He, Xiaofan Zhang, Cong Hao et Deming CHen, « Cloud-DNN: An Open Framework for Mapping DNN Models to Cloud FPGAs », Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,‎ , p. 73–82 (ISBN 9781450361378, DOI 10.1145/3289602.3293915)Document utilisé pour la rédaction de l’article
  • (en) Hussain Siam U, Bita Darvish Rouhani, Mohammad Ghasemzadeh et Farinaz Koushanfar, « MAXelerator: FPGA accelerator for privacy preserving multiply-accumulate (MAC) on cloud servers », DAC '18: Proceedings of the 55th Annual Design Automation Conference,‎ , p. 1-6 (DOI 10.1145/3195970.3196074)
  • (en) Rym Skhiri, Virginie Fresse, Jean Paul Jamont, Benoit Suffran Suffran et Jihene Malek, « From FPGA to Support Cloud to Cloud of FPGA: State of the Art », International Journal of Reconfigurable ComputingVolume 2019, Article ID 8085461, 17 pages,‎ , p. 1-17 (DOI 10.1155/2019/8085461)
  • (en) Jiasheng Wang, Yu Zhou, Yuyang Sun, Keyang Li et dand JunLiu, « Cloud Server Oriented FPGA Accelerator for LongShort-Term Memory Recurrent Neural Networks », IOP Conf. Series: Journal of Physics: Conf. Series1284 (2019) 012044,‎ , p. 1-11 (DOI 10.1088/1742-6596/1284/1/012044)Document utilisé pour la rédaction de l’article
  • (en) Julio Proaño Orellana, Blanca Caminero, Carmen Carrión, Luis Tomas, Selome Kostentinos Tesfatsion et Johan Tordsson, « FPGA-Aware Scheduling Strategies at Hypervisor Level inCloud Environments », Scientific Programming Volume 2016, Article ID 4670271, 12 pages,‎ , p. 1-13 (DOI 10.1155/2016/4670271)
  • (en) Shanquan Tian, Wenjie Xiong, Ilias Giechaskiel, Kasper Rasmussen et Jakub Szefer, « Fingerprinting Cloud FPGA Infrastructures », FPGA 2020 - 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,‎ , p. 1-8 (DOI 10.1145/3373087.3375322)
  • (en) Burkhard Ringlein, Francois Abel, Alexander Ditter, Beat Weiss, Christoph Hagleitner et Dietmar Fey, « System architecture for network-attached FPGAs inthe Cloud using partial reconfiguration », Accepted for FPL 2019,‎ , p. 1-8 (DOI 10.1109/FPL.2019.00054)
  • (en) J. Mbongue, F. Hategekimana, D. Tchuinkou Kwadjo, D. Andrews et C. Bobda, « FPGAVirt: A Novel Virtualization Framework for FPGAs in the Cloud », 2018 IEEE 11th International Conference on Cloud Computing (CLOUD),‎ , p. 862-865 (ISSN 2159-6190, DOI 10.1109/CLOUD.2018.00122)
  • (en) S. A. Fahmy, K. Vipin et S. Shreejith, « Virtualized FPGA Accelerators for Efficient Cloud Computing », 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom),‎ , p. 430-435 (DOI 10.1109/CloudCom.2015.60)
  • (en) V. Kulanov, A. Perepelitsyn et I. Zarizenko, « Method of development and deployment of reconfigurable FPGA-based projects in cloud infrastructure », 2018 IEEE 9th International Conference on Dependable Systems, Services and Technologies (DESSERT),‎ , p. 103-106 (DOI 10.1109/DESSERT.2018.8409108)
  • (en) A. Cilardo et D. Argenziano, « Securing the cloud with reconfigurable computing: An FPGA accelerator for homomorphic encryption », 2016 Design, Automation Test in Europe Conference Exhibition (DATE),‎ , p. 1622-1627 (ISBN 978-3-9815-3707-9, ISSN 1558-1101)
  • (en) S. Byma, J. G. Steffan, H. Bannazadeh, A. L. Garcia et P. Chow, « FPGAs in the Cloud: Booting Virtualized Hardware Accelerators with OpenStack », 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines,‎ , p. 109-116 (DOI 10.1109/FCCM.2014.42)Document utilisé pour la rédaction de l’article
  • (en) A. A. Al-Aghbari et M. E. S. Elrabaa, « Cloud-Based FPGA Custom Computing Machines for Streaming Applications », IEEE Access, vol. 7,‎ , p. 38009-38019 (ISSN 2169-3536, DOI 10.1109/ACCESS.2019.2906910)
  • (en) T. La, K. Matas, K. Pham et D. Koch, « Securing FPGA Accelerators at the Electrical Level for Multi-tenant Platforms », 2020 30th International Conference on Field-Programmable Logic and Applications (FPL),‎ , p. 361-362 (ISSN 1946-1488, DOI 10.1109/FPL50879.2020.00069)
  • (en) D. R. E. Gnad, F. Oboril et M. B. Tahoori, « Voltage drop-based fault attacks on FPGAs using valid bitstreams », 2017 27th International Conference on Field Programmable Logic and Applications (FPL),‎ , p. 1-7 (ISSN 1946-1488, DOI 10.23919/FPL.2017.8056840)
  • (en) J. Fowers, G. Brown, P. Cooke et G. Stitt, « A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications », Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays,‎ , p. 47-56 (ISBN 9781450311557, DOI 10.1145/2145694.2145704)
  • (en) Sai Rahul Chalamalasetti, Kevin Lim, Mitch Wright, Alvin AuYoung, Parthasarathy Ranganathan et Martin Margala, « An FPGA memcached appliance », Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays,‎ , p. 245-254 (ISBN 9781450318877, DOI 10.1145/2435264.2435306)Document utilisé pour la rédaction de l’article
  • (en) Michaela Blott, Liu Ling, Kimon Karras et Kees Vissers, « Scaling out to a Single-Node 80Gbps Memcached Server with 40terabytes of Memory », Proceedings of the 7th USENIX Conference on Hot Topics in Storage and File Systems,‎ , p. 1-8 (DOI 10.5555/2827701.2827709)Document utilisé pour la rédaction de l’article
  • (en) Kevin Lim, David Meisner, Ali G. Saidi, Parthasarathy Ranganathan et Thomas F. Wenisch, « Thin Servers with Smart Pipes: Designing SoC Accelerators for Memcached », Proceedings of the 40th Annual International Symposium on Computer Architecture,‎ , p. 36-47 (ISSN 0163-5964, DOI 10.1145/2485922.2485926)
  • (en) Jongsok Choi, Ruolong Lian, Zhi Li, Andrew Canis et Jason Anderson, « Accelerating Memcached on AWS Cloud FPGAs », Proceedings of the 9th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies,‎ , p. 1-8 (ISBN 9781450365420, DOI 10.1145/3241793.3241795)Document utilisé pour la rédaction de l’article
  • (en) Tarek El-Ghazawi, Kris Gaj, Volodymyr Kindratenko et Duncan Buell, « The Promise of High-Performance Reconfigurable Computing », IEEE Computer, vol. 41, no. 2, pp. 69–76, 2008,‎ , p. 1-8 (DOI 10.1109/MC.2008.65)
  • (en) Wei Wang, Miodrag Bolic et Jonathan Parri, « pvFPGA: Accessing an FPGA-based hardware accelerator in a paravirtualized environment », 2013 International Conference on Hardware/Software Codesign and System Synthesis,‎ , p. 1-9 (ISBN 978-1-4799-1417-3, DOI 10.1109/CODES-ISSS.2013.6658997)
  • (en) J.E. Smith et Ravi Nair, « The architecture of virtual machines », Computer ( Volume: 38, Issue: 5, May 2005),‎ , p. 32-38 (DOI 10.1109/MC.2005.173)
  • (en) Oliver Knodel, Paul R. Genssier et Rainer G. Spallek, « Migration of long-running Tasks between Reconfigurable Resources using Virtualization », ACM SIGARCH Computer Architecture News, vol. 44, no Issue 4,‎ , p. 56-61 (ISSN 0163-5964, DOI 10.1145/3039902)
  • (en) Oliver Knodel et Rainer G. Spallek, « Computing framework fordynamic integration of reconfigurable resources in a cloud », 2015 Euromicro Conference on Digital System Design,‎ , p. 337 - 344 (DOI 10.1109/DSD.2015.37)
  • (en) Xiaolan Zhang, Suzanne McIntosh, Pankaj Rohatgi et John Linwood Griffin, « XenSocket: A High-Throughput Interdomain Transport for Virtual Machines », ACM/IFIP/USENIX International Conference on Distributed Systems Platforms and Open Distributed Processing Middleware 2007,‎ , p. 184 - 203 (ISBN 978-3-540-76777-0, DOI 10.1007/978-3-540-76778-7_10)
  • (en) Anuj Vaishnav, Khoa Dang Pham et Dirk Koch, « A Survey on FPGA Virtualization », 28th International Conference on Field Programmable Logic and Applications (FPL) Processing,‎ , p. 131 - 138 (DOI 10.1109/FPL.2018.00031)
  • (en) Andrew Putnam, Adrian M. Caulfield et Eric Chung et al., « A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services », IEEE Micro, vol. 35, no Issue 3,‎ , p. 10 - 22 (ISSN 1937-4143, DOI 10.1109/MM.2015.42)
  • (en) Philippos Papaphilippou, Jiuxi Meng et Wayne Luk, « High-Performance FPGA Network Switch Architecture », Proceedings of the 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,‎ , p. 76–85 (ISBN 9781450370998, DOI 10.1145/3373087.3375299)
  • (en) W. Wang et X. Huang, « FPGA implementation of a large-number multiplier for fully homomorphic encryption », 2013 IEEE International Symposium on Circuits and Systems (ISCAS),‎ , p. 2589-2592 (DOI 10.1109/ISCAS.2013.6572408)
  • (en) Oliver Knodel et Paul R. Genssler, « Virtualizing Reconfigurable Hardware to Provide Scalability in Cloud Architectures », CENICS 2017 : The Tenth International Conference on Advances in Circuits, Electronics and Micro-electronics,‎ , p. 33 - 38 (ISBN 978-1-61208-585-2)Document utilisé pour la rédaction de l’article
  • (en) Cristophe Bobda, Joshua Mead, Taylor J. L. Whitak et Kevin Kamhoua, « Hardware Sandboxing: A Novel Defense Paradigm Against Hardware Trojans in Systems on Chip », International Symposium on Applied Reconfigurable Computing 2017,‎ , p. 47 - 59 (DOI 10.1007/978-3-319-56258-2_5)Document utilisé pour la rédaction de l’article

Liens externes

  • (en) « Accelize » (consulté le )Document utilisé pour la rédaction de l’article