Déployer une grappe de serveurs sans système d'exploitation de calcul de haute performance optimisée par un processeur graphique NVIDIA Tensor Core

Le déploiement de modèles d'intelligence artificielle (IA), d'apprentissage automatique (ML) ou d'apprentissage en profondeur (DL), tels que BERT-Large pour la modélisation de langage, bénéficie souvent de l'accélération GPU pour les charges de travail d'IA.

Oracle Cloud Infrastructure (OCI) permet un accès direct à une grappe de serveurs sans système d'exploitation. La grappe GPU sans système d'exploitation offre le meilleur rapport prix-performance de l'industrie pour le déploiement de l'intelligence artificielle, de l'apprentissage automatique ou de la technologie. Vous pouvez héberger plus de 500 grappes de processeurs graphiques et les adapter facilement, sur demande.

Architecture

Cette architecture illustre la relation entre les différents composants d'un système classique avec une grappe GPU sans système d'exploitation de calcul de haute performance. Il peut s'appliquer à de nombreuses applications AI, ML ou DL, telles que BERT-Large, GPT2/3, Jasper, MaskRCNN et GNMT.

BERT est un modèle d'apprentissage profond préentraîné qui est populaire dans les tâches de traitement du langage naturel (TLN). Il peut être affiné pour des applications ou des domaines spécifiques. La plus grande variante, BERT-large, contient 340M paramètres. Les temps d'entraînement et d'inférence sont énormes sans cluster distribué à grande échelle sur des centaines de GPU identiques. Les grappes GPU nécessitent un débit d'E/S élevé et un système de fichiers de grappe à faible latence. La vitesse et le coût de traitement des données sont particulièrement importants pour les applications d'inférence par IA en temps réel.

Oracle Cloud Infrastructure (OCI) utilise le réseau en grappe à faible latence d'Oracle, basé sur l'accès direct à la mémoire distant (RDMA), qui s'exécute sur Ethernet convergé (RoCE) avec une latence inférieure à 2 μs. RDMA permet des connexions à faible latence entre les noeuds et l'accès à la mémoire GPU sans impliquer le processeur. Le calcul de haute performance OCI permet au client de mettre en grappe jusqu'à 64 noeuds sans système d'exploitation, chacun avec 8 processeurs graphiques NVIDIA A100 et 512 processeurs graphiques.

OCI fournit plusieurs solutions de stockage haute performance à faible latence pour les charges de travail de calcul de haute performance, telles que le SSD NVMe local, le réseau et les systèmes de fichiers parallèles. Le serveur sans système d'exploitation OCI est fourni avec le stockage local SSD NVMe. Il peut être utilisé pour créer un NFS ou un système de fichiers parallèles scratch (BeeOND, Weka), pour les fichiers temporaires. À l'aide de la fonction d'attachement multiple de volume par blocs, vous pouvez utiliser un seul volume pour stocker l'ensemble de vos jeux de données d'entraînement et l'attacher à plusieurs instances GPU. Ou vous pouvez utiliser le lac de glace Intel sans système d'exploitation ou la machine virtuelle et le niveau de performance équilibré Stockage par blocs pour créer le débit le plus élevé et les serveurs de fichiers les moins chers, avec NFS basé (NFS-HA, FSS) ou système de fichiers parallèle (Weka.io, échelle de spectre, BeeGFS, BeeOND). Les résultats de la formation sont enregistrés dans Oracle Cloud Infrastructure Object Storage pour le stockage à long terme.

Le diagramme suivant illustre cette architecture de référence.

Description d'architecture-hpc-bm-gpu.png :
Description de l'illustration architecture-hpc-bm-gpu.png

architecture-hpc-bm-gpu-oracle.zip

