Avec la croissance continue des activités telles que l'IA, l'entreposage de données et l'analyse du Big Data, les charges de travail exécutées sur OSS exigent une latence d'accès aux données plus faible, un débit QPS plus élevé et un débit accru. OSS Accelerator met en cache les objets fréquemment consultés sur des supports de stockage haute performance NVMe SSD situés dans la même zone que vos ressources de calcul, offrant ainsi un accès aux données à faible latence (de l'ordre de la milliseconde) et à haut débit QPS.
Avantages
-
Faible latence
OSS Accelerator est un service déployé au niveau de la zone, dans la même zone que vos ressources de calcul, ce qui réduit la latence réseau. Combiné à des supports NVMe SSD qui minimisent la latence d'accès au stockage, OSS Accelerator offre une latence de téléchargement de bout en bout de l'ordre de la milliseconde. Cette solution est particulièrement efficace pour le téléchargement de modèles d'inférence et les requêtes sur les données chaudes des entrepôts de données.
-
IOPS élevés
Les supports NVMe SSD haute performance offrent des IOPS en lecture de l'ordre de 100 000 pour les lectures fréquentes de petits fichiers (quelques centaines de ko) ou de petits blocs de données.
-
Densité de débit élevée
OSS Accelerator fournit un débit extrêmement élevé pour de petits volumes de données, répondant ainsi aux demandes de lecture en rafale des données chaudes.
-
Capacité de débit élevée
La bande passante de l'accélérateur évolue linéairement avec la capacité, offrant un débit en rafale pouvant atteindre plusieurs centaines de Go/s.
-
Mise à l'échelle élastique
Les tâches de calcul sont généralement périodiques et chaque tâche nécessite des ressources différentes. Augmentez ou réduisez la capacité de l'accélérateur en ligne selon vos besoins pour éviter le gaspillage de ressources et réduire les coûts. L'accélérateur prend en charge un espace de cache compris entre 50 Go et plusieurs centaines de To. OSS Accelerator hérite des avantages de stockage massif de données d'OSS et prend en charge la mise en cache directe de plusieurs tables ou partitions d'un entrepôt de données.
-
Découplage du stockage et du calcul
Contrairement à l'espace de cache sur les serveurs de calcul, OSS Accelerator fonctionne indépendamment de ces derniers. Vous pouvez ainsi ajuster l'espace et les performances en ligne sans affecter les instances de calcul.
-
Cohérence des données
L'accélérateur offre une forte cohérence des données avec OSS, contrairement aux solutions de mise en cache conventionnelles. Lorsque des objets dans OSS sont mis à jour, l'accélérateur identifie automatiquement les modifications et met en cache les objets mis à jour, garantissant que les moteurs de calcul lisent toujours les dernières données.
-
Stratégies de préchargement multiples
OSS Accelerator identifie automatiquement les objets mis à jour dans OSS, garantissant que les moteurs lisent les dernières données. OSS Accelerator propose les stratégies de préchargement suivantes.
Préchargement à la lecture : lorsqu'une demande de lecture adressée à l'accélérateur entraîne un échec du cache, l'accélérateur récupère automatiquement les données depuis OSS standard, les renvoie et les stocke dans le cache de l'accélérateur.
Préchargement synchrone : lorsque des données sont écrites dans OSS, elles sont simultanément mises en cache dans l'espace de l'accélérateur.
-
Préchargement asynchrone : via la configuration, les données dans OSS sont mises en cache par lots dans l'espace de l'accélérateur.
RemarqueLe préchargement à la lecture est activé par défaut et ne peut pas être configuré.
Le préchargement synchrone et le préchargement asynchrone doivent être activés manuellement. Ces deux fonctionnalités peuvent être utilisées simultanément.
Fonctionnement
Après la création d'un accélérateur, un endpoint d'accélération interne spécifique à la zone lui est attribué. Cet endpoint n'est accessible que via le réseau interne et ne prend pas en charge l'accès via le réseau public. Par exemple, l'endpoint d'accélération pour la zone H de la région Chine (Pékin) est cn-beijing-h-internal.oss-data-acc.aliyuncs.com. Lorsque vous vous trouvez dans le même VPC que l'accélérateur, accédez aux ressources de l'accélérateur via l'endpoint d'accélération. Le processus est le suivant.
-
Demandes d'écriture
Préchargement à la lecture : les demandes d'écriture envoyées à l'endpoint d'accélération sont transférées directement vers le bucket OSS. Le processus est identique à celui de l'utilisation de l'endpoint OSS par défaut.
Préchargement synchrone : les demandes d'écriture envoyées à l'endpoint d'accélération sont transférées directement vers le bucket OSS et vers OSS Accelerator.
Préchargement asynchrone : les données devant être préchargées sont écrites dans OSS Accelerator avant le début des demandes d'accès.
Préchargement synchrone + asynchrone : les demandes sont transférées directement vers le bucket OSS et vers OSS Accelerator. De plus, les données chaudes peuvent être écrites dans OSS Accelerator avant le début des demandes d'accès.
-
Demandes de lecture
RemarqueLes demandes de lecture suivent le même processus quelle que soit la stratégie de préchargement.
Les demandes de lecture envoyées à l'endpoint d'accélération sont transférées vers OSS Accelerator.
-
Lorsque l'accélérateur reçoit une demande de lecture, il recherche l'objet cible dans l'espace de cache :
Si l'objet cible existe dans l'espace de cache, il est renvoyé directement au client.
Si l'objet cible n'existe pas dans l'espace de cache, l'accélérateur le demande au bucket OSS lié. Après réception de la demande, OSS met en cache l'objet cible dans l'accélérateur, et l'accélérateur renvoie l'objet au client.
Lorsque le cache de l'accélérateur est plein, l'accélérateur remplace les objets peu populaires par des objets très populaires en fonction de la popularité des fichiers en cache.
Cas d'utilisation
OSS Accelerator convient aux scénarios nécessitant une bande passante élevée et des lectures de données répétées. Les scénarios spécifiques sont les suivants :
Partage de données à faible latence
-
Contexte
Un client achète des produits dans un distributeur automatique en scannant les articles avec une application mobile qui prend des photos et les télécharge. Le backend de l'application reçoit les images et les stocke via OSS Accelerator. Les sous-systèmes backend effectuent ensuite une analyse de sécurité du contenu et une reconnaissance de code-barres sur les images. Les résultats de la reconnaissance de code-barres sont renvoyés au backend de l'application pour les opérations de facturation. Les téléchargements d'images doivent être effectués en quelques millisecondes.
-
Solution
Utilisez le mode de préchargement synchrone (préchargement à l'écriture) d'OSS Accelerator. OSS Accelerator réduit efficacement la latence de chargement des images pour le système d'analyse et raccourcit la chaîne de transaction. OSS Accelerator est bien adapté aux charges de travail sensibles à la latence avec des lectures répétées.
Inférence de modèle
-
Contexte
L'inférence de modèle AIGC nécessite le téléchargement et le chargement de fichiers de modèle. Pendant le débogage de l'inférence, de nouveaux fichiers de modèle doivent être fréquemment changés pour les tests. À mesure que la taille des fichiers de modèle augmente, le temps nécessaire aux serveurs d'inférence pour télécharger les fichiers de modèle s'allonge.
-
Solution
Utilisez le mode de préchargement asynchrone ou de préchargement à la lecture d'OSS Accelerator. Le préchargement asynchrone convient aux scénarios où vous connaissez à l'avance la plage des fichiers de modèle chauds. Le préchargement à la lecture convient aux scénarios où la plage des fichiers de modèle est incertaine. Si vous connaissez la liste des fichiers de modèle chauds, configurez l'espace d'accélérateur approprié et utilisez le SDK de l'accélérateur pour précharger les fichiers OSS spécifiés dans l'espace de l'accélérateur. Vous pouvez également configurer un espace d'accélérateur d'une certaine taille en fonction de votre expérience. L'accélérateur mettra automatiquement en cache les fichiers sur le support haute performance de l'accélérateur lors des lectures de données pour un accès ultérieur plus rapide. L'espace de l'accélérateur peut être augmenté ou réduit à tout moment en fonction des résultats d'accélération. Si votre programme d'inférence doit accéder à OSS via un répertoire local, déployez ossfs.
Chargement d'images ACR
-
Contexte
Le téléchargement d'images de conteneur est l'une des étapes chronophages du processus de démarrage des Pods. Dans les scénarios d'apprentissage par renforcement IA et d'évaluation de modèles, une seule tâche doit souvent planifier simultanément des milliers, voire des dizaines de milliers, de Pods de calcul. Ces Pods téléchargent la même image d'entraînement, créant un trafic de lecture en rafale concentré qui peut facilement dépasser la limite de bande passante sortante OSS du référentiel d'images, provoquant l'inactivité d'un grand nombre de nœuds GPU en attente d'images. Dans les scénarios d'inférence IA, les fluctuations de trafic entraînent une mise à l'échelle élastique fréquente des Pods, et la latence de téléchargement d'image pour les nouveaux Pods augmente directement le temps de démarrage à froid, affectant les SLA de service. Dans les scénarios généralisés de conteneurisation, la mise à l'échelle du cluster, les mises à jour progressives et la récupération après incident génèrent également un grand nombre de demandes concurrentes de téléchargement d'images en peu de temps.
-
Solution
Utilisez OSS Accelerator pour mettre en cache les fichiers d'images chauds depuis Container Registry (ACR), répondant ainsi aux demandes de débit en rafale lorsqu'un grand nombre de Pods de calcul téléchargent des fichiers d'images. Cela réduit le temps de préparation des Pods et diminue considérablement le gaspillage de coûts de calcul dû à l'attente. Si les fichiers d'images nouvellement téléchargés sont susceptibles d'être lus dans un court délai, activez le mode de préchargement à l'écriture. Pour la configuration côté ACR, consultez Personnaliser les règles de routage de nom de domaine OSS.
Analyse de big data
-
Contexte
Les données métier d'une entreprise sont partitionnées par jour et archivées sur OSS pour un stockage à long terme. Les analystes utilisent des moteurs de calcul tels que Hive ou Spark pour analyser les données, mais ne connaissent pas la plage de requête. Les analystes exigent un temps d'analyse des requêtes minimal.
-
Solution
Utilisez le mode de préchargement à la lecture d'OSS Accelerator. Ce mode convient aux scénarios de requête hors ligne avec de grands volumes de données où la plage de requête de données est incertaine et où un préchargement précis n'est pas possible. Par exemple, les données interrogées par l'analyste A sont mises en cache dans le cluster d'accélérateur. Lorsque l'analyste B interroge des données incluant les données précédemment interrogées par l'analyste A, l'analyse est accélérée.
Accélération multiniveau
-
Contexte
La mise en cache côté client et l'accélération côté serveur ne sont pas contradictoires. Vous souhaiterez peut-être réaliser une accélération multiniveau en fonction de vos besoins métier.
-
Solution
Utilisez OSS Accelerator conjointement avec la mise en cache côté client. Nous recommandons de déployer le cache côté client aux côtés du cluster de calcul. Lorsqu'une lecture manque le cache côté client, les données sont récupérées depuis le stockage backend. Pour OSS Accelerator, le préchargement à la lecture est utilisé, et les données sont préchargées lors du premier accès. En raison de l'espace de cache limité sur les hôtes clients, chaque fichier et répertoire du cache côté client possède un TTL (Time To Live). Lorsque le TTL expire, le cache est évincé pour économiser de l'espace. À ce stade, les données dans OSS Accelerator ne sont pas immédiatement évincées, et son espace de cache peut contenir des centaines de To de données. Lorsque des données qui ne se trouvent plus dans le cache côté client sont lues à nouveau, elles peuvent être chargées directement depuis OSS Accelerator, réalisant ainsi une accélération à deux niveaux.
Métriques
Métrique | Description |
Capacité |
Si votre scénario métier nécessite une capacité supérieure, soumettez un ticket pour demander une augmentation de capacité. |
Bande passante de l'accélérateur | En fonction de la taille de l'espace configuré, l'accélérateur fournit une bande passante de débit pour les données mises en cache. Chaque To d'espace d'accélérateur fournit jusqu'à 2,4 Gbps de bande passante maximale. La bande passante de débit fournie par l'accélérateur s'ajoute à la bande passante OSS standard et n'est pas soumise aux limites de bande passante OSS standard. Pour plus d'informations sur les limites de bande passante standard OSS, consultez Limites et métriques de performance. Par exemple, dans la région Chine (Shenzhen), OSS fournit 100 Gbps de bande passante standard. Après avoir activé l'accélérateur et configuré 10 To d'espace d'accélérateur, vous pouvez obtenir 24 Gbps supplémentaires de bande passante à faible latence via l'endpoint d'accélération. Pour les applications de calcul hors ligne par lots, nous recommandons d'utiliser l'endpoint interne OSS avec des lectures de blocs concurrentes à grande échelle pour tirer parti de la bande passante standard de 100 Gbps. Pour les charges de travail de requête de données chaudes, accédez aux données mises en cache sur les supports NVMe SSD via l'endpoint OSS Accelerator pour obtenir 24 Gbps supplémentaires de débit à faible latence. |
Bande passante de lecture (pic) | Formule : MAX[600, 300 × Capacité (To)] Mo/s
Par exemple, si la capacité de l'accélérateur est configurée à 2 048 Go (soit 2 To), la bande passante de lecture est de (600) Mo/s = 600 Mo/s. |
Bande passante de lecture maximale | 40 Go/s (320 Gbps) Si votre scénario métier nécessite une bande passante de lecture supérieure, soumettez un ticket pour faire une demande. |
Latence de lecture minimale pour un flux unique de 128 Ko | <10 ms |
Intervalle de mise à l'échelle (augmentation/réduction) | Peut être modifié une fois par heure |
Méthode de mise à l'échelle (augmentation/réduction) | Augmentez ou réduisez manuellement la capacité via la console |
Politique d'éviction du cache | Utilise la politique d'éviction de cache LRU (Least Recently Used). La politique d'éviction de cache LRU garantit que les données fréquemment consultées sont conservées et que les données non consultées depuis longtemps sont supprimées en premier, permettant une utilisation efficace de l'espace de cache. |
Facturation
Lorsque vous utilisez OSS Accelerator, OSS facture des frais en fonction de la capacité de l'accélérateur configurée et de la durée d'utilisation. Pour plus d'informations, consultez Frais d'OSS Accelerator.
Lorsque vous lisez ou écrivez des données OSS via l'endpoint de l'accélérateur, des frais de requête OSS sont engagés même si aucune récupération depuis l'origine ne se produit.
Étapes suivantes
Pour savoir comment créer une instance OSS Accelerator et modifier la capacité d'OSS Accelerator, consultez Créer, modifier et supprimer un accélérateur OSS.
Pour savoir comment configurer et utiliser OSS Accelerator avec les outils OSS courants et les SDK OSS, consultez Utiliser OSS Accelerator.
Pour connaître les différences de performance entre l'utilisation de l'endpoint interne OSS et l'utilisation d'OSS Accelerator dans des scénarios métier spécifiques, consultez Métriques de performance.