Reiser5 annonce la prise en charge des Burst Buffers (Data Tiering)

Edouard Chichkine annoncé de nouvelles opportunités développées dans le cadre du projet Reiser5. Reiser5 elle représente une version considérablement repensée du système de fichiers ReiserFS, dans laquelle la prise en charge des volumes logiques évolutifs parallèles est implémentée au niveau du système de fichiers, plutôt qu'au niveau du périphérique bloc, vous permettant de distribuer efficacement les données sur un volume logique.

Parmi les innovations développées récemment, la fourniture de
la possibilité pour l'utilisateur d'ajouter un petit module performant
périphérique de bloc (par exemple NVRAM) appelé disque proxyÀ
volume logique relativement important composé de composants lents
des campagnes budgétaires. Cela donnera l'impression que tout
le volume est composé des mêmes hautes performances coûteuses
périphériques, comme un « disque proxy ».

La méthode mise en œuvre est basée sur le simple constat qu'en pratique le disque n'est pas écrit en permanence et que la courbe de charge des E/S a la forme de pics. Dans l'intervalle entre ces « pics », il est toujours possible de réinitialiser les données du disque proxy, en réécrivant toutes les données (ou seulement une partie) en arrière-plan sur le stockage principal « lent ». Ainsi, le disque proxy est toujours prêt à recevoir une nouvelle portion de données.

Cette technique (connue sous le nom de Burst Buffers) trouve son origine dans
domaines du calcul haute performance (HPC). Mais il s'est également avéré très demandé pour les applications ordinaires, en particulier pour celles qui imposent des exigences accrues en matière d'intégrité des données (généralement divers types de bases de données). De telles applications effectuent toutes les modifications dans n'importe quel fichier de manière atomique, à savoir :

  • tout d'abord, un nouveau fichier est créé contenant les données modifiées ;
  • ce nouveau fichier est ensuite écrit sur le disque en utilisant fsync(2) ;
  • après cela, le nouveau fichier est renommé en ancien, qui est automatiquement
    Libère les blocs occupés par les anciennes données.

    Toutes ces étapes, à un degré ou à un autre, entraînent d'importantes
    dégradation des performances sur n’importe quel système de fichiers. Situation
    s'améliore si le nouveau fichier est d'abord écrit dans celui alloué
    appareil haute performance, ce qui est exactement ce qui se passe dans
    système de fichiers avec prise en charge des Burst Buffers.

    Dans Reiser5, il est prévu d'envoyer en option non seulement
    les nouveaux blocs logiques du fichier, mais aussi toutes les pages sales en général. De plus,
    non seulement des pages contenant des données, mais aussi des métadonnées qui
    sont écrits aux étapes (2) et (3).

    La prise en charge des disques proxy s'effectue dans le cadre d'un travail régulier avec
    Volumes logiques Reiser5, annoncé au début de l'année. C'est,
    le système agrégé "disque proxy - stockage principal" est normal
    volume logique à la seule différence que le disque proxy est prioritaire
    entre autres composants de volume dans la politique d'allocation d'adresses de disque.

    L'ajout d'un disque proxy à un volume logique n'est accompagné d'aucun
    le rééquilibrage des données, et sa suppression se produit exactement de la même manière que
    supprimer un disque ordinaire. Toutes les opérations sur les disques proxy sont atomiques.
    La gestion des erreurs et le déploiement du système (y compris après une panne du système) se déroulent exactement de la même manière que si le disque proxy était un composant standard.
    volume logique.

    Après avoir ajouté un disque proxy, la capacité totale du volume logique
    augmente de la capacité de ce disque. Surveillance de l'espace libre
    le disque proxy est effectué de la même manière que pour les autres composants de volume, c'est-à-dire à l'aide de l'utilitaire volume.reiser4(8).

    Le disque proxy doit être nettoyé périodiquement, c'est-à-dire réinitialiser les données de
    vers le stockage principal. Après avoir atteint la stabilité bêta de Reiser5
    le nettoyage est prévu pour être automatique (il sera géré par
    thread spécial du noyau). A ce stade, la responsabilité du nettoyage
    incombe à l'utilisateur. Réinitialisation des données du disque proxy vers le disque principal
    le stockage est produit en appelant simplement l'utilitaire volume.reiser4 avec l'option
    "-b". En argument, vous devez spécifier le point de montage du logique
    tomes Bien entendu, il ne faut pas oublier d’effectuer un nettoyage périodique. Pour
    Vous pouvez écrire un simple script shell pour ce faire.

    S'il n'y a pas d'espace libre sur le disque proxy, toutes les données
    sont automatiquement écrits dans le stockage principal. En même temps, par défaut
    les performances globales du FS sont réduites (en raison d'appels constants
    procédures de validation de toutes les transactions existantes). En option, vous pouvez définir
    mode sans perte de performances. Cependant, dans ce cas, le disque
    L’espace du périphérique proxy sera utilisé moins efficacement.
    Il est pratique d'utiliser une sous-section de métadonnées (brique) comme disque proxy, à condition qu'elle soit créée sur un périphérique bloc suffisamment performant.

    Source: opennet.ru

  • Ajouter un commentaire