Déployer une grappe de processeurs graphiques sans système d'exploitation pour les charges de travail d'IA dans un nuage dédié

Le déploiement de charges de travail pour l'intelligence artificielle, l'apprentissage automatique et les modèles d'apprentissage en profondeur pour la modélisation linguistique peut, dans certains cas, avoir des exigences strictes en matière de résidence, de sécurité et de conformité des données.

Pour ces charges de travail, Oracle Cloud propose plusieurs modèles opérationnels et de déploiement répartis, dont le nuage gouvernemental, le nuage souverain et le nuage dédié. L'une de ces solutions est Oracle Cloud Infrastructure Dedicated Region, une région infonuagique déployée dans un centre de données contrôlé par le client avec les mêmes capacités de service et d'infrastructure que les régions de nuage public d'Oracle.

Dans les régions en nuage publiques et dédiées, Oracle Cloud Infrastructure (OCI) permet l'accès direct à une grappe de serveurs sans système d'exploitation alimentée par des processeurs graphiques haute performance et des réseaux en grappe Oracle RoCEv2. La grappe de processeurs graphiques sans système d'exploitation offre le meilleur rapport prix-performance de l'industrie pour déployer, intelligence artificielle, apprentissage automatique ou chargement complet dédié.

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.

Le traitement du langage naturel est un modèle d'apprentissage en profondeur qui est préentraîné. Chaque modèle varie dans sa complexité et peut être dimensionné pour les performances optimales en fonction des spécifications du processeur GPU et de la mémoire nécessaire pour contenir ses paramètres. Certains des plus grands modèles contiennent des centaines de milliards de paramètres, ce qui nécessite une énorme quantité de mémoire et de capacité de traitement pour exécuter le modèle en temps réel, ce qui est essentiel pour les applications d'inférence de l'IA.

Avec les modèles plus volumineux, il est nécessaire d'avoir non seulement une seule instance multi-GPU, mais aussi un groupe de centaines de GPU travaillant de concert. Ces instances nécessitent également l'utilisation d'un système de fichiers de grappe s'exécutant sur le réseau en grappe pour fournir à la fois un taux élevé d'E/S par seconde et la meilleure latence possible pour les opérations entre les noeuds de la grappe.

Pour fournir ce système de fichiers à faible latence et à bande passante élevée, 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), s'exécutant sur Ethernet convergé (RoCE) avec une latence inférieure à 10 microsecondes entre les noeuds. RDMA permet des connexions à faible latence entre les noeuds et l'accès à la mémoire GPU sans impliquer le processeur. OCI permet au client de mettre en grappe jusqu'à 4096 noeuds sans système d'exploitation, chacun avec 8 GPU, jusqu'à 32768 GPU.

OCI fournit plusieurs solutions de stockage haute performance à faible latence pour les charges de travail d'intelligence artificielle et d'apprentissage automatique, 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. Vous pouvez également utiliser des instances sans système d'exploitation ou une machine virtuelle et le niveau de performance équilibré par blocs pour créer un débit élevé et des serveurs de fichiers à faible coût, avec NFS (NFS-HA, FSS) ou le système de fichiers parallèle (Weka.io, Échelle du 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-bm-gpu-dedicated-region.png :
Description de l'illustration architecture-bm-gpu-dedicated-region.png

architecture-bm-gpu-dedicated-region-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. 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 et supprimer des grappes à l'achèvement de la tâche.

  • 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.

  • 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 et adaptez-les en fonction de vos besoins spécifiques, au besoin.
  • 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 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.

    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 GPU

    Déployez les formes sans système d'exploitation GPU pour obtenir une performance complète.

    Mettez en grappe jusqu'à 32 768 processeurs graphiques.

Points à considérer

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

  • 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.

      Notez que les instances sans système d'exploitation continuent d'entraîner des coûts d'exploitation lorsqu'elles ne sont pas mises sous tension. Ils doivent être résiliés pour cesser d'engendrer des frais.

  • Systèmes de fichiers en grappe
    Il existe plusieurs scénarios :
    • Stockage SSD NVMe local fourni avec des formes de GPU, de calcul de haute performance et de stockage haute performance.
    • 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.
    • 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 "Explorez plus". Communiquez avec le spécialiste du soutien pour concevoir les solutions les plus optimales pour vos besoins.

Remerciements

  • Auteur : Michael Rutledge