Объединение SSD в пул используется для повышения эффективности дата-центров: несколько приложений делят одни и те же накопители вместо выделения отдельного устройства под каждую задачу. Однако даже в таких системах значительная часть ресурсов остается недоиспользованной из-за различий в производительности устройств.
Исследователи из MIT предложили программную систему под названием Sandook, которая позволяет задействовать этот скрытый потенциал и существенно увеличить общую пропускную способность.
Причины потерь производительности
SSD в одном пуле работают неравномерно. Более медленные устройства ограничивают скорость всей системы.
Различия возникают по нескольким причинам. Во-первых, накопители отличаются по возрасту, степени износа и емкости, особенно если они закупались в разное время и у разных поставщиков.
Во-вторых, операции чтения и записи конкурируют между собой. Для записи новых данных SSD должен сначала очистить часть существующих, что замедляет параллельное чтение.
Третья причина это сборка мусора. Это процесс удаления устаревших данных, который запускается непредсказуемо и также влияет на скорость работы.
Даже при одинаковой нагрузке отдельные устройства могут становиться узким местом и снижать общую производительность пула.
Подход Sandook
Sandook учитывает все три типа вариативности одновременно.
Система построена по двухуровневой схеме. Глобальный планировщик распределяет задачи между SSD на уровне всего пула, оптимизируя общую загрузку.
Локальные планировщики на каждом устройстве работают быстрее и реагируют на текущие изменения, например, перегрузку или замедление конкретного накопителя, перераспределяя операции.
Такое сочетание позволяет одновременно учитывать глобальное состояние системы и локальные события.
Результат
За счет устранения ключевых источников вариативности новая система позволяет значительно повысить эффективность использования SSD и приблизиться к почти двукратному росту производительности в пуле.
Разработка будет представлена на конференции NSDI 2026.
Источник: TechExplore