5.8 millions d'IOPS : pourquoi autant ?

Bonjour Habr! Les ensembles de données pour le Big Data et l’apprentissage automatique connaissent une croissance exponentielle et nous devons suivre ce rythme. Notre article sur une autre technologie innovante dans le domaine du calcul haute performance (HPC, High Performance Computing), présenté sur le stand Kingston à Calcul intensif-2019. Il s'agit de l'utilisation de systèmes de stockage de données haut de gamme (SDS) dans des serveurs dotés d'unités de traitement graphique (GPU) et de la technologie de bus GPUDirect Storage. Grâce à l'échange direct de données entre le système de stockage et le GPU, contournant le CPU, le chargement des données dans les accélérateurs GPU est accéléré d'un ordre de grandeur, de sorte que les applications Big Data s'exécutent aux performances maximales fournies par les GPU. À leur tour, les développeurs de systèmes HPC s'intéressent aux progrès des systèmes de stockage offrant les vitesses d'E/S les plus élevées, tels que ceux produits par Kingston.

5.8 millions d'IOPS : pourquoi autant ?

Les performances du GPU dépassent le chargement des données

Depuis la création de CUDA, une architecture de calcul parallèle matériel-logiciel basée sur GPU pour le développement d'applications à usage général, en 2007, les capacités matérielles des GPU eux-mêmes ont incroyablement augmenté. Aujourd'hui, les GPU sont de plus en plus utilisés dans les applications HPC telles que le Big Data, l'apprentissage automatique (ML) et l'apprentissage profond (DL).

