Nous avons récemment lancé le nouvel exercice chez Qumulo. Lors du lancement de la société, ce graphique a été présenté. Il indique la latence moyenne de lecture des clients Qumulo dans le monde entier au cours de la dernière année.

Comme vous pouvez le constater, les latences de lecture des protocoles NFS et SMB ont considérablement diminué. Lors de la mise à niveau de leur logiciel Qumulo par les clients au cours de 2018, les clients ont vu leurs performances de lecture s'accélérer.

La vitesse de la mémoire pour le coût du disque dur

Alors que le système de stockage de fichiers sur le cloud hybride économique de Qumulo stocke la majorité des données sur des disques durs relativement lents, vous pouvez voir ci-dessous que la majorité des données est fournie aux clients à la vitesse du SSD et de la mémoire. La majorité des opérations de lecture pour les clients de Qumulo ont une latence inférieure à une milliseconde.

Comment nos clients obtiennent-ils une faible latence de lecture NFS et une faible latence de lecture SMB? Une grande partie de ces performances rapides est le résultat de notre système innovant de lecture anticipée. Mais avant d’intégrer notre logiciel, examinons le matériel pour comprendre ce que nous allons faire.

Caractéristiques matérielles du support de stockage

Un cluster Qumulo typique - par exemple, les nœuds 4 de QC208 - aurait des disques durs 104, des disques SSD (Solid State Drive) 56 et des gigaoctets de mémoire (RAM) 600. Nos clients ont beaucoup de données et ils ont besoin de ces données protégées en toute sécurité sur disque. Ils veulent également avoir un accès rapide à ces données.

Vous trouverez ci-dessous un diagramme indiquant le temps nécessaire pour lire les données des différents supports de stockage présents dans le cluster Qumulo typique.

Le moyen le plus rapide de lire les données du stockage Qumulo est de lire les données de la RAM. Cependant, nous ne pouvons conserver qu'une infime fraction des données de l'ensemble du cluster en mémoire à tout moment. Comment pouvons-nous être intelligents sur ce que nous mettons en RAM, et quand nous le mettons là? Comment pouvons-nous anticiper ce qu'un utilisateur va lire et le lire avant même de le demander?

Un motif de lecture simple sans prefetch

Pour répondre aux questions ci-dessus, examinons un modèle de lecture simple provenant d'un seul client pour un seul fichier sans optimisation.

Chaque lecture est relativement lente. Cela illustre un scénario où chaque lecture provient d'un disque dur et prend plusieurs millisecondes. Vous pouvez lire un fichier 50MB en secondes 1 dans ce scénario, ou 50 Mo / s.

Prétraitement pour un modèle de lecture lente en série

Le diagramme suivant montre ce qui se produirait si vous lisiez avec le même schéma, mais le logiciel de Qumulo calcule ce que vous allez lire et le met dans la RAM. Ainsi, lorsque vous le demandez, vous le récupérez très rapidement. Maintenant, vous lisez le fichier en secondes 0.5 et vous obtenez 100MB / s par seconde. C'est décent.

Prétraitement de modèles de lecture optimisés par le client

Toutefois, les clients Windows, Mac et Linux ne lisent généralement pas les fichiers en série. Ils ont tendance à lire les fichiers en grands lots parallèles. Ce diagramme suivant montre ce scénario. Trois lectures sont lancées à peu près au même moment. La troisième lecture a été prélue avec succès, bien que cela ait pris du temps. Cependant, les sept lectures suivantes sont maintenant toutes en mémoire et sont lues approximativement dans l'ordre et les lectures prennent toutes moins d'une milliseconde. Vous pouvez maintenant lire ce fichier 50MB en un dixième de seconde. C'est 500 Mo / s. Ça va vite.

Prétraitement et prédiction de fichier

Ce diagramme suivant montre ce qui se passe lorsque Qumulo anticipe le prochain fichier que vous lisez. Dans ce cas, nous pouvons extraire toutes les données du fichier 2 de nos lecteurs de disque 104 dans la RAM et vous pouvez lire ce second fichier en millisecondes 0.03. Cela signifie que vous lisez maintenant le fichier (et tous les fichiers à venir) à une vitesse de 1.6GB / s. C'est rapide!

Les choses ne sont pas toujours parfaites comme dans l'exemple ci-dessus. Parfois, un motif de lecture est complètement aléatoire. Dans ce cas, rien n'est pré-téléchargé.

Notre préfetcher s'éteint et ne gaspille pas de RAM précieuse. Ne vous inquiétez pas, vous pouvez toujours profiter de notre «promotion de la lecture sur le cache SSD», mais ce sujet est pour un autre jour.

Comment obtenir d'excellentes performances de lecture de Qumulo

  • Lors de la lecture à l'intérieur d'un fichier, lisez-le dans l'ordre, en commençant au début.
  • Dans un répertoire:
    • Lire les fichiers dans leur ordre numérique (fichier1.txt, fichier2.txt, etc.)
    • Ou, lisez les fichiers dans l’ordre dans lequel ils sont renvoyés via «ls -U»
  • Lire en gros morceaux, si possible
  • Lorsque vous travaillez avec de petits fichiers (en particulier des fichiers de moins de quelques mégaoctets), lisez l'intégralité du fichier <

Partager avec votre réseau