Embedded Real-Time Virtualization Technology for Reconfigurable Platforms
Étude des techniques de virtualisation pour des systèmes temps-réel et reconfigurables dynamiquement
Résumé
Nowadays, embedded systems are playing important roles in the daily life of most people, ranging from customer products
such as smartphones and vehicles, to industry domains. With such as an expanded range of purposes, embedded systems
have evolved into different categories. There are systems with high computing power which can support complex software
stack and enormous resources. There are also small-scaled embedded systems with limited resources and are intended for
low-cost, simple devices, such as for Internet-of-Things (IoT). Basically, most of these devices share common characteristics
such as requirements in size, weight and low power consumption.
While the complexity of embedded systems is increasing, it is becoming more and more expensive to improve CPU
performance by conventional approaches, i.e. IC scaling and ASICs. In this context, the concept of heterogeneous CPUFPGA
architecture has become a promising solution for SoC device vendors, because of the fast time-to-market circle, the
high adaptability and the relatively-low cost to improve the computation ability. This emerging convergence point of
conventional CPU and FPGA computing makes it possible to extend traditional CPU visualization technologies into the FPGA
domain to fully exploit the mainstream FPGA computing. To achieve this goal, it is necessary to propose an architecture
which enhances the ability of existing technology while respecting the features of both software and hardware
components.
This thesis describes an original micro-kernel that manages virtualization and that provides an execution environment for
real-time virtual machines. We have simplified the micro-kernel architecture by only keeping critical features required for
virtualization, and massively reduced the kernel design complexity. Based on this micro-kernel, we have introduced a
framework capable of DPR resource management in a virtual machine system. DPR accelerators are mapped as ordinary
devices in each VM. Through dedicated memory management, our framework automatically detects the request for DPR
resources and allocates them dynamically.
According to various experiments and evaluations, we have shown that Ker-ONE causes very low virtualization overheads,
which can generally be ignored in real applications. We have also studied the real-time schedulability in virtual machines. The
results show that RTOS tasks are guaranteed to be scheduled while meeting their intra-VM timing constraints. We have also
demonstrated that the proposed framework is capable of virtual machine DPR allocation with low overhead.
Aujourd'hui, les systèmes embarqués jouent un rôle prépondérant dans la vie quotidienne des utilisateurs. Ces
systèmes sont très hétérogènes et regroupent une énorme diversité produits tels que les smartphones, les dispositifs de
contrôle, les systèmes communicants, etc. Avec cette large gamme d'applications, ces systèmes ont évolué en différentes
catégories. Il existe des systèmes avec une grande puissance de calcul. D'autres systèmes embarqués à faible coût, avec des
ressources limitées, sont destinés à l'implantation de dispositifs simples, qui constituent le coeur de l'Internet de Objects (IdO).
Fondamentalement, la plupart de ces appareils partagent des caractéristiques communes telles que la taille, le poids et la
faible consommation d'énergie.
Tandis que la complexité des systèmes embarqués augmente, il devient de plus en plus coûteux d'améliorer les performances
du processeur par des approches technologiques classiques i.e diminution de la taille des transistors. Dans ce contexte, l'idée
d'une architecture hétérogène CPU-FPGA est devenue une solution prometteuse pour les concepteurs de systèmes sur
puce, en termes de rapidité de mise sur le marché. D'autre part, la forte capacité d'adaptation et le faible coût en font une
solution très recherchée. Cette solution permet d'allier les avantages et la flexibilité d'un processeur aux architectures
matérielles classiques. Elle permet également d'étendre les concepts classiques, telles que la virtualisation, aux circuits
matériels.
Cette thèse décrit un micro-noyau original (Ker-ONE) permettant de gérer la virtualisation des systèmes embarqués
et fournissant un environnement pour les machines virtuelles en temps réel. Nous avons simplifié l'architecture du micro-noyau
en ne gardant que les caractéristiques essentielles requises pour la virtualisation, et massivement réduit la complexité de la
conception du noyau. Sur la base de ce micro-noyau, nous avons mis en place un cadre capable de gérer des ressources
reconfigurables dans un système composé de machine virtuelles. Les accélérateurs matériels reconfigurables sont
mappés en tant que dispositifs classiques dans chaque machine. Grâce à une gestion efficace de la mémoire dédiée,
nous avons permis de détecter automatiquement le besoin de ressources et permettons une allocation dynamique.
Selon diverses expériences et évaluations, nous avons montré que Ker-ONE ne dégrade que très peu les performances en
termes de temps d'exécution. Les surcoûts engendrés peuvent généralement être ignorés dans les applications réelles. Nous
avons également étudié l'ordonnançabilité temps réel dans les machines virtuelles. Les résultats montrent que le respect de
l'échéance des tâches du RTOS est garanti. Nous avons également démontré que le noyau proposé est capable
d'allouer des accélérateurs matériels très rapidement.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...