L'architecture comprend les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (dans différents pays ou continents).

  • Protection d'infrastructure en nuage

    Vous pouvez utiliser Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure. Le service de protection d'infrastructure en nuage utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources afin de détecter les faiblesses en matière de sécurité et pour surveiller les opérateurs et les utilisateurs pour certaines activités risquées. Lorsqu'une mauvaise configuration ou une activité non sécurisée est détectée, le service de protection d'infrastructure en nuage recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondant que vous pouvez définir.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance dans un domaine de disponibilité ne devrait pas avoir d'incidence sur les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine d'erreur est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur avec une puissance et un matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines d'erreur, vos applications peuvent tolérer les pannes physiques de serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine d'erreur.

  • Compartiment

    Les compartiments sont des partitions logiques inter-régions dans une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous devez définir des politiques qui spécifient qui peut accéder aux ressources et les actions qui peuvent être exécutées.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable, configuré dans une région Oracle Cloud Infrastructure. À l'instar des réseaux de centre de données traditionnels, ces derniers vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • RPV site-à-site

    Un RPV site à site fournit une connectivité RPV IPSec entre votre réseau sur place et les réseaux en nuage virtuels d'Oracle Cloud Infrastructure. La suite de protocoles IPSec chiffre le trafic IP avant que les paquets ne soient transférés de la source à la destination, et déchiffre le trafic à son arrivée.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect fournit des options de largeur de bande supérieure et permet une utilisation du réseau plus fiable que les connexions basées sur Internet.

  • Passerelle de routage dynamique

    La passerelle DRG est un routeur virtuel qui fournit un chemin pour le trafic réseau privé entre les réseaux en nuage virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur place ou un réseau d'un autre fournisseur de nuage.

  • Passerelle de traduction d'adresses de réseau (NAT)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans les exposer aux connexions Internet entrantes.

  • Passerelle Internet

    La passerelle Internet permet le trafic entre les sous-réseaux publics d'un VCN et l'Internet public.

  • Passerelle de service

    La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le réseau VCN et le service Oracle circule sur la matrice réseau Oracle et ne passe pas par Internet.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.

  • Table de routage

    Les tables de routage virtuelles contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement au moyen de passerelles.

  • Hôte bastion

    L'hôte bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé à la topologie en dehors du nuage. L'hôte bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il vous permet de protéger les ressources sensibles en les plaçant dans des réseaux privés qui ne sont pas accessibles directement depuis l'extérieur du nuage. La topologie dispose d'un point d'entrée unique et connu que vous pouvez surveiller et vérifier régulièrement. Ainsi, vous pouvez éviter d'exposer les composants les plus sensibles de la topologie sans compromettre l'accès à ces composants.

  • Noeud d'hôte bastion (Noeud d'en-tête)

    Le noeud d'hôte bastion (noeud d'en-tête) utilise un portail Web pour se connecter au noeud d'en-tête et programmer des tâches de calcul de haute performance. La demande de tâche passe par le RPV Oracle Cloud Infrastructure FastConnect ou IPSec au noeud principal. Le noeud principal envoie également le jeu de données client au stockage de fichiers et peut effectuer un prétraitement des données. Le noeud principal peut provisionner des grappes de noeuds de calcul de haute performance et supprimer des grappes de calcul de haute performance à l'achèvement

    Le noeud principal contient le modèle BERT, exécute le programmateur et peut servir d'hôte bastion pour l'accès au cluster. Il dispose de l'interface de transmission de message (MPI) et ajuste automatiquement les noeuds sans système d'exploitation au moyen d'API REST. La grappe de calcul de haute performance provisionne des noeuds sans système d'exploitation sur demande. L'entraînement et l'inférence du modèle utilisent le stockage local SSD 4 x 6.4TB NVMe attaché au noeud sans système d'exploitation. Si vous utilisez nos solutions pour lancer l'infrastructure, l'architecture déploie le noeud principal et un nfs-share est installé par défaut sur le stockage SSD NVMe dans /mnt.

  • Noeud de grappe de calcul de haute performance

    Le noeud principal provisionne et met fin à ces noeuds de calcul, qui sont des grappes RDMA. Ils traitent les données stockées dans le stockage de fichiers et renvoient les résultats dans le stockage de fichiers.

  • Serveur NFS

    Le noeud principal promeut l'un des noeuds HPC en tant que serveur NFS.

  • Groupe d'instances

    Il s'agit d'un groupe d'instances dans une région qui sont créées à partir d'une même configuration d'instance et gérées ensemble.

    Les groupes d'instance vous permettent de créer et de gérer plusieurs instances de calcul au sein de la même région en tant que groupe. Ils permettent également l'intégration à d'autres services, tels que le service Oracle Cloud Infrastructure Load Balancing et le service Oracle Cloud Infrastructure Identity and Access Management.

  • Système de base de données Bare Metal

    Un système de base de données Bare Metal (BM) est un seul serveur Bare Metal exécutant Oracle Linux 7, avec un stockage NVMe attaché localement. Utilisez une forme de processeur graphique sans système d'exploitation pour des analyses accélérées et d'autres calculs.

    Lorsque vous lancez un système de base de données sans système d'exploitation, vous sélectionnez la forme et une édition d'Oracle Database qui correspondent à toutes les bases de données de ce système. Chaque système de base de données peut comporter plusieurs répertoires de base avec des versions différentes. Chaque répertoire de base ne peut inclure qu'une seule base de données, dont la version doit être la même que la sienne.

    La forme détermine les ressources affectées au système de base de données. Les options, telles que la mise en miroir 2 ou 3 voies et l'espace alloué pour les fichiers de données, affectent la quantité de stockage utilisable sur le système.

  • Stockage d'objets

    Le service de stockage d'objets permet d'accéder rapidement à de grandes quantités de données non structurées de tous types, notamment des sauvegardes de base de données, des données analytiques et du contenu enrichi, comme des images et des vidéos. Vous pouvez stocker des données en toute sécurité, puis les extraire directement à partir d'Internet ou de la plate-forme en nuage. Vous pouvez adapter le stockage sans que la performance ou la fiabilité des services soit affectée. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous stockez pendant de longues périodes et auquel vous accédez rarement.

