La mode actuelle est à la virtualisation et à la conteneurisation plus ou moins à outrance. Ces techniques offrent de nombreux avantages, mais aussi quelques limitations, principalement lorsqu'il s'agit pour nos VM d'avoir accès le plus rapidement possible au matériel. Ce petit article va montrer comment contourner une de ces faiblesses.
Contexte
Dans le cadre d'un système de radio logicielle pour la 5G, nous avons besoin d'accéder, depuis une machine virtuelle, à un périphérique (une carte FPGA) connecté en USB3. Tous les systèmes de virtualisation actuels permettent de « capturer » un device USB et de le faire voir par la VM comme s'il lui était directement attaché. Cependant, même en sélectionnant une émulation de chip USB3, le débit ne dépassait jamais celui d'un bon USB2. À quoi était-ce dû ? Peut-être un problème d'émulation, un problème de driver, je ne sais pas et je n'ai pas eu le loisir de pousser les investigations plus loin.
La solution au problème semblait s'imposer d'elle-même : attacher directement, non pas le périphérique, mais le contrôleur USB3 à la VM via le mécanisme de PCI passthrough. Ce dernier est très utilisé par les gamers (et autres gens bien) pour avoir une vraie accélération 3D dans une VM.
1. Configuration requise
Ce mécanisme est assez...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première