Notez que malgré la similitude des termes, les deux dernières tâches sont algorithmiquement différentes. ML entraîne l'ordinateur sur la base de données structurées, tandis que DL entraîne l'ordinateur sur la base des commentaires d'un réseau neuronal. Un exemple pour aider à comprendre les différences est assez simple. Supposons que l'ordinateur doive faire la distinction entre les photos de chats et de chiens chargées depuis le système de stockage. Pour le ML, vous devez soumettre un ensemble d'images avec de nombreuses balises, chacune définissant une caractéristique particulière de l'animal. Pour DL, il suffit de télécharger un nombre beaucoup plus important d'images, mais avec un seul tag « ceci est un chat » ou « ceci est un chien ». DL est très similaire à la façon dont on enseigne aux jeunes enfants - on leur montre simplement des images de chiens et de chats dans les livres et dans la vie (le plus souvent, sans même expliquer la différence détaillée), et le cerveau de l'enfant lui-même commence à déterminer le type d'animal après un certain nombre critique d'images à titre de comparaison (selon les estimations, on ne parle que d'une centaine ou deux spectacles tout au long de la petite enfance). Les algorithmes DL ne sont pas encore aussi parfaits : pour qu'un réseau de neurones puisse également réussir à identifier des images, il est nécessaire d'alimenter et de traiter des millions d'images dans le GPU.

Résumé de la préface : sur la base des GPU, vous pouvez créer des applications HPC dans le domaine du Big Data, du ML et du DL, mais il y a un problème : les ensembles de données sont si volumineux que le temps passé à charger les données du système de stockage vers le GPU commence à réduire les performances globales de l’application. En d’autres termes, les GPU rapides restent sous-utilisés en raison de la lenteur des données d’E/S provenant d’autres sous-systèmes. La différence de vitesse d'E/S du GPU et du bus vers le CPU/système de stockage peut être d'un ordre de grandeur.

Comment fonctionne la technologie GPUDirect Storage ?

Le processus d'E/S est contrôlé par le CPU, tout comme le processus de chargement des données du stockage vers les GPU pour un traitement ultérieur. Cela a conduit à une demande de technologie qui fournirait un accès direct entre les GPU et les disques NVMe pour communiquer rapidement entre eux. NVIDIA a été le premier à proposer une telle technologie et l'a appelée GPUDirect Storage. En fait, il s’agit d’une variante de la technologie GPUDirect RDMA (Remote Direct Memory Address) qu’ils ont précédemment développée.

5.8 millions d'IOPS : pourquoi autant ?
Jensen Huang, PDG de NVIDIA, présentera GPUDirect Storage comme une variante de GPUDirect RDMA au SC-19. Source : Nvidia

La différence entre GPUDirect RDMA et GPUDirect Storage réside dans les appareils entre lesquels l'adressage est effectué. La technologie GPUDirect RDMA est réutilisée pour déplacer les données directement entre la carte d'interface réseau (NIC) frontale et la mémoire GPU, et GPUDirect Storage fournit un chemin de données direct entre le stockage local ou distant tel que NVMe ou NVMe over Fabric (NVMe-oF) et Mémoire GPU.

GPUDirect RDMA et GPUDirect Storage évitent les mouvements de données inutiles via un tampon dans la mémoire du processeur et permettent au mécanisme d'accès direct à la mémoire (DMA) de déplacer les données de la carte réseau ou du stockage directement vers ou depuis la mémoire du GPU - le tout sans charge sur le processeur central. Pour GPUDirect Storage, l'emplacement du stockage n'a pas d'importance : il peut s'agir d'un disque NVME à l'intérieur d'une unité GPU, à l'intérieur d'un rack ou connecté sur le réseau en tant que NVMe-oF.

5.8 millions d'IOPS : pourquoi autant ?
Schéma de fonctionnement de GPUDirect Storage. Source : Nvidia

Les systèmes de stockage haut de gamme sur NVMe sont très demandés sur le marché des applications HPC

Conscient qu'avec l'avènement du GPUDirect Storage, l'intérêt des grands clients sera attiré par l'offre de systèmes de stockage avec des vitesses d'E/S correspondant au débit du GPU, Kingston a présenté lors de l'exposition SC-19 une démonstration d'un système composé d'un système de stockage basé sur des disques NVMe et une unité avec GPU, qui analysait des milliers d'images satellites par seconde. Nous avons déjà parlé d'un tel système de stockage basé sur 10 disques DC1000M U.2 NVMe dans un rapport de l'exposition sur les supercalculateurs.

5.8 millions d'IOPS : pourquoi autant ?
Un système de stockage basé sur 10 disques DC1000M U.2 NVMe complète adéquatement un serveur doté d'accélérateurs graphiques. Source : Kingston

Ce système de stockage est conçu comme une unité de rack 1U ou plus et peut être évolutif en fonction du nombre de disques DC1000M U.2 NVMe, chacun d'une capacité de 3.84 à 7.68 To. Le DC1000M est le premier modèle SSD NVMe au format U.2 de la gamme de disques pour centres de données de Kingston. Il dispose d'un indice d'endurance (DWPD, Drive writes per day), lui permettant de réécrire les données à pleine capacité une fois par jour pendant la durée de vie garantie du disque.

Dans le test fio v3.13 sur le système d'exploitation Ubuntu 18.04.3 LTS, noyau Linux 5.0.0-31-generic, l'échantillon de stockage d'exposition a montré une vitesse de lecture (Sustained Read) de 5.8 millions d'IOPS avec un débit durable (Sustained Bandwidth ) de 23.8 Gbit/s.

Ariel Perez, responsable commercial SSD chez Kingston, a déclaré à propos des nouveaux systèmes de stockage : « Nous sommes sur le point d'équiper la prochaine génération de serveurs de solutions SSD U.2 NVMe pour éliminer de nombreux goulots d'étranglement en matière de transfert de données traditionnellement associés au stockage. La combinaison de disques SSD NVMe et de notre DRAM Server Premier haut de gamme fait de Kingston l'un des fournisseurs de solutions de données de bout en bout les plus complètes du secteur. »

5.8 millions d'IOPS : pourquoi autant ?
Le test gfio v3.13 a montré un débit de 23.8 Gbit/s pour le système de stockage de démonstration sur les disques DC1000M U.2 NVMe. Source : Kingston

À quoi ressemblerait un système typique pour les applications HPC utilisant GPUDirect Storage ou une technologie similaire ? Il s'agit d'une architecture avec une séparation physique des unités fonctionnelles au sein d'un rack : une ou deux unités pour la RAM, plusieurs autres pour les nœuds de calcul GPU et CPU, et une ou plusieurs unités pour les systèmes de stockage.

Avec l'annonce de GPUDirect Storage et l'émergence possible de technologies similaires provenant d'autres fournisseurs de GPU, la demande de Kingston en systèmes de stockage conçus pour être utilisés dans le calcul haute performance augmente. Le marqueur sera la vitesse de lecture des données du système de stockage, comparable au débit des cartes réseau de 40 ou 100 Gbits à l'entrée d'une unité de calcul dotée d'un GPU. Ainsi, les systèmes de stockage ultra-rapides, y compris les NVMe externes via Fabric, passeront du statut d'exotiques à celui de courant dominant pour les applications HPC. En plus des calculs scientifiques et financiers, ils trouveront des applications dans de nombreux autres domaines pratiques, tels que les systèmes de sécurité au niveau métropolitain Safe City ou les centres de surveillance des transports, où des vitesses de reconnaissance et d'identification de millions d'images HD par seconde sont requises », a souligné la niche de marché du système de stockage haut de gamme

Pour plus d'informations sur les produits Kingston, rendez-vous sur le site officiel entreprise.

Source: habr.com

Ajouter un commentaire