Nanvix : A Distributed Operating System for Lightweight Manycore Processors
Nanvix : un système d'exploitation distribué pour les processeurs manycore légers
Résumé
Lightweight Manycore (LW Manycore) processors were introduced to deliver performancescalability with low-power consumption. To address the former aspect, they rely on specificarchitectural characteristics, such as a distributed memory architecture and a rich Network-on-Chip (NoC). To achieve low-power consumption, they are built with simple low-power MultipleInstruction Multiple Data (MIMD) cores, they have a memory system based on ScratchpadMemories (SPMs) and they exploit heterogeneity by featuring cores with different capabilities.Some industry-successful examples of these processors are the Kalray MPPA-256, the PULP andthe Sunway SW26010. While this unique set of architectural features grant to LW Manycoresperformance scalability and energy efficiency, they also introduce multiple challenges in softwareprogrammability and portability. First, the high density circuit integration turns dark silicon intoreality. Second, the distributed memory architecture requires data to be explicitly fetched/of-floaded from remote memories to local ones. Third, the small amount of on-chip memory forcesthe software to partition its working data set into chunks and decide which of them should be keptlocal and which should be offloaded to remote memory. Fourth, the on-chip interconnect invitessoftware engineers to embrace a message-passing programming model. Finally, the on-chipheterogeneity makes the deployment of applications complex. One approach for addressing thesechallenges is by means of an Operating System (OS). This type of solution craves to bridgeintricacies of an architecture, by exposing rich abstractions and programming interfaces, as wellas handling resource allocation, sharing and multiplexing. Unfortunately, existing OSes struggleto fully address programmability and portability challenges in LW Manycores, because they werenot designed to cope with architectural features of these processors. In this context, the maingoal of this work boils down to propose a novel OS for LW Manycores that specifically copeswith these uncovered challenges. The main contribution of this work lies with the advancementsof resource management in LW Manycore processors. On the one hand, from the scientificperspective this main contribution may be unfolded in three specific contributions. First, acomprehensive Hardware Abstraction Layer (HAL) that makes the development and deploymentof a fully-featured OS for LW Manycores easier, as well as it enables the portability of an OSacross multiple of these processors. Second, a rich memory management approach that is basedon Distributed Paging System (DPS). This is a novel system-level solution that we devisedfor managing memory of a LW Manycore. Third, a lightweight communication facility thatmanages the on-chip interconnect and exposes primitives with hardware channel multiplexing.On the other hand, as a technical contribution, this work introduces Nanvix. This is a concreteimplementation of an OS for LW Manycore processor that features the aforementioned scientificadvancements. Nanvix supports multiple architectures (Bostan, x86, OpenRISC, ARMv8 andRISC-V), runs on baremetal processors, exposes rich abstractions and high-level programminginterfaces.
Les processeurs légers Manycore (LW Manycore) ont été introduits pour offrir des performancesévolutivité avec une faible consommation d'énergie. Pour traiter le premier aspect, ils s'appuient sur descaractéristiques architecturales, telles qu'une architecture de mémoire distribuée et un riche réseau surPuce (NoC). Pour obtenir une faible consommation d'énergie, ils sont construits avec de simples multiples à faible consommation d'énergie.Cœurs Instruction Multiple Data (MIMD), ils ont un système de mémoire basé sur ScratchpadLes mémoires (SPM) et ils exploitent l'hétérogénéité en présentant des cœurs avec des capacités différentes.Quelques exemples de succès dans l'industrie de ces processeurs sont le Kalray MPPA-256, le PULP etle Sunway SW26010. Alors que cet ensemble unique de caractéristiques architecturales accorde à LW Manycoresl'évolutivité des performances et l'efficacité énergétique, ils introduisent également de multiples défis dans les logicielsprogrammabilité et portabilité. Premièrement, l'intégration du circuit haute densité transforme le silicium noir enréalité. Deuxièmement, l'architecture de mémoire distribuée nécessite que les données soient explicitement récupérées/de-transféré des mémoires distantes aux mémoires locales. Troisièmement, la faible quantité de mémoire sur puce obligele logiciel pour partitionner son ensemble de données de travail en morceaux et décider lesquels d'entre eux doivent être conservéslocal et qui doit être déchargé dans la mémoire distante. Quatrièmement, l'interconnexion sur puce inviteingénieurs en logiciel à adopter un modèle de programmation de transmission de messages. Enfin, la pucel'hétérogénéité rend le déploiement des applications complexe. Une approche pour aborder cesdéfis est au moyen d'un système d'exploitation (OS). Ce type de solution aspire à comblercomplexités d'une architecture, en exposant de riches abstractions et interfaces de programmation, ainsi quecomme la gestion de l'allocation, du partage et du multiplexage des ressources. Malheureusement, les systèmes d'exploitation existants ont du malpour relever pleinement les défis de la programmabilité et de la portabilité dans LW Manycores, car ils étaientpas conçu pour faire face aux caractéristiques architecturales de ces processeurs. Dans ce contexte, le principalL'objectif de ce travail se résume à proposer un nouveau système d'exploitation pour LW Manycores qui gère spécifiquementavec ces défis découverts. La principale contribution de ce travail réside dans les avancéesde la gestion des ressources dans les processeurs LW Manycore. D'une part, du point de vue scientifiqueperspective, cette contribution principale peut se dérouler en trois contributions spécifiques. Tout d'abord, unCouche d'abstraction matérielle (HAL) complète qui rend le développement et le déploiementd'un système d'exploitation complet pour LW Manycores plus facile, tout en permettant la portabilité d'un système d'exploitationsur plusieurs de ces processeurs. Deuxièmement, une approche riche de gestion de la mémoire basée sursur le système de radiomessagerie distribué (DPS). Il s'agit d'une nouvelle solution au niveau du système que nous avons conçuepour gérer la mémoire d'un LW Manycore. Troisièmement, une installation de communication légère quigère l'interconnexion sur puce et expose les primitives avec le multiplexage des canaux matériels.D'autre part, comme contribution technique, ce travail présente Nanvix. C'est un bétonmise en œuvre d'un système d'exploitation pour le processeur LW Manycore doté des éléments scientifiques susmentionnésavancées. Nanvix prend en charge plusieurs architectures (Bostan, x86, OpenRISC, ARMv8 etRISC-V), fonctionne sur des processeurs baremetal, expose de riches abstractions et une programmation de haut niveauinterfaces.
Origine | Version validée par le jury (STAR) |
---|