Volver al inicio

AWS S3: 1 PB/s en HDDs lentos

AWS S3 ofrece 1+ PB/s en HDD gracias a codificación de borrado 5/9, paralelismo masivo y estructura LSM. Análisis de limitaciones de discos físicos, mecanismos de sharding y mitigación de puntos calientes. Material para especialistas técnicos.

S3: petabytes por segundo en discos duros
Advertisement 728x90

Arquitectura de AWS S3: Rendimiento de Petabyte con HDD

AWS S3 maneja más de 400 billones de objetos, 150 millones de solicitudes por segundo y tráfico pico que supera los 1 petabyte por segundo. En su núcleo se encuentran discos duros —a pesar de sus limitaciones en IOPS (alrededor de 120) y latencia hasta 16 ms para lecturas aleatorias de 0,5 MB. La economía del almacenamiento en HDD permite guardar exabytes de datos al costo más bajo posible: la capacidad ha aumentado 7,2 millones de veces, mientras que el costo por byte ha disminuido 6 mil millones de veces a lo largo de décadas.

La física de los HDD determina el rendimiento: el tiempo medio de búsqueda de pista es de 8–9 ms, la latencia de rotación es de 4 ms y el tiempo de transferencia es de 2,5 ms. El acceso secuencial es eficiente (hasta 300 MB/s), pero el acceso aleatorio está limitado a 32 MB/s por disco debido al movimiento mecánico de la cabeza.

Paralelismo mediante Codificación de Errores

S3 supera las limitaciones de los HDD gracias al paralelismo masivo. Los datos se dividen en fragmentos usando un esquema de codificación de errores (EC) de 5 de 9: 5 fragmentos de datos más 4 fragmentos de paridad. Esto ofrece una sobrecarga de 1,8x en lugar de 3x con replicación, resiste hasta 4 fallos simultáneos y proporciona 5 fuentes de lectura para mejorar el rendimiento.

Google AdInline article slot

Ventajas de la EC:

  • Distribución de carga entre 9 fragmentos minimiza puntos calientes.
  • Lectura paralela desde 5 fragmentos acelera el acceso.
  • El particionamiento permite consultas hedged que evitan retrasos por latencia.

Un archivo de 1 TB en un solo HDD alcanza 300 MB/s; con 20.000 discos, escala a terabytes por segundo al agrupar ancho de banda.

Paralelismo en Todos los Niveles

El paralelismo se implementa en tres planos:

Google AdInline article slot
  • Frontend del cliente: grupos de conexiones HTTP distribuyen solicitudes entre múltiples puntos finales, evitando sobrecarga en proxies y cachés.
  • Backend del frontend: los objetos se distribuyen en miles de discos dentro de ShardStore (un árbol LSM construido sobre almacenamiento basado en registros).
  • Operaciones PUT/GET: cargas multipartes para escrituras, GET por rango de bytes para lecturas —divididas en más de 100 flujos de 10 MB/s en lugar de un único flujo de gigabit.

Las escrituras son secuenciales (tipo registro), mientras que las lecturas requieren aleatorización de partición para evitar acumulación de colas.

Combatiendo los Puntos Calientes

Con decenas de millones de discos y cientos de millones de fragmentos por segundo, mantener una distribución equilibrada de carga es clave. Un disco limitado a 32 MB/s se convierte en cuello de botella, agravado por la sobrecarga de reequilibrio.

Estrategia de S3:

Google AdInline article slot
  • Aleatorización: hashing de partición garantiza consumo uniforme de recursos.
  • Reequilibrio: migración continua de datos sin tiempo de inactividad.
  • Escalabilidad horizontal: añadir discos sin afectar la disponibilidad.

La estructura basada en LSM de ShardStore está optimizada para registros solo-append: las operaciones PUT son rápidas y las operaciones GET usan búsquedas paralelas en índices.

Conclusiones Clave

  • S3 logra más de 1 PB/s con HDD usando EC 5/9 y paralelismo en más de 100 flujos.
  • Latencia promedio de I/O aleatorio: 16 ms por 0,5 MB, mitigada por 5 fuentes de lectura.
  • Economía: sobrecarga de EC 1,8x frente a 3x con replicación ahorra exabytes en costos de almacenamiento.
  • Aleatorización + reequilibrio previenen fallos en cadena por puntos calientes.
  • El backend basado en árbol LSM maximiza el rendimiento secuencial de HDD.

— Editorial Team

Advertisement 728x90

Leer después