Parallelstore est un système de fichiers distribué à faible latence entièrement géré, conçu pour répondre aux exigences des charges de travail d'entraînement IA/ML et de calcul hautes performances (HPC) qui nécessitent une latence extrêmement faible (inférieure à la milliseconde), une sémantique POSIX complète et un débit élevé pour les opérations de métadonnées. Parallelstore peut atteindre des vitesses de lecture de 1 To/s et des millions d'IOPS.
Pour connecter un cluster Google Kubernetes Engine (GKE) à une instance Parallelstore, utilisez le pilote CSI (Container Storage Interface) de Parallelstore. Le pilote CSI Parallelstore vous permet d'utiliser l'API GKE pour consommer des instances Parallelstore en tant que volumes pour vos charges de travail avec état (par exemple, des pods et des tâches). Il est optimisé pour les charges de travail d'entraînement de l'IA/du ML, en particulier celles impliquant des tailles de fichiers plus petites et des lectures aléatoires.
GKE active le pilote CSI par défaut lorsque vous créez un cluster GKE Autopilot. Sur les clusters GKE Standard nouveaux et existants, vous devez activer le pilote CSI.
Avantages
Vous pouvez utiliser le pilote CSI Parallelstore pour bénéficier d'un espace de stockage hautes performances. Le pilote CSI Parallelstore vous permet d'accélérer vos charges de travail d'entraînement d'IA/ML et de calcul hautes performances, avec un accès rapide et cohérent aux données partagées pour un traitement et une analyse efficaces.
- Vous avez accès à des systèmes de fichiers parallèles entièrement gérés en tant qu'espace de stockage via les API Kubernetes.
- Le pilote CSI Parallelstore de Google Kubernetes Engine est compatible avec les modes d'accès ReadWriteMany, ReadOnlyMany et ReadWriteOnce.
- Vous pouvez utiliser le pilote CSI Parallelstore de Google Kubernetes Engine pour provisionner vos PersistentVolumes de manière dynamique.
- Vous pouvez accéder aux instances Parallelstore existantes dans les charges de travail Kubernetes. Vous pouvez également créer des instances Parallelstore de manière dynamique et les utiliser dans des charges de travail Kubernetes avec un StatefulSet ou un déploiement.
Limites
- Persistance des données: Parallelstore est un système de fichiers "scratch plus". Il est sauvegardé sur un SSD local avec un code d'effacement 2+1, et le délai moyen de perte de données est de deux mois. Parallelstore n'est pas un espace de stockage à long terme. Il doit être considéré comme un système de fichiers extrêmement rapide pour des charges de travail spécifiques.
- Limitation par pod: GKE ne permet d'associer qu'une seule instance Parallelstore par pod.
- Transferts de données: le transfert de données de Cloud Storage vers Parallelstore n'est pas pris en charge par l'API GKE. Pour effectuer le transfert, utilisez l'API Parallelstore.
- Capacité utilisable: vous pouvez configurer la capacité de stockage entre 12 000 GiB et 100 000 GiB.
- Zones compatibles: Parallelstore est compatible avec ces zones. Si la région de votre cluster est différente de celle de votre instance Parallelstore, les performances d'E/S diminueront sensiblement.
- Limites de VPC-SC pour Parallelstore: si vous utilisez le VPC partagé et VPC Service Controls, vous devez disposer du projet hôte qui fournit le réseau et du projet de service qui contient l'instance Parallelstore dans le même périmètre afin que l'instance Parallelstore puisse fonctionner correctement. La séparation du projet hôte et du projet de service par rapport au périmètre peut rendre les instances existantes indisponibles et empêcher la création d'instances.
Conditions requises
Pour utiliser le pilote CSI Parallelstore, vos clusters doivent répondre aux exigences suivantes:
- Assurez-vous d'avoir installé la dernière version de Google Cloud CLI. La version minimale de gcloud CLI compatible avec cette fonctionnalité est la version 469.0.0 ou ultérieure.
- Utilisez la version 1.29 ou ultérieure du cluster Google Kubernetes Engine.
Étape suivante
- Créer et utiliser un volume basé sur une instance Parallelstore Google Kubernetes Engine
- Accéder à une instance Parallelstore existante à partir de Google Kubernetes Engine