<div class='slidealt'>Expérimentez des extensions de <a title='virtualisation pour plateformes hétérogènes à base de processeurs ARM' href='/fr/produits/'>virtualisation KVM</a></div> <div class='slidealt'>Faites appelle à des <a title='services de full virtualisation pour kvm sur coeur ARM' href='/fr/services/'>services de virtualisation sur mesure</a></div> <div class='slidealt'>Virtualisation KVM des E/S's pour coeurs ARMv7, ARMv8 <a title='extensions de virtualisation de plateforme VFIO des E/S par kvm sur arm en logiciel libre' href='/fr/solutions/guides/vfio-sur-arm/'>par extensions VFIO/IOMMU</a></div> <div class='slidealt'>Projets de recherche de virtualisation <a title='kvm en logiciel libre pour ARM multicoeur' href='/fr/innovation/'>pour les systèmes embarqués et le cloud</a></div> <div class='slidealt'>Solutions de virtualisation pour systèmes <a title='solutions en logiciels libres de virtualisation pour ARMv7-ARMv8' href='/fr/solutions/'>hétérogènes multicoeur ARM</a></div>

Virtual Open Systems Publications Scientifiques

vFPGAmanager: Un framework matériel et logiciel permettant l'exploitation optimale des ressources FPGA pour la virtualisation des fonctions réseau

vFPGAmanager: Un framework matériel et logiciel permettant l'exploitation optimale des ressources FPGA pour la virtualisation des fonctions réseau

Évènement

Conférence européenne sur les réseaux et communications (EuCNC 2019), Valence, Espagne, 18-21 juin.

European Conference on Networks and Communications - EuCNC 2019

Mots-clés

accélération, virtualisation, vFPGAmanager, cloud, virtualisation des fonctions réseau, fonctions réseau virtualisée.

Auteurs

Spyros Chiotakis, Sébastien Pinneterre, Michele Paolino.

Remerciement

Ces travaux ont été en partie financés par la commission européenne dans le cadre du programme Horizon 2020 de l'Union européenne - convention de subvention numéro 761557 (projet Next Generation Platform as a Service - NGPaaS). Le présent article Scientifique reflète uniquement l'opinion des auteurs. La commission n'est pas responsable du contenu du présent document ni de l'usage qui en est fait.

Résumé

L'émergence de la virtualisation des fonctions réseau (NFV) a transformé le matériel dédié (routeurs, pare-feu, accélérateurs réseau étendu) en machines virtuelles (VM). Cependant, l'exécution de ces fonctions réseau virtualisées (VNF) sur le matériel généralement utilisé apporte des performances plus lentes et une consommation d'énergie plus élevée. Les FPGA (Field Programmable Gate Arrays) sont une solution prometteuse pour améliorer les performances et la consommation d'énergie grâce à leur capacités de reconfiguration et d'accélération matériel. Ces capacités sont en général mises à la disposition des systèmes informatiques par l'intermédiaire du bus PCIe et de la technologie SR-IOV qui permet à un seul carte PCIe d'offrir plusieurs interfaces virtuelles (Functions Virtuelles ou VF) aux applications (ou VMs). Ceci apporte une allocation statique de portions du FPGA à chaque machine virtuelle, obtenant ainsi la meilleure performance d'accélération donnée par une communication directe de l'application des systèmes invités avec le FPGA.

Malgré cela, la technologie SR-IOV a un fort impact sur l'utilisation des ressources FPGA. En fait, le nombre de VF disponibles (c'est-à-dire les interfaces pour la connexion aux VM) est limité en nombre et en flexibilité. C'est un problème, en particulier dans les environnements conteneurisés ou cloud natif où plusieurs milliers d'invités doivent être gérés simultanément. En outre, l'affectation statique des ressources FPGA n'est pas toujours la meilleure stratégie, en particulier lorsque les VNF qui sont rattachées aux VF sous-utilisent la ressource FPGA. Dans ce cas, une VNF qui utilise rarement le FPGA empêche une nouvelle VNF d'accéder aux accélérateurs. Cet article scientifique a pour but de répondre à ces limitations en assignant un FPGA's VF à plusieurs VNF. Pour ce faire, nous avons étendu le framework d'accélération SR-IOV, FPGA Virtualization Manager (vFPGAmanager), avec la fonctionnalité de partage de VF. Les performances de débit CPU-FPGA de deux conteneurs utilisant des accélérateurs matériels différents via la même VF ont été mesurées. Les résultats montrent une pénalité de 30% lorsque deux VNFs demandent l'accélération en même temps (pire scénario). Dans le meilleur des cas (c'est-à-dire lorsque les VNF ne demandent pas simultanément d'accélération FPGA), les performances sont proches des performances natives.

Accès complet à cette article scientifique

Identifiant ou inscription pour visualiser l'information complète