Azure Native Qumulo Maintenant disponible dans l'UE, au Royaume-Uni et au Canada - En savoir plus

Conduire la recherche avec un stockage haute performance

https://qumulo.wistia.com/medias/edmfzyg9rq

Transcription vidéo

Je m'appelle Nick Rathke. Je suis directeur adjoint des technologies de l'information à Calcul scientifique et imagerie, qui est un institut de recherche à l'Université de l'Utah. Donc, un peu à propos de l'Institut SCI, nous sommes l'un des huit instituts de recherche permanents qui fait partie de l'Université de l'Utah. Nous accueillons plus de 200 étudiants, membres du personnel et professeurs. Nous avons 20 professeurs menant à la permanence tirés principalement de l'informatique scolaire, du département de bio-ingénierie, du département de mathématiques, de génie électrique et informatique et pratiquement tous nos professeurs ont également des nominations dans d'autres départements.Nous sommes donc un groupe très interdisciplinaire. Nous faisons beaucoup de tout, bien. Donc, l'une de nos prétentions à la renommée est notre paquets open source dans le calcul scientifique, et le principal est appelé "SCIRun», Ce que nous appelons un environnement de résolution de problèmes. Nous proposons également des packages appelés «Seg3D, ImageVis3D, ShapeWorks, ViSUS, map3d». Tout cela est open source. Tout est disponible sur le site Web de SCI si vous souhaitez le consulter. Je veux dire, c'est en quelque sorte notre pain et le beurre que nous faisons cette recherche et ce traitement d'image, donc un peu sur notre pipeline en ce qui concerne l'origine de nos données et ce que font les paquets. Donc nous avons modélisation basée sur l'image, qui inclut les acquisitions de données. Donc, nous prenons des images de microscopie électronique, des images IRM, toute sorte d'imagerie médicale pour la plupart. Ensuite, nous avons tous ces paquets comme Seg3D et Cleaver, et ShapeWorks qui traitent de cela. En faisant le tour du cercle, il s’agit en quelque sorte de notre flux de travail. Nous voyons ensuite certaines de nos applications de rendu, telles que ImageVis3D et FluoRender, qui traitent des éléments suivants: GPU et le rendu du volume.

Donc, nous traitons beaucoup de types d'images différents et, bien sûr, pour gérer tous ces types d'images, nous avons beaucoup de données. Ainsi, avec tous ces différents segments, travailler à la fois dans le développement de logiciels et aussi dans l'analyse de données signifie que nous avons une grande quantité de données vraiment non structurées. Donc, une partie de notre problème est que cela va du tout petit «HelloWorld» en tant que programme C ++, jusqu'aux ensembles de données rabbit retina en tant que rendus de volume, qui représentent presque un ensemble de données de quatre téraoctets. C'est une taille de fichier unique. Donc, nous gérons tout, du très petit au très grand. Et ce faisant, nous générons également beaucoup de données temporaires, ce qui est un énorme problème à garder et à suivre. Vous savez, lorsque vous avez affaire à ces grandes tranches d'image, pour faire ce que nous en faisons, il y a beaucoup de données intermédiaires qui en découlent.

C'est donc en quelque sorte notre structure de la façon dont nous structurons le stockage. Dans notre monde et probablement dans de nombreux autres environnements, le stockage est probablement le deuxième après votre réseau. C'est probablement l'une des choses les plus importantes que vous ayez dans votre environnement. Donc, pratiquement, tout chez SCI est lié à notre système de stockage. Nous avons deux grappes Qumulo séparées. Nous en avons un en bas, à savoir nos QC208. Nous en avons quatre et sept des QC24, qui se trouvent au milieu. Et c'est divisé pour une raison très particulière, c'est que les 208 en bas sont en quelque sorte nos frais généraux et notre stockage général, alors que les QC24 sont moins chers et qu'il est plus facile d'écrire dans une subvention et de financer. Donc, il y a une vraie raison pour laquelle nous avons divisé cela de cette façon.

Donc, pour les clients, nous exécutons une grande variété de clients qui accèdent tous à ce stockage. Tout, depuis les ordinateurs de bureau 200-plus, nos serveurs Web et nos services Web, nos serveurs de messagerie, nous avons une grande bibliothèque de sauvegarde sur bande qui sauvegarde toutes les données sur ces deux clusters. Nous avons des systèmes de mémoire partagée à grande échelle qui fonctionnent dans la gamme de cœurs du processeur 160. Nous avons beaucoup de petits systèmes spécialisés que les enseignants apportent pour réaliser des projets spécifiques, puis nous avons deux grappes, les nœuds totaux 96 répartis entre deux grappes différentes, un seul CPU et un seul cluster GPU.

