Colossus para almacenamiento rápido
(cloud.google.com)> El "protocolo con estado de Colossus" es el ingrediente secreto detrás del alto rendimiento de Rapid Storage
- Google Cloud Storage se usa ampliamente por su simplicidad y escalabilidad
- Los protocolos tradicionales sin estado basados en REST son fáciles de usar, pero presentan problemas de latencia y falta de funciones centradas en archivos para cargas de trabajo de IA y de uso intensivo de datos
- Rapid Storage resuelve este problema al introducir un protocolo de streaming gRPC con estado, manteniendo al mismo tiempo la escalabilidad y el rendimiento del almacenamiento de objetos
Fortalezas de la arquitectura basada en Colossus
- Colossus es el sistema de archivos a nivel de clúster interno de Google, y sirve como tecnología base para productos de alto rendimiento
- Usa un protocolo con estado para permitir lecturas y escrituras de datos con latencia ultrabaja
- Los clientes abren un archivo y reciben un handle, con el que pueden comunicarse directamente con el disco
- Aprovecha un protocolo similar a RDMA para acceso rápido, con optimización para SSD y técnicas de escritura en paralelo
- Es adecuado para escrituras de logs que requieren durabilidad y para cargas de trabajo de análisis en streaming
Cómo funciona el protocolo con estado de Colossus
- Al abrir un archivo en modo append, el Curator genera un handle y lo entrega al cliente
- La aplicación escribe los datos de log en el cliente, y el cliente usa el handle para escribir en paralelo en varios discos
- Para almacenar los datos de forma duradera, se replican en múltiples discos, y las escrituras basadas en quórum minimizan la latencia
Rendimiento de Rapid Storage y ejemplos de uso
- El cliente de Cloud Storage preprocesa la autenticación y el acceso a metadatos al crear un stream gRPC
- Después, las lecturas y escrituras se conectan directamente con Colossus, manteniendo una latencia ultrabaja
- Puede procesar 20 millones de solicitudes por segundo por bucket — adecuado para cargas de trabajo de IA/ML a gran escala
-
Diseño optimizado para entrenamiento de IA/ML
- Es ideal para leer de forma no secuencial grandes archivos de datos que contienen cientos de millones a miles de millones de tokens
- Al iniciar el entrenamiento, se puede crear un stream y realizar lecturas de rango en paralelo con latencia ultrabaja
- Durante el entrenamiento, se pueden suministrar rápidamente muestras de datos sin latencia de almacenamiento
-
Manejo de append seguro y eficiente
- Se puede hacer append ilimitado a un solo objeto (dentro del límite de tamaño del objeto)
- Mediante el handle, incluso si el stream se interrumpe, se puede reconectar y continuar leyendo o escribiendo
- Solo un stream puede escribir en el objeto a la vez — un stream nuevo bloquea el stream anterior de forma transaccional
- Cada append especifica el offset de escritura para garantizar la consistencia de los datos
Integración y API de Rapid Storage
- Se están actualizando los SDK para admitir la función de append basada en gRPC
- Está integrado en Cloud Storage FUSE, lo que permite acceder a los buckets de Cloud Storage como si fueran un sistema de archivos
- También se integra con Hierarchical Namespace para reforzar el rendimiento y la consistencia, además de admitir API basadas en carpetas
Ventajas combinadas de Rapid Storage
- Latencia ultrabaja al nivel del almacenamiento en bloques
- Alto rendimiento al nivel de un sistema de archivos paralelo
- Además, ofrece la escalabilidad y la simplicidad del almacenamiento de objetos
2 comentarios
Dicen que Colossus es muy bueno, pero me da curiosidad saber qué opinan quienes lo han usado por dentro en la práctica.
Comentarios de Hacker News