Комплект для разработки производительности хранилища ⇐ Васина Википедия
-
Автор темыwiki_en
- Всего сообщений: 120732
- Зарегистрирован: 16.01.2024
Комплект для разработки производительности хранилища
'''Storage Performance Development Kit''' ('''SPDK''') — это программная платформа с открытым исходным кодом, состоящая из библиотек и инструментов для создания высокопроизводительных масштабируемых приложений хранения данных.
Первоначально разработанный Intel, пакет SPDK используется в различных средах, включая облачную инфраструктуру, программно-определяемое хранилище и высокопроизводительные вычислительные системы.
== Обзор ==
SPDK предназначен для максимизации производительности современных устройств хранения данных, в частности твердотельных накопителей NVMe (Non-Volatile Memory Express). Это достигается за счет реализации архитектуры драйверов в пользовательском пространстве с опросным режимом, которая устраняет накладные расходы, связанные с системными вызовами и обработкой прерываний.
Вместо того, чтобы полагаться на ввод-вывод, управляемый прерываниями, SPDK использует модель опроса, в которой приложения активно проверяют завершенные операции. Такой подход уменьшает изменчивость задержки и повышает детерминированность, что делает его пригодным для приложений, критичных к производительности.
== Архитектура ==
SPDK использует несколько принципов проектирования, направленных на повышение эффективности и масштабируемости:
* '''Драйверы пользовательского пространства''': драйверы устройств хранения данных полностью выполняются в пользовательском пространстве, избегая переключений контекста ядра.
* '''Ввод-вывод на основе опроса''': аппаратные очереди опрашиваются на предмет завершения, а не полагаются на прерывания.
* '''Механизмы нулевого копирования''': данные передаются напрямую между памятью приложения и устройствами с использованием прямого доступа к памяти (DMA).
* '''Блокируемый параллелизм''': структуры данных для каждого ядра и передача сообщений используются для минимизации конфликтов между потоками.
Архитектура концептуально аналогична другим платформам обхода ядра, таким как Data Plane Development Kit (DPDK), который также отдает приоритет обработке с малой задержкой и высокой пропускной способностью.
== Компоненты ==
SPDK предоставляет модульный набор библиотек и сервисов, которые можно комбинировать для создания систем хранения. К ним относятся:
* Драйвер NVMe для прямого доступа к устройствам NVMe
* Целевая реализация NVMe over Fabrics (NVMe-oF)
* Цель iSCSI
* Поддержка Virtio и vhost для виртуализированных сред
* Уровень абстракции блочного устройства
* Платформы ускорения и управления памятью
== Варианты использования ==
SPDK используется в различных приложениях для хранения и обработки данных, в том числе:
* Облачные платформы хранения и гипермасштабируемые центры обработки данных
* Программно-определяемые системы хранения данных
* Высокопроизводительные базы данных и аналитические платформы
* Развертывание NVMe over Fabrics для дезагрегации хранилищ
Он также интегрирован в более крупные системы хранения, такие как платформа распределенного асинхронного объектного хранилища (DAOS).
== Развитие и управление ==
Первоначально SPDK был разработан Intel, а затем превратился в проект с открытым исходным кодом, управляемый сообществом. Проект поддерживается консорциумом участников из промышленности и научных кругов и размещен на GitHub.
В 2025 году SPDK был передан в Фонд Linux Foundation для поддержки долгосрочного управления и поощрения более широкого сотрудничества в экосистеме хранения данных.
== См. также ==
* Комплект разработки Data Plane
* Энергонезависимая память Express
* NVMe через Fabric
* Программно-определяемое хранилище
* Daos_(программное обеспечение)
Бесплатное программное обеспечение, написанное на C
Программное обеспечение для хранения данных
Программные платформы
Проекты Linux Foundation
Подробнее: https://en.wikipedia.org/wiki/Storage_P ... opment_Kit
'''Storage Performance Development Kit''' ('''SPDK''') — это программная платформа с открытым исходным кодом, состоящая из библиотек и инструментов для создания высокопроизводительных масштабируемых приложений хранения данных.
Первоначально разработанный Intel, пакет SPDK используется в различных средах, включая облачную инфраструктуру, программно-определяемое хранилище и высокопроизводительные вычислительные системы.
== Обзор ==
SPDK предназначен для максимизации производительности современных устройств хранения данных, в частности твердотельных накопителей NVMe (Non-Volatile Memory Express). Это достигается за счет реализации архитектуры драйверов в пользовательском пространстве с опросным режимом, которая устраняет накладные расходы, связанные с системными вызовами и обработкой прерываний.
Вместо того, чтобы полагаться на ввод-вывод, управляемый прерываниями, SPDK использует модель опроса, в которой приложения активно проверяют завершенные операции. Такой подход уменьшает изменчивость задержки и повышает детерминированность, что делает его пригодным для приложений, критичных к производительности.
== Архитектура ==
SPDK использует несколько принципов проектирования, направленных на повышение эффективности и масштабируемости:
* '''Драйверы пользовательского пространства''': драйверы устройств хранения данных полностью выполняются в пользовательском пространстве, избегая переключений контекста ядра.
* '''Ввод-вывод на основе опроса''': аппаратные очереди опрашиваются на предмет завершения, а не полагаются на прерывания.
* '''Механизмы нулевого копирования''': данные передаются напрямую между памятью приложения и устройствами с использованием прямого доступа к памяти (DMA).
* '''Блокируемый параллелизм''': структуры данных для каждого ядра и передача сообщений используются для минимизации конфликтов между потоками.
Архитектура концептуально аналогична другим платформам обхода ядра, таким как Data Plane Development Kit (DPDK), который также отдает приоритет обработке с малой задержкой и высокой пропускной способностью.
== Компоненты ==
SPDK предоставляет модульный набор библиотек и сервисов, которые можно комбинировать для создания систем хранения. К ним относятся:
* Драйвер NVMe для прямого доступа к устройствам NVMe
* Целевая реализация NVMe over Fabrics (NVMe-oF)
* Цель iSCSI
* Поддержка Virtio и vhost для виртуализированных сред
* Уровень абстракции блочного устройства
* Платформы ускорения и управления памятью
== Варианты использования ==
SPDK используется в различных приложениях для хранения и обработки данных, в том числе:
* Облачные платформы хранения и гипермасштабируемые центры обработки данных
* Программно-определяемые системы хранения данных
* Высокопроизводительные базы данных и аналитические платформы
* Развертывание NVMe over Fabrics для дезагрегации хранилищ
Он также интегрирован в более крупные системы хранения, такие как платформа распределенного асинхронного объектного хранилища (DAOS).
== Развитие и управление ==
Первоначально SPDK был разработан Intel, а затем превратился в проект с открытым исходным кодом, управляемый сообществом. Проект поддерживается консорциумом участников из промышленности и научных кругов и размещен на GitHub.
В 2025 году SPDK был передан в Фонд Linux Foundation для поддержки долгосрочного управления и поощрения более широкого сотрудничества в экосистеме хранения данных.
== См. также ==
* Комплект разработки Data Plane
* Энергонезависимая память Express
* NVMe через Fabric
* Программно-определяемое хранилище
* Daos_(программное обеспечение)
Бесплатное программное обеспечение, написанное на C
Программное обеспечение для хранения данных
Программные платформы
Проекты Linux Foundation
Подробнее: https://en.wikipedia.org/wiki/Storage_P ... opment_Kit
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
Мобильная версия