Il y a une petite ligne qui va au stockage bon marché et pas si gai en haut. Nous n'autorisons pas nos utilisateurs à écrire leurs données temporaires directement sur le système Qumulo et c'est parce que ce sont toutes des données temporaires. La dernière chose que nous voulons est de polluer notre gros stockage et notre joli système de stockage avec un tas de fichiers que le lendemain va juste être écrasés ou que quelqu'un va oublier et ensuite rester assis là pendant deux ans et personne ne nettoiera jamais. Donc, nous écrivons notre temporaire sur un système plus petit, puis toutes les données finales finissent réellement sur notre système Qumulo où elles peuvent ensuite être sauvegardées et les gens peuvent faire ce que leur prochaine étape de leur projet est avec cela. Dans l'ordre avec toutes ces différentes connexions, nous parcourons à peu près notre réseau avec juste le DNS d'un pauvre homme et faisons un tour de rôle DNS, et cela a plutôt bien fonctionné pour nous au fil des ans.

Donc, c'est un peu plus une mise en page. C'est un peu difficile à voir sur cet écran, mais nous avons un commutateur de 10 Go entre tous nos clients et dans notre stockage Qumulo. Et nous exportons tout notre stockage vers des boîtiers Windows, Linux et nos Mac. Nous sommes à 90% Linux et Mac. Nous avons quelques boîtiers Windows sur lesquels nous faisons SMB pour Samba. Ce qui est vraiment génial pour nous dans Qumulo, c'est que lorsque nous avons obtenu Qumulo, nous avons pu mettre fin à la vie de tous nos serveurs Active Directory, ce que nous ne sommes pas des gens de Windows, donc c'était une bonne chose pour nous de nous débarrasser de notre Active Directory. Ensuite, la façon dont vous interagissez avec le système de fichiers Qumulo, nous avons également dédié deux de nos boîtes Linux en tant que notes de contrôle qui ont plusieurs interfaces de 10 Go et nous les utilisons pour la migration des données et pour déplacer les données dans les deux sens entre plusieurs systèmes, et ce sont tous via NFS. Nous utilisons également nos boîtiers Linux pour exécuter tous les scripts de gestion via l'API Qumulo, en plus, et cela a très bien fonctionné pour nous et a été assez efficace.

Donc, bien sûr, nous avons tout ce stockage formidable, mais les données ont horreur du vide. Donc, s'il y a de l'espace libre, il va se remplir. Surtout si vous travaillez dans l'enseignement supérieur et travaillez avec des étudiants diplômés, ils le rempliront jusqu'à ce qu'il déborde, non? Donc, quiconque travaille avec des étudiants diplômés le sait. Donc, c'est assez intéressant parce que la ligne raide sur le côté droit correspond au moment où nous avons supprimé nos données temporaires au début de l'année et que nous commençons à déplacer toutes nos données en production, ce qui est à peu près à la dernière heure. an. Donc, vous savez, bien sûr, le stockage est en fait la ressource limitée. Donc, savoir où vont vos données est vraiment important non seulement pour ce que vous faites aujourd'hui, mais pour la planification de la capacité à l'avenir, de sorte que si vous êtes comme nous et que vous êtes financé par le gouvernement fédéral et que vous devez suivre un cycle de subventions, vous savez combien de temps à l'avance vous devez commencer la planification et essayer d'intégrer le stockage dans votre budget de recherche.

Donc, ceci est hors de nos Q08 et nous pouvons voir sur le côté gauche, une petite colonne en surbrillance, un utilisateur a écrit un tas de données, et en dessous, nous pouvons voir exactement sur quel chemin cet utilisateur a écrit cela. Cela représente environ cinq téraoctets par données et il est vraiment facile de savoir qui a écrit cela et où vont ces données en cliquant simplement sur une barre dans un graphique. Le but, bien sûr, est d'aider les chercheurs à continuer à faire la recherche. Vous ne voulez jamais dire à un chercheur: «Je suis désolé, nous n'avons pas d'espace sur notre système.» La planification des capacités est donc une partie importante de ce qui se passe. Donc, et nous pouvons le voir à différentes résolutions. Cela fait 52 semaines. Nous pouvons également le voir à une résolution de 30 jours, une résolution de 72 par rapport à ce que le système Qumulo fournit par défaut avec les API, avec les API de Qumulo. Nous pouvons également vider toutes ces données dans un système séparé pour une analyse supplémentaire ultérieurement.

