Colossus para armazenamento rápido
(cloud.google.com)> "O protocolo com estado do Colossus" é o ingrediente secreto por trás do alto desempenho do Rapid Storage
- O Google Cloud Storage é amplamente usado por sua simplicidade e escalabilidade
- Os protocolos sem estado baseados em REST são fáceis de usar, mas para workloads de IA e intensivos em dados, a latência e a falta de recursos centrados em arquivos se tornam um problema
- O Rapid Storage resolve isso ao introduzir um protocolo de streaming gRPC com estado, mantendo a escalabilidade e a taxa de transferência do armazenamento de objetos
Pontos fortes da arquitetura baseada em Colossus
- O Colossus é um sistema de arquivos em nível de cluster usado internamente pelo Google e serve como tecnologia de base para produtos de alto desempenho
- Suporta leitura e gravação de dados com latência ultrabaixa usando um protocolo com estado
- O cliente abre um arquivo e recebe um handle, por meio do qual pode se comunicar diretamente com os discos
- Usa um protocolo semelhante a RDMA para permitir acesso rápido, com otimizações para SSD e técnicas de gravação paralela
- É adequado para workloads de gravação de logs que exigem durabilidade e para análises em streaming
Como funciona o protocolo com estado do Colossus
- Quando um arquivo é aberto em modo append, o Curator gera um handle e o entrega ao cliente
- A aplicação grava os dados de log no cliente, e o cliente usa o handle para gravar em paralelo em vários discos
- Para armazenar os dados de forma durável, eles são replicados em vários discos, e a gravação baseada em quórum minimiza a latência
Desempenho do Rapid Storage e exemplos de uso
- O cliente do Cloud Storage faz previamente a autenticação e o acesso a metadados ao criar um stream gRPC
- Depois disso, as leituras e gravações se conectam diretamente ao Colossus, mantendo a latência ultrabaixa
- É capaz de processar 20 milhões de requisições por segundo por bucket — ideal para workloads massivos de AI/ML
-
Projeto otimizado para treinamento de AI/ML
- Ideal para ler de forma não sequencial grandes arquivos de dados contendo centenas de milhões a bilhões de tokens
- É possível criar um stream no início do treinamento e fazer leituras paralelas por intervalo com latência ultrabaixa
- Durante o treinamento, é possível fornecer rapidamente amostras de dados sem latência de armazenamento
-
Processamento de append seguro e eficiente
- Append ilimitado em um único objeto é possível (dentro do limite de tamanho do objeto)
- Por meio do handle, mesmo que o stream seja interrompido, é possível reconectar e continuar lendo/escrevendo
- Apenas um stream por vez pode gravar no objeto — um novo stream bloqueia o anterior de forma transacional
- Cada append especifica o offset de gravação para garantir a consistência dos dados
Integração e API do Rapid Storage
- O SDK está sendo atualizado para oferecer suporte à funcionalidade de append baseada em gRPC
- Integrado ao Cloud Storage FUSE, permitindo acessar buckets do Cloud Storage como se fossem um sistema de arquivos
- Também funciona em conjunto com o Hierarchical Namespace para reforçar desempenho e consistência, com suporte a APIs baseadas em pastas
Vantagens combinadas do Rapid Storage
- Latência ultrabaixa no nível de armazenamento em bloco
- Alta taxa de transferência no nível de sistemas de arquivos paralelos
- Além disso, oferece a escalabilidade e a simplicidade do armazenamento de objetos
2 comentários
Dizem que o Colossus é muito bom, mas fiquei curioso para saber como é na prática para quem já usou internamente.
Comentários do Hacker News