Déployer un cluster de serveurs Bare Metal HPC alimenté par un GPU NVIDIA Tensor Core

Le déploiement de modèles d'intelligence artificielle (IA), de machine learning (ML) ou de deep learning (DL), tels que BERT-Large pour la modélisation du langage, bénéficie souvent de l'accélération GPU pour les workloads d'IA.

Oracle Cloud Infrastructure (OCI) permet un accès direct à un cluster de serveurs Bare Metal. Le cluster de GPU Bare Metal offre le meilleur rapport prix-performances du secteur pour le déploiement de l'IA, du machine learning ou du DL. Vous pouvez héberger plus de 500 clusters de GPU et les redimensionner facilement, à la demande.

Architecture

Cette architecture illustre la relation entre les différents composants d'un système standard avec un cluster GPU bare metal HPC au cœur. Il peut s'appliquer à de nombreuses applications d'IA, de ML ou de 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 (NLP). Il peut être affiné pour des applications ou des domaines spécifiques. La variante plus grande, BERT-large, contient des paramètres de 340M. Les temps d'entraînement et d'inférence sont considérables sans cluster distribué à grande échelle sur des centaines de GPU identiques. Les clusters GPU nécessitent un débit d'E/S élevé et un système de fichiers de cluster à faible latence. Combien, à quelle vitesse et à quel prix vous pouvez traiter les données est particulièrement critique pour les applications d'inférence d'IA en temps réel.

Oracle Cloud Infrastructure (OCI) utilise le réseau de cluster à faible latence d'Oracle, basé sur RDMA (Remote Direct Memory Access), exécuté 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 la CPU. OCI HPC permet au client de mettre en cluster jusqu'à 64 noeuds Bare Metal, chacun avec 8 GPU NVIDIA A100, jusqu'à 512 GPU.

OCI fournit plusieurs solutions de stockage hautes performances à faible latence pour les workloads HPC, telles que le SSD NVMe local, le réseau et les systèmes de fichiers parallèles. Le serveur Bare Metal OCI est livré avec un stockage local SSD NVMe. Il peut être utilisé pour créer un système de fichiers NFS provisoire ou un système de fichiers parallèle provisoire (BeeOND, Weka) pour les fichiers temporaires. Grâce à la fonctionnalité d'attachement multiple de volume de blocs, vous pouvez utiliser un seul volume pour stocker l'ensemble de vos ensembles de données d'entraînement et l'associer à plusieurs instances de GPU. Vous pouvez également utiliser Intel Ice Lake BM ou VM et le niveau de performances équilibré Block Storage pour créer des serveurs de fichiers à débit le plus élevé et à coût le plus bas, avec NFS basé (NFS-HA, FSS) ou Parallel File System (Weka.io, Spectrum Scale, BeeGFS, BeeOND). Les résultats de la formation sont enregistrés dans Oracle Cloud Infrastructure Object Storage pour un stockage à long terme.

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

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

architecture-hpc-bm-gpu-oracle.zip