D'accord, donc, dans le cadre de la planification des capacités, la prochaine partie de la poursuite de vos recherches est le confinement des capacités. Pour nous, il est très important de savoir où se trouvent les données et quelle est leur utilisation en temps réel. Donc, cela montre un projet d'environ 30 téraoctets appelé «Neuro». L'une des raisons pour lesquelles ce projet ... c'est un projet qui implique une neurostimulation profonde pour des conditions d'épilepsie et de crise similaires. Donc, ils font beaucoup de neurostimulations. Ils ont à peu près le pire des cas d'E / S de données que vous pouvez imaginer faire ce projet. Donc, il fonctionne sur 10 serveurs Xeon5 avec 256 threads est leur sortie. Chacun de ces threads, donc si vous avez environ 2,600 threads, écrit 1 fichier qui a une valeur N16, puis ils exécutent tout leur long. Et leur performance était atroce là-dessus parce qu'ils écrivaient un fichier avec un numéro.

Et maintenant, grâce à ce système, en fait, et à d'autres ajustements de performances que nous avons effectués, ils ont maintenant écrit des scripts Python autour de cela pour en quelque sorte aider à atténuer certains de leurs problèmes d'E / S. Mais oui, c'est probablement un petit fichier avec un seul numéro, 2,500 à la fois, c'est assez brutal. Donc, bien sûr, une partie de cette limitation de capacité est que nous avons ces super petits scripts qui passent de temps en temps et qui disent: "Hé, vous atteignez votre quota." Donc, nous avons écrit tous ces scripts avec l'API Qumulo. Nous avons attribué des quotas de personnes et maintenant, non seulement du côté informatique, nous savons ce qui se passe, mais nous pouvons envoyer ces scripts de temps en temps pour informer nos utilisateurs et dire: «Hé, vous êtes en quelque sorte d'un état de violation de quota. " Et nous avons une base de données sur la bonne voie, car les professeurs veulent savoir comment leurs utilisateurs utilisent leurs données et il est facile pour nous de rendre compte de cela et de générer et d'écrire des rapports spécifiques au projet et au groupe dans notre environnement.

Donc, bien sûr, la performance, nous parlons ici d'un système haute performance. Donc, les performances sont, vous savez, assez importantes après tout, mais si le système ne fonctionne pas bien, peu importe la quantité de stockage dont vous disposez, n'est-ce pas, si personne ne peut l'utiliser. Si vous ne pouvez pas utiliser votre stockage haute performance, c'est zéro. Donc, comprendre et surveiller ces métriques est une partie assez importante de ce que nous faisons. Celui du haut là, vous pouvez le voir, écrit environ 187 Mo par seconde. Il ne fait pas autant de lectures. C'est assez intéressant parce que j'ai pris le premier à 9h00 du matin. Donc, c'est plutôt agréable de voir que certains étudiants diplômés ne dorment pas avant midi, mais en fin de compte, que signifient ces chiffres, n'est-ce pas? Que signifie 120 mégaoctets ou 187 méga-octets pour un chercheur du corps professoral, n'est-ce pas? Ce que cela signifie, c'est finalement pour eux qu'il est temps de comprendre. Combien de temps me faut-il pour récupérer mes résultats, n'est-ce pas?

Et pour de bonnes performances, vous savez, ce sont de grands chiffres, mais cela doit se traduire par quelque chose de plus significatif qu'un simple chiffre pour les gens. Si vos performances sont médiocres, vous avez des clients en colère et des professeurs en colère, et généralement, les facultés en colère ne restent pas en colère dans leur propre bureau. Ils viennent à mon bureau et sont en colère contre mon bureau, ce qui n'est généralement pas une bonne chose. Une des autres choses intéressantes, et je viens juste d'ajouter celle-ci ce matin, est cette pointe dans le coin inférieur ici. J'ai vu ce pic ce matin quand je regardais notre système et j'ai dit: «Eh bien, quel est ce pic?»

Et puis le système Qumulo est en fait très facile à comprendre. C'est ce pic là, ce matin, était en fait le même utilisateur qui a fait le gros pic dans le précédent en… Je vais vous montrer. C'est en fait cette ligne blanche juste là. C'est le même utilisateur qui a écrit ces données et cela m'a pris environ 30 secondes pour comprendre ce matin que c'est le même utilisateur, et ce que l'utilisateur fait, c'est faire un 2018 ... Je vais lire ceci tout de suite, donc je faites-le bien. Il travaille sur le «concours EEE Cyviz [SP] 2018, dédié à la visualisation et à l'analyse des impacts d'astéroïdes en eau profonde». Donc, vous savez, étant donné que ce n'est pas avant un an, l'étudiant travaille déjà bien avant son horaire, ce qui est également assez inhabituel pour un étudiant.

