10 points par GN⁺ 2025-04-12 | 2 commentaires | Partager sur WhatsApp

> Le « protocole avec état de Colossus » est l’ingrédient secret derrière les hautes performances de Rapid Storage

  • Google Cloud Storage est largement utilisé pour sa simplicité et sa scalabilité
  • Les protocoles sans état existants, basés sur REST, sont faciles à utiliser, mais pour les workloads IA et gourmands en données, la latence et le manque de fonctionnalités orientées fichiers posent problème
  • Rapid Storage résout ce problème en introduisant un protocole de streaming gRPC avec état, tout en conservant la scalabilité et le débit du stockage objet

Les atouts de l’architecture basée sur Colossus

  • Colossus est le système de fichiers interne de Google au niveau cluster, qui sert de technologie de base pour les produits haute performance
  • Il prend en charge des lectures/écritures de données à très faible latence grâce à un protocole avec état
  • Le client ouvre un fichier, reçoit un handle, puis peut communiquer directement avec les disques via celui-ci
  • Il permet un accès rapide grâce à un protocole similaire à RDMA, avec des optimisations SSD et des techniques d’écriture parallèle
  • Il est adapté aux workloads d’écriture de logs exigeant de la durabilité ainsi qu’à l’analytique en streaming

Fonctionnement du protocole avec état de Colossus

  • Lorsqu’un fichier est ouvert en mode append, le Curator génère un handle et le transmet au client
  • L’application écrit les données de log vers le client, qui utilise ensuite le handle pour effectuer des écritures parallèles sur plusieurs disques
  • Pour stocker les données de façon durable, celles-ci sont répliquées sur plusieurs disques, avec des écritures basées sur un quorum afin de minimiser la latence

Performances et cas d’usage de Rapid Storage

  • Le client Cloud Storage anticipe l’authentification et l’accès aux métadonnées lors de la création d’un flux gRPC
  • Les lectures/écritures suivantes se connectent ensuite directement à Colossus, ce qui maintient une latence extrêmement faible
  • Jusqu’à 20 millions de requêtes par seconde peuvent être traitées par bucket — adapté aux workloads IA/ML à grande échelle
  • Conception optimisée pour l’entraînement IA/ML

    • Idéal pour lire de manière non séquentielle de gros fichiers de données contenant des centaines de millions à des milliards de tokens
    • Un flux peut être créé au démarrage de l’entraînement, puis des lectures par plage en parallèle peuvent être exécutées avec une latence extrêmement faible
    • Permet d’alimenter rapidement les échantillons de données pendant l’entraînement sans latence de stockage
  • Gestion append sûre et efficace

    • Un append illimité est possible sur un même objet (dans la limite de taille de l’objet)
    • Grâce au handle, il est possible de reprendre la lecture/écriture après reconnexion même si le flux a été interrompu
    • Un seul flux à la fois peut écrire dans un objet — un nouveau flux verrouille transactionnellement le flux précédent
    • Chaque append indique l’offset d’écriture afin de garantir la cohérence des données

Intégration et API de Rapid Storage

  • Les SDK sont en cours de mise à jour pour prendre en charge la fonctionnalité append basée sur gRPC
  • Intégré à Cloud Storage FUSE, il permet d’accéder aux buckets Cloud Storage comme à un système de fichiers
  • Il fonctionne aussi avec Hierarchical Namespace pour renforcer les performances et la cohérence, avec prise en charge d’API basées sur les dossiers

Les avantages combinés de Rapid Storage

  • Une latence extrêmement faible au niveau du stockage bloc
  • Un débit élevé au niveau d’un système de fichiers parallèle
  • La scalabilité et la simplicité du stockage objet en plus

2 commentaires

 
ethanhur 2025-04-14

On dit beaucoup de bien de Colossus, mais je me demande ce qu’en pensent ceux qui l’ont réellement utilisé en interne.

 
GN⁺ 2025-04-12
Discussion sur Hacker News
  • Google est le seul grand cloud à proposer, via la même API, du stockage objet mono-zone à faible latence, du stockage objet régional standard et du stockage objet bi-régional répliqué de façon transparente
    • Dans les systèmes d’infrastructure, on peut coder avec l’API GCS puis laisser l’utilisateur choisir l’équilibre entre coût, latence et durabilité
  • Annoncé lors de la conférence Google Next 2025, avec publication d’un client gRPC pour Rapid Storage
    • Cela ressemble à un simple wrapper autour de Colossus lui-même, et il s’agit d’un stockage mono-zone
  • Cela pourrait réellement accélérer le calcul scientifique
    • La localisation/délocalisation des données représente une part importante du temps total d’exécution des instances
  • J’ai dû revoir la vidéo classique sur les microservices
    • J’étais persuadé qu’ils utilisaient Colossus, mais en fait c’était Galactus & Omega Star
  • Ce lien est bien plus facile à comprendre que le précédent
  • La vitesse élevée des SSD en I/O aléatoires contribue fortement à l’avantage
    • Un débit d’écriture de 20m par seconde semble possible en le répartissant sur le réseau de disques
  • Ravi de voir le stockage objet mono-zone s’imposer avec succès
    • Une bande passante énorme va redéfinir l’analyse de données
    • 99 % des requêtes pourraient être exécutées plus vite sur un seul nœud qu’en calcul distribué
  • J’aimerais avoir Chubby en tant que service
    • On pourrait se débarrasser de etcd et zookeeper
  • Semblable à S3 Express One Zone
  • Je me demande si cela a un lien avec les anywhere caches sur invitation privée
    • Ou si c’est peut-être désormais en GA