'''Storage Performance Development Kit''' ('''SPDK''') es un marco de software de código abierto que consta de bibliotecas y herramientas para crear aplicaciones de almacenamiento escalables y de alto rendimiento.
Desarrollado originalmente por Intel, SPDK se utiliza en una variedad de entornos que incluyen infraestructura de nube, almacenamiento definido por software y sistemas informáticos de alto rendimiento.
== Descripción general ==
SPDK está diseñado para maximizar el rendimiento de los dispositivos de almacenamiento modernos, en particular las unidades de estado sólido NVMe (Non-Volatile Memory Express). Lo logra implementando una arquitectura de controlador en modo sondeado y en espacio de usuario que elimina la sobrecarga asociada con las llamadas al sistema y el manejo de interrupciones.
En lugar de depender de E/S impulsadas por interrupciones, SPDK utiliza un modelo de sondeo en el que las aplicaciones verifican activamente las operaciones completadas. Este enfoque reduce la variabilidad de la latencia y mejora el determinismo, lo que lo hace adecuado para aplicaciones críticas para el rendimiento.
== Arquitectura ==
SPDK emplea varios principios de diseño destinados a mejorar la eficiencia y la escalabilidad:
* '''Controladores de espacio de usuario''': los controladores de dispositivos de almacenamiento se ejecutan completamente en el espacio de usuario, evitando cambios de contexto del kernel.
* '''E/S basada en sondeo''': las colas de hardware se sondean para determinar su finalización en lugar de depender de interrupciones.
* '''Mecanismos de copia cero''': los datos se transfieren directamente entre la memoria de la aplicación y los dispositivos mediante acceso directo a la memoria (DMA).
* '''Simultaneidad sin bloqueo''': se utilizan estructuras de datos por núcleo y paso de mensajes para minimizar la contención entre subprocesos.
La arquitectura es conceptualmente similar a otros marcos de trabajo que evitan el kernel, como el Data Plane Development Kit (DPDK), que también prioriza el procesamiento de baja latencia y alto rendimiento.
== Componentes ==
SPDK proporciona un conjunto modular de bibliotecas y servicios que se pueden combinar para crear sistemas de almacenamiento. Estos incluyen:
* Controlador NVMe para acceso directo a dispositivos NVMe
* Implementación de destino de NVMe over Fabrics (NVMe-oF)
* Destino iSCSI
* Compatibilidad con Virtio y vhost para entornos virtualizados
* Bloquear capa de abstracción del dispositivo
* Marcos de aceleración y gestión de memoria
== Casos de uso ==
SPDK se utiliza en una variedad de aplicaciones de almacenamiento y uso intensivo de datos, que incluyen:
* Plataformas de almacenamiento en la nube y centros de datos de hiperescala
* Sistemas de almacenamiento definidos por software
* Bases de datos y plataformas de análisis de alto rendimiento
* Implementaciones de NVMe over Fabrics para desagregación de almacenamiento
También está integrado en sistemas de almacenamiento más grandes, como la plataforma Distributed Asynchronous Object Storage (DAOS).
== Desarrollo y gobernanza ==
SPDK fue desarrollado inicialmente por Intel y luego evolucionó hasta convertirse en un proyecto de código abierto impulsado por la comunidad. El proyecto es mantenido por un consorcio de contribuyentes de la industria y el mundo académico y está alojado en GitHub.
En 2025, SPDK se contribuyó a la Fundación Linux para respaldar la gobernanza a largo plazo y fomentar una colaboración más amplia en todo el ecosistema de almacenamiento.
== Ver también ==
* Kit de desarrollo de plano de datos
* Memoria no volátil Express
* NVMe sobre telas
* Almacenamiento definido por software
*Daos_(software)
Software libre programado en C
Software de almacenamiento
Marcos de software
Proyectos de la Fundación Linux
More details: https://en.wikipedia.org/wiki/Storage_P ... opment_Kit
Kit de desarrollo de rendimiento de almacenamiento ⇐ Proyectos de artículos
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version