D'accord, donc plus sur les performances, le système Qumulo nous donne un très bon moyen d'analyser les performances du client. Vous pouvez voir que l'un des meilleurs verts là-haut fait beaucoup de lectures. Nous avons des systèmes qui font des écritures. La bonne chose est que nous pouvons explorer et voir très rapidement exactement quels répertoires et où vont toutes ces données. Cela nous aide vraiment à partir de… lorsque vous avez affaire à 200 postes de travail et à de nombreux autres systèmes, il est assez critique de savoir où un système écrit. Cela a en fait conduit à des conversations téléphoniques intéressantes avec le support Qumulo car nous n'étions pas habitués à voir de très grands nombres. Sur notre ancien système, nous ne pouvions pas atteindre les performances que nous sommes dans Qumulo.

Et c'est plutôt drôle parce que j'ai appelé le support de Qumulo dans un état de panique en disant: «Je vois un client et il fait, vous savez, 30 à 40 méga par seconde. Que fais-je? Cela va tuer mon cluster. " Ils disent: «Oh, c'est bien. Ne vous en faites pas. Donc, après quelques, vous savez, l'automne commence lorsque nous avons commencé à voir des chiffres de performance auxquels nous étions simplement habitués, maintenant nous y sommes très habitués et nous n'avons pas les défis de support que nous avons rencontrés en les appelant. inutilement.

Alors, bien sûr, faisant également partie de la performance, votre performance globale est Uptime. Au cours de la dernière année, nous avons eu quatre neuf et demi sur le système. Nous avons eu environ 28 minutes de temps d'arrêt au cours de la dernière année et c'était juste pour faire des correctifs et des mises à niveau mineures. Donc, du point de vue des performances Uptime, vous savez, c'est quelque chose qui, pour nous, a été incroyablement stable. Donc, une chose à propos de Uptime, qui n'est pas une histoire si drôle, c'est par une faille mineure dans notre centre de données, nous avons 120 minutes d'exécution, mais si nous perdons de l'énergie, nous n'avons pas de refroidissement, notre refroidissement s'arrête, d'où il va. 68 degrés à 100 degrés en 20 minutes environ.

Maintenant, lorsque nous étions en test avec Qumulo il y a un an et que nous étions juste en train de construire notre environnement de production, cela s'est produit deux fois en une journée à cause de deux pannes de courant différentes dans la vallée de Salt Lake qui étaient totalement indépendantes. Sur notre système Qumulo, ce qui se passe normalement avec nos gros clusters, c'est que nous avons des scripts automatisés qui arrêtent tout. Avec le cluster Qumulo, nous ne l'avions pas encore. Donc, j'étais littéralement entré dans le centre de données et j'avais retiré tous les cordons d'alimentation. Maintenant, c'est absolument quelque chose que je ne vous recommande jamais, jamais de faire, mais je l'ai fait deux fois en une journée sur le système Qumulo. De tous les systèmes de stockage et de toutes les baies de disques que nous avons, Qumulo est le seul à être revenu sans aucun défaut, aucune corruption de données, aucune perte de disque. C'était le seul système à gérer cela. Sur notre système de fichiers principal, qui provient d'un autre fournisseur, nous avons perdu 6 disques sur 15 nœuds. Notre système bon marché et joyeux était une perte totale. Il a perdu chaque lecteur.

Donc, je pense que c'était un test intéressant, pas quelque chose que je vous recommanderais de faire, mais nous avons pu le faire. Alors, bien sûr, parce qu'aujourd'hui nous avons cette planification des capacités et que nous pouvons maintenant voir toutes ces données, nous savons maintenant où nous devons aller et comment nous devons planifier cela. C'est en quelque sorte notre plan de migration pour les cinq prochaines années. La première année, nous allons ajouter un autre QC24, qui sera l'année prochaine. L'année suivante, nous en ajouterons deux autres. Puis la troisième année, nous en ajouterons une. À ce stade, nous allons mettre à niveau notre réseau de 10 Go à 40 Go, puis nous allons ajouter un autre QC208. C'est donc un peu notre plan de migration et, bien sûr, comme il s'agit d'une solution évolutive, nous pouvons littéralement les ajouter sans aucun temps d'arrêt. Nous les connectons au réseau, lui attribuons une adresse IP, et il est opérationnel, ce qui est formidable pour nous.

Remonter en haut