Nanvix : un système d'exploitation distribué pour les processeurs manycore légers

Autor: Penna, Pedro Henrique
Přispěvatelé: Laboratoire d'Informatique de Grenoble (LIG), Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), Université Grenoble Alpes (UGA), Université Grenoble Alpes [2020-....], Pontifícia universidade católica de Minas Gerais (Brésil), Jean-Francois Mehaut, Henrique Cota de Freitas
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Zdroj: Operating Systems [cs.OS]. Université Grenoble Alpes [2020-..]; Pontifícia universidade católica de Minas Gerais (Brésil), 2021. English. ⟨NNT : 2021GRALM027⟩
Popis: 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 des caracté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 Scratchpad. Les 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 et le Sunway SW26010. Alors que cet ensemble unique de caractéristiques architecturales accorde à LW Manycores l'évolutivité des performances et l'efficacité énergétique, ils introduisent également de multiples défis dans les logiciels programmabilité et portabilité. Premièrement, l'intégration du circuit haute densité transforme le silicium noir en ré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 oblige le logiciel pour partitionner son ensemble de données de travail en morceaux et décider lesquels d'entre eux doivent être conservés local et qui doit être déchargé dans la mémoire distante. Quatrièmement, l'interconnexion sur puce invite ingénieurs en logiciel à adopter un modèle de programmation de transmission de messages. Enfin, la puce l'hétérogénéité rend le déploiement des applications complexe. Une approche pour aborder ces défis est au moyen d'un système d'exploitation (OS). Ce type de solution aspire à combler complexités d'une architecture, en exposant de riches abstractions et interfaces de programmation, ainsi que comme la gestion de l'allocation, du partage et du multiplexage des ressources. Malheureusement, les systèmes d'exploitation existants ont du mal pour relever pleinement les défis de la programmabilité et de la portabilité dans LW Manycores, car ils étaient pas conçu pour faire face aux caractéristiques architecturales de ces processeurs. Dans ce contexte, le principal objectif de ce travail se résume à proposer un nouveau système d'exploitation pour LW Manycores qui gère spécifiquement avec ces défis découverts. La principale contribution de ce travail réside dans les avancées de la gestion des ressources dans les processeurs LW Manycore. D'une part, du point de vue scientifique perspective, cette contribution principale peut se dérouler en trois contributions spécifiques. Tout d'abord, un Couche d'abstraction matérielle (HAL) complète qui rend le développement et le déploiement d'un système d'exploitation complet pour LW Manycores plus facile, tout en permettant la portabilité d'un système d'exploitation sur plusieurs de ces processeurs. Deuxièmement, une approche riche de gestion de la mémoire basée sur le système de radiomessagerie distribué (DPS). Il s'agit d'une nouvelle solution au niveau du système que nous avons conçue pour gérer la mémoire d'un LW Manycore. Troisièmement, une installation de communication légère qui gè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éton mise en œuvre d'un système d'exploitation pour le processeur LW Manycore doté des éléments scientifiques susmentionnés avancé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 niveau interfaces.
Databáze: OpenAIRE