L'architecture comporte les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise 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 des pays voire des continents).

  • Cloud Guard

    Vous pouvez utiliser Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs pour certaines activités à risque. En cas de détection d'une mauvaise configuration ou d'une activité non sécurisée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.

  • Domaines de pannes

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

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser les ressources dans Oracle Cloud, en contrôler l'accès et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle de l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud 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é.

  • VPN site à site

    Le VPN site à site fournit une connectivité VPN IPSec entre votre réseau sur site et vos réseaux cloud virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec permet de crypter le trafic IP avant le transfert des paquets de la source vers la destination, et de le décrypter lorsqu'il arrive.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre le centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.

  • Passerelle de routage dynamique (DRG)

    Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux cloud 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 site ou un réseau dans un autre fournisseur cloud.

  • Passerelle NAT

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

  • Passerelle Internet

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

  • Passerelle de service

    La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse pas Internet.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité indiquant 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 via des passerelles.

  • Hôte du bastion

    Le bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé vers la topologie depuis l'extérieur du cloud. Le 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 sur des réseaux privés inaccessibles directement depuis l'extérieur du cloud. La topologie comporte un seul point d'entrée connu que vous pouvez surveiller et auditer régulièrement. Vous pouvez donc éviter d'exposer les composants les plus sensibles de la topologie sans compromettre l'accès à ces composants.

  • Noeud de bastion (noeud de tête)

    Le noeud de bastion (noeud de tête) utilise un portail Web pour se connecter au noeud de tête et programmer des travaux HPC. La demande de travail est transmise via Oracle Cloud Infrastructure FastConnect ou le VPN IPSec au noeud en tête. Le noeud de tête envoie également l'ensemble de données client au stockage de fichiers et peut effectuer un prétraitement sur les données. Le noeud de tête peut provisionner des clusters de noeuds HPC et supprimer des clusters HPC une fois le travail terminé.

    Le noeud de tête contient le modèle BERT, exécute le planificateur et peut servir de bastion pour l'accès au cluster. Il dispose de l'interface de transmission de messages (MPI) et redimensionne automatiquement les noeuds Bare Metal via des API REST. Le cluster HPC provisionne des noeuds Bare Metal à la demande. L'entraînement et l'inférence de modèle utilisent le stockage local SSD 4 x 6.4TB NVMe connecté au noeud Bare Metal. Si vous utilisez nos solutions pour lancer l'infrastructure, l'architecture déploie le noeud de tête et nfs-share est installé par défaut sur le stockage SSD NVMe dans /mnt.

  • Noeud de cluster HPC

    Le noeud de tête provisionne et met fin à ces noeuds de calcul, qui sont des clusters compatibles RDMA. Ils traitent les données stockées dans le stockage de fichiers et renvoient les résultats au stockage de fichiers.

  • Serveur NFS

    Le noeud de tête promeut l'un des noeuds HPC en tant que serveur NFS.

  • Pool d'instances

    Un pool d'instances est un groupe d'instances d'une région créées à partir de la même configuration d'instance et gérées en tant que groupe.

    Les pools d'instances vous permettent de créer et de gérer plusieurs instances Compute dans 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 connecté en local. Utilisez une forme de GPU Bare Metal pour les analyses accélérées par le matériel et d'autres calculs.

    Le lancement d'un système de base de données bare metal vous permet de sélectionner la forme et une seule édition Oracle Database qui s'applique à 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 de base de données, qui peuvent être de versions différentes. Chaque répertoire de base de base de données ne peut comporter qu'une seule base de données, qui doit être de la même version que celui-ci.

    La forme détermine les ressources alloué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é aux fichiers de données, affectent la quantité de stockage utilisable sur le système.

  • Object Storage

    Le stockage d'objets permet d'accéder rapidement à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu riche tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez faire évoluer le stockage sans dégradation des performances ni de la fiabilité des services. 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 conservez pendant longtemps 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'adressage IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) vers lequel vous souhaitez 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. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d'activités à risque. En cas de détection d'une mauvaise configuration ou d'une activité non sécurisée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être crypté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 par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

  • Cloud Guard

    Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonctionnalité Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Security Zones

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être crypté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 par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

  • Groupes de sécurité réseau

    Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • Noeuds HPC

    Déployez les formes Bare Metal HPC pour obtenir des performances complètes.

    Utilisez des formes BM.HPC4.8 avec 8 GPU Tensor Core A100 avec 40 Go de mémoire, 2 x 32 Core AMD à 2,9 GHz, 2048 Go DDR4, 8 x 200 Gbits/s de réseau, 4 x 6,4 To de stockage SSD local NVMe jusqu'à 1 Po de blocs par noeud.

    Mettez en cluster jusqu'à 64 noeuds Bare Metal pour fournir 512 GPU et 4096 CPU.

Points à prendre en compte

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

  • Performances

    En fonction de la taille de la charge globale, déterminez le nombre de coeurs sur lesquels vous souhaitez exécuter BERT. Cette décision garantit que la simulation est effectuée en temps opportun.

    Pour obtenir les meilleures performances, choisissez la forme de calcul appropriée avec la bande passante appropriée.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité, en fonction de vos exigences de déploiement et de votre région. Vous pouvez notamment utiliser plusieurs domaines de disponibilité dans une région et des domaines de pannes.

    • Surveillance et alertes

      Configurez la surveillance et des alertes sur l'utilisation de l'UC et de la mémoire pour vos noeuds afin de pouvoir augmenter ou réduire la forme selon vos besoins.

    • Coût

      Une instance de GPU Bare Metal fournit la puissance CPU nécessaire pour un coût plus élevé. Evaluez vos exigences pour choisir la forme de calcul appropriée.

      Vous pouvez supprimer le cluster lorsqu'aucun travail n'est en cours d'exécution.

  • Systèmes de fichiers de cluster

    Il existe plusieurs scénarios :

    1. Stockage SSD NVMe local fourni avec la forme HPC.
    2. Les volumes de blocs à attachement multiple fournissent jusqu'à 2 680 Mo/s de débit d'E/S ou 700 k IOPS.
    3. Vous pouvez également installer votre propre système de fichiers parallèle sur le stockage SSD NVMe ou le stockage de blocs, en fonction de vos exigences en matière de performances. OCI fournit des solutions NFS permanentes et provisoires (NFS-HA, FSS) ou de système de fichiers parallèle (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte), voir Explorer plus. Contactez l'équipe de stockage HPC pour concevoir les solutions les plus optimales pour vos besoins.

Remerciements

  • Auteur : Wei Han