Recommandations

Utilisez les recommandations suivantes comme point de départ. Vos exigences peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées standard.

    Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur place ou un autre fournisseur de nuage) auquel vous voulez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Sécurité

    Utilisez Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure de manière proactive. Le service de protection d'infrastructure en nuage utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources afin de détecter les faiblesses en matière de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d' Lorsqu'une mauvaise configuration ou une activité non sécurisée est détectée, le service de protection d'infrastructure en nuage recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondant que vous pouvez définir.

    Pour les ressources qui nécessitent une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette définie par Oracle de politiques de sécurité basées sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles par l'Internet public et doivent être chiffrées à l'aide de clés gérées par le client. Lors de la création et de la mise à jour de ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations en fonction des politiques de la recette de zone de sécurité et refuse les opérations en violation de l'une des politiques.

  • Protection d'infrastructure en nuage

    Cloner et personnaliser les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondant personnalisées. Ces recettes vous permettent de spécifier quel type de violations de sécurité génèrent un avertissement et quelles actions sont autorisées pour elles. Par exemple, vous pouvez détecter des seaux de stockage d'objets dont la visibilité est réglée à Public.

    Appliquez le service de protection d'infrastructure en nuage au niveau de la location pour couvrir la portée la plus large et réduire le fardeau administratif lié à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonction de liste gérée pour appliquer certaines configurations aux détecteurs.

  • Zones de sécurité

    Pour les ressources qui nécessitent une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette définie par Oracle de politiques de sécurité basées sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles par l'Internet public et doivent être chiffrées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations en fonction des politiques de la recette de zone de sécurité et refuse les opérations qui violent l'une des politiques.

  • Groupes de sécurité de réseau

    Vous pouvez utiliser des groupes de sécurité de réseau pour définir un jeu de règles de trafic entrant et sortant qui s'appliquent à des cartes vNIC spécifiques. Nous vous recommandons d'utiliser des groupes plutôt que des listes de sécurité, car ils vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • Noeuds de calcul de haute performance

    Déployez des formes sans système d'exploitation pour le calcul de haute performance afin d'obtenir une performance optimale

    Use BM.HPC4.8 shapes with 8 A100 Tensor Core GPUs with 40 GB memory, 2 x 32 Core AMD at 2.9 GHz, 2048 GB DDR4, 8 x 200 Gbps networking, 4 x 6.4-TB local NVMe SSD storage up to 1PB block per node.

    Mettez en grappe jusqu'à 64 noeuds sans système d'exploitation pour fournir 512 processeurs graphiques et 4096 processeurs.

Points à considérer

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Performance

    Selon la taille de la charge globale, déterminez le nombre de coeurs sur lesquels BERT doit s'exécuter. Cette décision garantit que la simulation est terminée en temps opportun.

    Pour une performance optimale, choisissez la forme Compute appropriée avec une bande passante appropriée.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité, en fonction de vos besoins de déploiement et de votre région. Les options incluent l'utilisation de plusieurs domaines de disponibilité dans une région et des domaines d'erreur.

    • Surveillance et alertes

      Configurez la surveillance et les alertes sur l'utilisation de l'UC et de la mémoire pour vos noeuds, afin que vous puissiez ajuster la forme au besoin.

    • Coût

      Une instance GPU sans système d'exploitation fournit la puissance d'UC nécessaire pour un coût supérieur. Évaluez vos besoins pour choisir la forme de calcul appropriée.

      Vous pouvez supprimer la grappe lorsqu'aucune tâche n'est en cours d'exécution.

  • Systèmes de fichiers en grappe

    Il existe plusieurs scénarios :

    1. Stockage SSD NVMe local fourni avec la forme de calcul de haute performance.
    2. Les volumes par blocs à attache multiple fournissent jusqu'à 2 680 Mo/s de débit d'E/S par seconde ou 700 Ko d'E/S par seconde.
    3. Vous pouvez également installer votre propre système de fichiers parallèle au-dessus du stockage SSD NVMe ou du stockage par blocs, selon vos exigences de performance. OCI fournit des solutions NFS (NFS-HA, FSS) ou Parallel File System (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte) permanentes, voir Explorer davantage. Communiquez avec l'équipe de stockage HPC pour concevoir les solutions les plus optimales pour vos besoins.

Remerciements

  • Auteur : Wei Han