Введение
В течение многих десятилетий RAID-контроллеры были основным ключевым элементом построения высокопроизводительных высокодоступных СХД, но с появлением NAND SSD ситуация стала меняться. Все большее значение на рынке стали занимать программные RAID. Это связано с тем, что из-за высокой пропускной способности NAND SSD, аппаратные RAID могли поддерживать гораздо меньшее число (меньше на порядок в сравнении с HDD) накопителей. В настоящее время насыщение одной RAID-карты последнего поколения достигается [1] уже при 16 накопителях (и менее, зависит от конфигурации, интерфейса и SSD).
Однако актуальность RAID-контроллеров остается актуальной в тех случаях, когда приложения не допускают использование программных RAID, или при повышенных требованиях безопасности, или, например, для локальных десктопных/граничных развертываний без использования массивов корпоративного класса и др.
Для примера – карта Broadcom MegaRAID 9670W-16i поддерживает максимальную производительность на случайных операциях чтения (4 Кбайт) в режимах RAID-10 и RAID-5 – 7 млн IOPS (при 100% чтении и 16 SSD) [1]. Для многих локальных применений это более, чем достаточная производительность.
К программным RAID в данном обзоре будем относить все разработки организации RAID на базе ресурсов CPU, включая использование векторных расширений AVX/AVX2 (Advanced Vector eXtensions – расширение системы команд x86 для процессоров Intel и AMD, предложенное Intel в марте 2008 г.) и Intel VROC.
В 2021 г. на рынке была представлена программно-определяемая разработка компании Graid Technology для организации RAID, которая строится на использовании GPU и виртуального NVMe-контроллера, интегрируемого в ОС приложения. Отличительной особенностью этого решения является подключение самой карты GPU и SSD через PCIe-интерфейс. Т.е. все взаимодействие карты GRAID SupremeRAID, приложения (подключаемого к карте через PCIe NIC) и SSD (которые могут подключаться по PCIe и по NVMeoF) происходит по PCIe-интерфейсу. Также есть возможность программного расширения кода самой карты (например, функциональностью компрессии данных). Эти особенности, помимо увеличения производительности RAID, также позволяют развивать ИТ-инфраструктуру на основе принципов CDI (Composable Disaggregated Infrastructure) практически полностью без использования CPU для RAID.
Гибридный SupremeRAID™ от Graid Technology
Компания Graid Technology (https://www.graidtech.com/, центр разработок – Тайвань) – создатель RAID следующего поколения SupremeRAID™ на базе GPU. Разработанный для рабочих нагрузок, требующих высокой производительности, SupremeRAID™ — это самое быстрое в мире NVMe- и NVMeoF-решение RAID для PCIe Gen 3, 4 и 5. Одна карта SupremeRAID™ обеспечивает до 19 млн IOPS и 110 ГБ/с и поддерживает до 32 собственных дисков NVMe, поддерживая превосходную производительность NVMe/NVMeoF, повышая масштабируемость, гибкость и снижая совокупную стоимость владения.
Graid Technology была названа CRN одним из десяти самых популярных стартапов в области хранения данных 2021 года (Ten Hottest Data Storage Startups of 2021), лауреатом премии CES Innovation Award 2022, а также самым инновационным стартапом с флэш-памятью и лучшим на выставке (Flash Memory Summit 2022). В марте 2022 года компания Graid Technology была названа победителем конкурса Startup Challenge от AFCOM Data Center World в двух категориях: «Самая революционная технология» и «Лучшая возможность получить дополнительный капитал». В июле 2022 года CRN отметил Graid Technology как нового поставщика, за которым стоит следить в категории «Хранилище с аварийным восстановлением».
SupremeRAID™ — это программно-определяемое решение, развернутое на графическом процессоре для обеспечения максимальной производительности SSD без использования CPU. В отличие от традиционных RAID, которые ограничивают производительность и снижают окупаемость затрат на NVMe SSD, SupremeRAID™ использует уникальную технологию RAID, при которой данные передаются непосредственно от CPU к хранилищу, обеспечивая максимальную производительность SSD, комплексную защиту данных и гибкость.
В программно-компонуемой инфраструктуре (SCI, Software Composable Infrastructure) вычислительные ресурсы, ресурсы хранения и сети абстрагируются от их физического местоположения и могут управляться с помощью программного обеспечения через веб-интерфейс. SCI делает ресурсы центра обработки данных такими же легкодоступными, как и облачные сервисы, и является основой для частных и гибридных облачных решений. Наряду с появлением технологий NVMe SSD и NVMeoF у SCI появилась возможность дезагрегировать ресурсы хранения без ущерба для производительности и задержки. Однако по мере быстрого развития технологии NVM SSD появляется серьезное узкое место в производительности — защита данных RAID.
В эпоху жестких дисков простой ASIC на карте RAID был способен обрабатывать все операции ввода-вывода и с SAS-диском максимальная производительность составляла всего около 200 IOPs, а пропускная способность – 150 МБ/с. В эпоху SSD один накопитель NVMe может обеспечить около 1 млн IOPs и пропускную способность 7 Гбит/с. Это приводит к тому, что аппаратная RAID-карта или программная RAID-система не могут справиться с огромным скачком производительности SSD и в конечном итоге становятся самым большим узким местом производительности инфраструктуры хранения.
Кроме того, традиционные аппаратные RAID-карты требуют, чтобы диски для хранения данных были напрямую подключены к RAID-карте с помощью кабелей, что серьезно ограничивает их полезность в современной программно-компонуемой инфраструктуре или высокопроизводительных приложениях.
Основные преимущества SupremeRAID™:
- гибкость и готовность к будущему – искусственный интеллект SupremeRAID™ устраняет традиционное узкое место RAID, предлагая ресурсы SSD из удаленного JBOF для предоставления объема хранилища для высокопроизводительных приложений;
- высвобождение ресурсов ЦП – SupremeRAID™ берет на себя всю нагрузку по обработке операций ввода-вывода и вычислений RAID, высвобождая ресурсы ЦП для других приложений, повышая производительность и снижая затраты;
- Plug&Play – в отличие от традиционных аппаратных RAID-карт, SupremeRAID™ не требует дополнительных кабелей для подключения SSD-дисков к RAID-карте, что устраняет затраты на рефакторинг существующей аппаратной системы и позволяет избежать еще одной потенциальной точки отказа;
- поддержка различных интерфейсов NVMe – SupremeRAID™ можно использовать с интерфейсами U.2, M.2 или даже AIC NVMe, что делает SupremeRAID™ самой универсальной картой NVMe SSD RAID в мире;
- удобный для пользователя и простой в управлении – SupremeRAID™ использует свои мощные вычислительные и программные возможности для достижения до 40-кратного увеличения производительности по сравнению с традиционной картой RAID без кэширования памяти, что устраняет необходимость в модулях резервных батарей.
В конце февраля 2023 г. Graid Technology объявила https://www.graidtech.com/supremeraid–software–updat–emassive–performance–in–crease/ о выпуске новой версии ПО для SupremeRAID™ SR-1000 и SR-1010. Этот выпуск будет доступен летом 2023 года и обеспечит увеличение производительности последовательной записи в 4-9 раз и более низкую загрузку ЦП, чем предыдущие выпуски SupremeRAID™.
При использовании традиционных методов защиты данных пользователи могут рассчитывать на скорость последовательной записи от 2 Гбит/с до 4 Гбит/с, поскольку узкие места ввода-вывода будут препятствовать полному доступу к производительности накопителя NVMe. Используя SupremeRAID™ с запатентованным Graid Technology потоком данных вне пути и новой технологией сокращения данных Intelligent Parity, пользователи могут рассчитывать на скорость более 90 Гбит/с (на основе Linux RAID-5 с процессором Intel Xeon Gold 6338, 32 ядра, 2,0 ГГц x 2, 20 дисков Phison EPW5970 NVMe) для последовательной записи RAID-5, что позволяет использовать полную производительность NVMe SSD.
Усовершенствованный выпуск SupremeRAID™ будет доступен всем клиентам Graid Technology, независимо от канала, в качестве бесплатного обновления после общего выпуска.
Реализации и развитие SupremeRAID™
По состоянию на май 2023 г. Graid Technology предлагает 2 варианта реализации SupremeRAID™: первое поколение SupremeRAID™ – SR-1000 и второе поколение SupremeRAID™ – SupremeRAID™ SR-1010 (анонс в конце апреля 2022 г., рис. 1, 2).
Рис. 1. SupremeRAID™ SR-1000 от Graid Technology.
Рис. 2. SupremeRAID™ SR-1010 от Graid Technology.
SupremeRAID™ SR-1010
Карта SupremeRAID™ SR-1010 с интерфейсом PCIe Gen4 разработана на базе NVIDIA A2000 GPU (dual slot), повышает производительность чтения до 19 млн IOPS и пропускную способность – до 110 ГБ/ с, производительность записи до 1,1 млн IOPS и пропускную способность – до 22 ГБ/с в RAID 5/6, сохраняя при этом высокий уровень защиты данных (на основе Linux RAID-5 с 32-ядерным Intel Xeon Gold 6338 CPU с частотой 2.0GHz x 2, https://www.graidtech.com/product/sr-1010/). Спецификация и производительность SupremeRAID™ SR-1010 для разных уровней RAID представлены в табл. 1, 2.
Табл. 1. Спецификации SupremeRAID™ SR-1010.
Табл. 2. Производительность SupremeRAID™ SR-1010 для PCIe Gen 3, 4, & 5 серверов.
SupremeRAID™ SR-1000
Одна карта SR-1000 с интерфейсом PCIe Gen3 способна обеспечить 16 млн IOPS и пропускную способность 110 Гбит/с (на основе RAID-5 с платформой Intel® Xeon 3-го поколения Intel® Xeon Scalable Platform и Intel D7P-5510).
Отдельно необходимо остановиться на сотрудничестве Graid Technology с LIQID (LIQID — пионер в области компонуемой инфраструктуры), которое показывает, что не только классические конфигурации SSD выигрывают от SupremeRAID™. С SupremeRAID™ SR-1010 компания LIQID достигает максимальной гибкости и еще большей производительности благодаря системе хранения Honey Badger NVMe. Пользователи флэш-устройств Honey Badger NVMe и CDI-решений от LIQID получат более высокий уровень безопасности данных — без узких мест ввода-вывода.
Сумит Пури, генеральный директор и соучредитель LIQID отмечает: «Наше партнерство с Graid Technology помогает клиентам получить больше преимуществ от наших устройств хранения LQD 4500 (Honey Badger) NVMe. Honey Badger уже является самым быстрым твердотельным накопителем в мире с производительностью 4 млн IOPS, но в сочетании с SupremeRAID™ SR-1010 он обеспечивает более 5 млн IOPS с надежной защитой RAID-6» (https://www.graidtech.com/data–disrupted–on–supremeraid/).
Программа развития SupremeRAID™ представлена на рис. 2а.
Рис. 2а. Дорожная карта развития SupremeRAID™ (ист.: ITPT, https://www.graidtech.com/data–disrupted–on–supremeraid/).
SupremeRAID™ на рынке
В конце апреля 2023 г. Giga Computing (https://www.gigacomputing.com), дочерняя компания GIGABYTE и лидер отрасли в области высокопроизводительных серверов, серверных материнских плат и рабочих станций, объявила о продолжении сотрудничества с Graid Technology и создании серверов GIGABYTE R Series (https://www.graidtech.com/giga–computing–and–graid–technology–nvme/).
Сервер GIGABYTE R283-S92 (https://www.gigabyte.com/Enterprise/RackServer/R283-S92-rev–AAE1) стал первым сервером, поддерживающим RAIDкарту SupremeRAID™ SR-1010. Кроме того, все будущие серверы GIGABYTE R283 и R183 будут включать эту оптимизацию и станут серверами с максимальной совместимостью с технологиями Graid Technology следующего поколения. GRAID SupremeRAID™ SR-1010 работает путем установки виртуального контроллера NVMe в операционную систему и интеграции устройства PCIe в систему, оснащенную высокопроизводительным процессором искусственного интеллекта для обработки всех операций RAID виртуального контроллера NVMe. После установки SupremeRAID™ SR-1010 пользователь устанавливает со ответствующий драйвер и ПО в операционную систему, чтобы активировать контроллеры на NVMe SSD, обработать функции хранения и вычислений и удовлетворить требования сверхвысокой производительности для всех типов рабочих нагрузок (рис. 3).
Рис. 3. Сервер GIGABYTE R283S92AAE1и GRAID SupremeRAID™ (https://www.gigabyte.com/Enterprise/Rack-Server/R283-S92-rev-AAE1).
Архитектурные преимущества серверов GIGABYTE R Series:
- высокая производительность NVMe: один сервер может легко достичь 19 млн IOPS при произвольном чтении 4k и пропускной способности записи 22 ГБ/с, что является наилучшей производительностью, возможной на сегодняшний день;
- освобождение ресурсов ЦП. В отличие от традиционного программного RAID, он не требует большого количества ресурсов ЦП;
- преодоление традиционных узких мест RAID – благодаря конструкции сервера GIGABYTE, оптимизированной для PCIe Gen5, R283S92 поддерживает до 24 SSD NVMe и интегрирует программное и аппаратное обеспечение для обеспечения сверхвысоких IOPS для высокой вычислительной производительности;
- Plug and Play. Слоты для горячей замены для NVMe SSD используют PCIe Gen5 для прямого подключения к CPU для оптимальной производительности NVMe. Сервер даже можно использовать для систем без коммутаторов PCIe, в которых использовались SSD, напрямую подключенные к ЦП через PCIe, без необходимости изменения конструкции оборудования;
- совместимая архитектура SCI (Software Composable Infrastructure). Возможность использовать протокол NVMeoF для подключения к внешним вычислительным кластерам для удовлетворения потребностей крупных облачных центров обработки данных;
- высокая масштабируемость. Технологии хранения с высокой масштабируемостью в SupremeRAID™ поддерживают до 32 SSD NVMe и совместимы с протоколами SATA, SAS и NVMeoF для обеспечения безопасности данных и максимальной производительности. Также есть возможность легкого добавления новых программных функций, таких как сжатие и шифрование.
GIGABYTE предлагает серверы со встроенным слотом OCP 3.0 для дополнительных плат нового поколения. К преимуществам этих слотов относятся:
- простота обслуживания – простота установки и извлечения карты, не открывая сервер и не используя инструменты;
- улучшенная тепловая конструкция – горизонтальное положение и оптимальная конструкция радиатора обеспечивают воздушное охлаждение для эффективного отвода тепла.
Серверы GIGABYTE имеют сертифицированную готовность с партнерами по программному обеспечению (рис. 4). Участие в ключевых партнерских программах программного альянса позволяет GIGABYTE быстро разрабатывать и проверять совместные решения, позволяя модернизировать центры обработки данных и внедрять ИТ-инфраструктуру и прикладные услуги быстро, гибко и с оптимизацией затрат.
Рис. 4. Партнеры GIGABYTE по ПО.
20 мая 2023 г. «Яндекс», группа компаний «Ланит» и тайваньский производитель электроники Gigabyte завершили строительство завода по выпуску вычислительной техники в Рязани. Запустить производство планируется уже в этом году. Договор о строительстве такого завода был подписан в 2021 году. Теперь новое оборудование планируют заявить в реестр Минпромторга, чтобы получить доступ к госзакупкам, сообщил директор компании производителя серверов и СХД Bitblaze «Промобита» Максим Копосов. В «Яндексе» при этом уточнили, что производство еще не было запущено (https://www.itrn.ru/itmarket/detail.php?id=191367).
Тестирование производительности SupremeRAID™
Пример 1. Тестирование производительности MySQL: SupremeRAID™ по сравнению с Linux MD RAID (https://www.graidtech.com/white–paper–mysql–performance–comparison/)
SupremeRAID™ от Graid Technology предлагает более производительную альтернативу для защиты данных NVMe SSD для рабочих нагрузок баз данных, таких как MySQL, особенно по сравнению с Linux MD RAID. Преимущества значительны: SupremeRAID™ RAID-6 обеспечивает больше транзакций в секунду, чем Linux MD RAID-10, в оптимальном (без ухудшения состояния) состоянии и состоянии восстановления (ухудшении состояния). Кроме того, SupremeRAID™ RAID-6 обеспечивает почти в 2 раза более высокую скорость восстановления, чем Linux MD RAID-10. Преимущества производительности SupremeRAID™ становятся еще более убедительными при сравнении аналогичных уровней RAID (на пример, RAID-6 с SupremeRAID™ и MD RAID) – рис. 5.
Рис. 5. Сравнение производительности SupremeRAID™ и Linux MD RAID.
Для тестирования был развернут сервер MySQL 8 на SupremeRAID™ SR-1010 RAID-6, Linux MD RAID-10 и Linux MD RAID-6. Использовался sysbench, популярный инструмент для тестирования баз данных, для выполнения теста чтения/записи OLTP и оценки производительности RAID. Спецификация оборудования и ПО представлены в табл. 3. Сценарий тестирования и настройка MySQL – табл. 4.
Табл. 3. Спецификация оборудования и ПО.
Табл. 4. Сценарий тестирования и настройка MySQL.
Результат тестирования
Результаты показывают, что SR-1010 RAID-6 может обеспечить почти вдвое большую производительность, чем Linux MD RAID. Производительность SR-1010 RAID-6 конкурентоспособна с Linux MD RAID-10, обеспечивая при этом большую полезную емкость и лучшую безопасность данных.
Транзакций в секунду в оптимальном состоянии
В тестовых случаях с меньшим числом одновременных пользователей (от 64 до 256) MD RAID-10 показал хорошие результаты, потому что это не RAID на основе четности. Тем не менее, по мере увеличения числа одновременных пользователей служба SQL потребляет ресурсы ЦП и конкурирует с MD RAID. Эта конкуренция за ресурсы значительно снижает производительность до уровня ниже, чем у SupremeRAID™ RAID-6.
По сравнению с MD RAID-6, SupremeRAID™ RAID-6 быстрее во всех случаях и может обеспечить более чем вдвое большую производительность при большом количестве одновременных пользователей (рис. 6).
Рис. 6. Сравнение производительности SupremeRAID™ и Linux MD RAID в оптимальном состоянии.
Транзакций в секунду в состоянии восстановления
Производительность RAID снижается во время перестроений из-за ухудшения рабочих нагрузок чтения и перестроения, выполняемых в фоновом режиме. Тестирование показало снижение производительности до 22% для SupremeRAID™, сконфигурированного для RAID-10, и до 87% для MD RAID, сконфигурированного для RAID-10.
При использовании RAID-6 производительность снизилась до 50% для SupremeRAID™ и до 95% для MD RAID. Тем не менее, при использовании SupremeRAID™, настроенного для RAID-6, производительность осталась примерно в 9 раз выше, чем у MD RAID, настроенного для RAID-0, во всех тестовых случаях (рис. 7).
Рис. 7. Сравнение производительности SupremeRAID™ и Linux MD RAID при восстановлении.
Скорость восстановления
Во время перестроения, несмотря на то, что MD RAID-10 не подвергается ухудшению чтения, его производительность все равно снижается из-за перестроения трафика. Что касается SupremeRAID™ RAID-10, в котором используется вычислительная мощность графического процессора, производительность упала меньше.
SupremeRAID™ RAID-6 одновременно поддерживал 12 953 транзакций в секунду и скорость восстановления 700 Мбит/с (около 2,5 ТБ в час) для 512 пользователей. Однако MD RAID-6 с 512 пользователями поддерживал только 598 транзакций в секунду и 340 Мбит/с при восстановлении.
Производительность MD RAID-6 сильно снижается, поскольку задачи чтения и восстановления потребляют много ресурсов ЦП для вычисления четности (табл. 5).
Табл. 5. Сравнение скорости перестроения SupremeRAID™ и Linux MD RAID.
Выбор SupremeRAID™ позволяет использовать более эффективный и действенный RAID-6 для защиты данных, обеспечивая, как правило, более высокую производительность, чем Linux MD RAID-10. Другие преимущества включают в себя:
- предотвращение потери данных при одновременном выходе из строя двух SSD;
- на 50% больше полезной емкости с 8 твердотельными накопителями (на 75 % выше с 16 твердотельными накопителями);
- до 85% больше транзакций в секунду в оптимальном состоянии RAID;
- до 28% больше транзакций в секунду в состоянии восстановления RAID;
- до 945% больше транзакций в секунду в состоянии восстановления RAID;
- до 66% более высокая скорость восстановления с минимальным влиянием на производительность.
Пример 2. Тестирование производительности SupremeRAID™ с SSD KIOXIA CD6R (KIOXIA и primeLine Solutions GmbH, https://www.graidtech.com/white–paper–innovative–nvme–storage–arrays–for–hpc/)
Чтобы продемонстрировать производительность NVMe и карты SupremeRAIDTM, команда KIOXIA в сотрудничестве с PrimeLine Solutions внедрила тестовую систему, которая имитирует реальные условия хранения RAID (рис. 8).
Рис. 8. Схема взаимодействия компонент стенда.
Аппаратная система для тестирования была следующей:
- 1x ASUS RS520A-E11-RS24U | BIOS 0901-C;
- 1x CPU AMD EPYC | SP3 | 7543P | 2.8GHz | 32-Core;
- 8x MEMS DDR4 3200 ECC Reg. 64GB;
- 1x Raid GRAID SupremeRAIDTM SR-1010;
- 1x NVMe Standard | M.2 | KIOXIA XG6 | 1024GB;
- 20x Data Center NVMe | 2.5″ | KIOXIA CD6-R | 7.68TB FW 0106.
Операционная система была Ubuntu 20.04, на которой работал тест производительности FIO 3.16. Были протестированы режимы RAID: RAID-10, RAID-5 и RAID-6, представляющие типичные режимы, наиболее часто используемые в реальных приложениях.
В качестве SSD использовался CD6R от KIOXIA. Этот твердотельный накопитель NVMe оптимизирован для масштабирования центра обработки данных с интенсивным чтением и облачных приложений, включая большие данные/IoT, онлайн-обработку транзакций и виртуализацию. Емкость хранения до 15,36 ТБ доступна в форм-факторе 2,5 дюйма с активным энергопотреблением от 13 до 19 Вт. Серия соответствует спецификациям PCIe 4.0 и NVMe 1.4. Твердотельные накопители этой серии обеспечивают стабильную производительность до 1 млн операций ввода-вывода в секунду (произвольное чтение) и 85 тыс. операций ввода-вывода в секунду (произвольная запись).
Карта SupremeRAIDTM SR-1010 от Graid Technology поддерживает уровни RAID 0/1/10/5/6/JBOD, а лицензия на основное ПО поддерживает до 32 собственных дисков NVMe. SupremeRAIDTM SR-1010, разработанная как для ОС Linux, так и для Windows, обеспечивает превосходную производительность, увеличивая скорость операций чтения/записи во всех флэш-массивах и приложениях для высокопроизводительных вычислений.
Результаты испытаний
Результаты проведенной работы по тестированию подробно представлены на рис. 9 (показаны последовательные операции чтения и записи) и рис. 10 (показаны случайные операции чтения и записи). Испытания проводились в течение 30 минут.
Рис. 9. Производительность RAID, последовательное чтение и запись.
На рис. 9 показано, что при тестировании была достигнута очень высокая производительность как для чтения, так и для записи, что можно считать максимальным уровнем, который может быть достигнут в реальном сценарии с использованием карт SupremeRAID™ вместе с твердотельными накопителями.
Обратите внимание, что в тестах KIOXIA использовалось только 20 SSD-накопителей с картой SupremeRAID™, в то время как ее максимальная емкость составляет 32 SSD. Это означает, что более высокую производительность можно получить, добавив дополнительные диски (до предела 32).
Рис. 10. Производительность RAID, произвольное чтение и запись.
Как показано на рис. 10, при тестировании со случайными операциями чтения и записи показатели производительности ниже, чем для оптимальных вариантов использования, представленных на рис. 4, но при этом достигаются отличные результаты. Производительность зависит от используемого режима RAID и различных комбинаций операций чтения и записи.
На практике многие приложения имеют предсказуемые рабочие нагрузки, поэтому можно выбрать правильную архитектуру SSD и RAID, соответствующую их требованиям. Например, приложения базы данных выигрывают от низкой задержки, двух портов для многопутевого доступа и высокой доступности, а также от максимального количества доступных транзакций в секунду. В качестве альтернативы поиск по анализу данных выигрывает от высокой пропускной способности для последовательного и случайного чтения. Точно также в центрах обработки данных приложениям облачных вычислений требуется высокая производительность и низкая задержка, в то время как сети доставки контента лучше всего оснащены твердотельными накопителями, которые превосходно справляются с рабочими нагрузками с интенсивным чтением (обычно 90% чтения и 10% записи). Наконец, потоковая передача мультимедиа выигрывает от очень высокой пропускной способности чтения.
Пример 3. Тестирование производительности SupremeRAID™ с SSD Solidigm D5-P5316 QLC NVMe при инициализации RAID-5 [3]
Инициализация RAID-5 запускает запись данных четности (parity data) во весь массив. Это очень плохо для SSD по двум основным причинам. Во-первых, при этом “потребляется” ненужная выносливость NAND, записывая на диск много данных, которые не являются пользовательскими данными. Во-вторых, что более важно, современные SSD используют любые незаписанные блоки в качестве запасной области для сборки мусора, уменьшая число операций записи, повышая производительность и увеличивая срок службы. Текущий программный или аппаратный RAID-5 начинает инициализацию с записи каждого отдельного LBA (Logical block addressing) в массиве, что катастрофически плохо для современных твердотельных накопителей, но особенно для твердотельных накопителей QLC.
TRIM (“сборка мусора” или команда, позволяющая операционной системе уведомить SSD о том, какие блоки данных/страницы не несут полезной нагрузки и их можно не хранить физически), возможно, является одной из самых важных вещей для SSD. Большинство дисков поддерживают детерминированное считывание нуля после TRIM (это означает, что, если читается LBA после того, как ему была дана команда TRIM, диск всегда возвращает нули).
У SupremeRAID™ есть хитрость, которая упрощает вычисление четности для RAID-5 при инициализации. Если A=0 и B=0, A XOR B = 0. (!) Нет необходимости вычислять четность для всего массива, поскольку программное обеспечение Graid может просто обрезать все диски и убедиться, что четность и данные равны нулю.
Старые диски выполняли TRIM не очень эффективно, и это могло занять много времени, поэтому разработчики файловой системы и операционной системы рекомендовали даже отключить TRIM для повышения производительности в пользу еженедельной задачи TRIM всех неиспользуемых LBA. Современные накопители, такие как Solidigm D5-P5316 QLC NVMe имеют новые алгоритмы прошивки для запуска TRIM в качестве фоновой операции на накопителе и мгновенного выполнения команды на хосте. ПО SupremeRAID™ может инициализировать весь том RAID-5 на этих дисках примерно за 1 секунду, по сравнению с более чем 20 часами с программным RAID Linux MDADM (рис. 11).
Рис. 11. Сравнение времени выполнения команды TRIM на дисках Solidigm D5-P5316 QLC NVMe с помощью ПО SupremeRAID™ и MDADM (Linux RAID).
Pliops Extreme Data Processor (XDP)
Pliops XDP (https://pliops.com/, рис. 12) в отличие от Graid SupremeRAID™ можно рассматривать как групповой контроллер SSD, который с одной стороны имеет ограниченные возможности RAID (только RAID 0/5, но с очень быстрым перестроением) и ограниченный объем поддерживаемой емкости SSD – до 128 Тбайт, но с другой – расширенные возможности по оптимизации работы SSD всех типов (TLC SSD, QLC SSD, ZNS SSD, Intel® Optane™) с поддержкой двух интерфейсов хост-доступа: блочный и Key-Value API (а также новый стандарт NVMeKV), совместимый с RocksDB. XDP рассматривает блоки как особый тип пары «ключ-значение». Все взаимодействие Pliops XDP с SSD происходит по PCIe-интерфейсу (без прямого подключения SSD к Pliops XDP). Среди других преимуществ Pliops XDP многократное увеличение производительности работающих приложений, износостойкости SSD и емкости SSD за счет онлайновой компрессии данных.
Рис. 12. Pliops Extreme Data Processor (XDP).
Показатели производительности XDP ограничены показателями: RR:3M IOPS, RW:1.3M IOPS, SR:55GB/s, SW:6.5 GB/s [4].
Pliops XDP поставляется на простой в развертывании низкопрофильной плате PCIe и имеет следующие преимущества:
- повышение производительность до 10 раз выше для баз данных, аналитики, AI/ML и многого другого. Революционные структуры данных и алгоритмы Pliops обеспечивают производительность, эквивалентную сотням ядер ПО хоста. XDP, доступный через стандартный блочный интерфейс, отображается в системе как блочное устройство и ускоряет любое приложение. Прямой интерфейс Key-Value (KV), который использует те же API, что и существующее ПО, а также XDP-Rocks, API, совместимый с двоичным кодом RocksDB, предоставляется для легкого изменения для повышения производительности клиентского ПО. С такими базами данных, как MySQL, MongoDB и Cassandra, Pliops XDP обеспечивает значительное увеличение плотности экземпляров при одновременном снижении задержки, что позволяет использовать системы на максимуме;
- повышение надежности. Традиционные решения для защиты данных требуют компромиссов между производительностью и емкостью. Pliops XDP устраняет эти компромиссы благодаря расширенной защите дисков от сбоев, которая поддерживает постоянную доступность данных и исключает потерю данных и время простоя. XDP поддерживает множественные сбои одного диска, а с виртуальной горячей емкостью (VHC) нет необходимости в горячем резерве. Поскольку XDP управляет данными, восстанавливаются только фактические данные, в отличие от решений на основе RAID;
- увеличение емкости и износостойкости SSD. Храните до 6 раз больше данных без снижения производительности. Pliops XDP поддерживает TLC, QLC, Intel® Optane™, включая ZNS и все распространенные флэш-технологии и твердотельные накопители любого производителя. XDP увеличивает срок службы до 10 раз, позволяя использовать преимущества недорогих твердотельных накопителей большой емкости. Данные эффективно сжимаются и упаковываются, не оставляя пробелов, поэтому отсутствует внутренняя фрагментация. При использовании API блочного хранилища том также может быть тонко подготовлен, что позволяет полностью использовать всю емкость SSD с максимальной производительностью;
- повышение экономической эффективности. Одно простое в развертывании решение для каждой рабочей нагрузки, позволяющее повысить экономичность до 80%. Pliops XDP обеспечивает ценность для широкого спектра приложений с универсальным решением для ускорения. Pliops XDP прост в развертывании во всем центре обработки данных. Pliops Extreme Data Processor раскрывает весь потенциал флэш-накопителей, позволяя корпоративным приложениям получать доступ к данным в 1000 раз быстрее, используя лишь часть традиционной вычислитель ной нагрузки и мощности.
Характеристики Pliops XDP представлены в табл. 6.
Табл. 6. Характеристики Pliops Extreme Data Processor (XDP)
Тестирование производительности Pliops (XDP)
Пример 1. Pliops XDP для RAID5/6 защиты данных (https://pliops.com/resource/pliops–extreme–data–processor–for–no–compromise–raid-5-6-data–protection/)
Pliops XDP на основе технологии адаптивных вычислений AMD Xilinx использует оптимальный подход к инфраструктуре SSD. Pliops XDP преодолевает неэффективность системы хранения, увеличивая масштабируемость рабочих нагрузок и емкость данных, обеспечивая сверхвысокопроизводительную защиту от сбоев диска (DFP, Drive Failure Protection) и встроенное сжатие для приложений с интенсивным использованием данных на основе NVMe SSD. Аппаратное ускорение XDP освобождает ЦП от сложных задач хранения, что повышает надежность инфраструктуры, производительность приложений, емкость хранилища и эффективность вычислений.
Основные моменты:
- технология AMDXilinx обеспечивает производительность близкую к ASIC, с задержкой менее миллисекунды – до 10 раз выше производительность по сравнению с программными решения ми на базе ЦП;
- бескомпромиссная защита от сбоев дисков (стиль RAID 5/6) – до 5 раз более быстрое восстановление диска и до 23 раз более высокая производительность во время восстановления;
- увеличение выносливости SSD – срок службы SSD, увеличенный до 7 раз, позволяет использовать накопители QLC большой емкости;
- простота развертывания и масштабирования – не требуется каких-либо изменений ПО или специального оборудования.
Алгоритмы RAID-5 снижают производительность записи, особенно для небольших случайных операций записи. Чтобы изменить небольшой объем данных в страйпе, традиционный RAID-5 также должен обновить данные четности. Для этого требуется операция чтения-изменения записи, которая сильно влияет на производительность записи.
Поскольку XDP преобразует все случайные записи в последовательные, он устраняет эту проблему и значительно повышает производительность рабочих нагрузок произвольного чтения и произвольной записи по сравнению с аппаратным RAID-5.
На рис. 13 XDP сравнивается с аппаратным RAID-5 в конфигурациях с 4 и 5 дисками при произвольном чтении/записи 70/30 при размере блока 16 КБ.
Рис. 13. Преимущество в производительности Pliops XDP для TLC SSD с четырьмя и пятью накопителями.
В конфигурации с четырьмя дисками XDP обеспечивает до 11 раз повышение производительности. Производительность XDP еще выше: до 12x в режиме Virtual Hot Capacity (VHC) с пятью дисками. С VHC XDP использует 5-й диск, тогда как с аппаратным RAID-5 диск является горячим резервом, который используется только при необходимости восстановления.
Быстрое восстановление в высоким качеством обслуживания
В случае сбоя диска в традиционной конфигурации массива RAID-5 данные восстанавливаются из данных четности на оставшихся дисках. В режиме восстановления существует компромисс между производительностью операций ввода-вывода хоста и скоростью восстановления. Производительность ввода-вывода хоста значительно снижается, когда массив перестраивает данные. В результате крайне важно восстановить данные как можно быстрее и свести к минимуму влияние на производительность. На рис. 14 показаны преимущества XDP в плане производительности и качества обслуживания во время перестройки: в 23 раза выше пропускная способность и в 5 раз быстрее перестроение по сравнению с аппаратным RAID-5. Конечным результатом является минимизация воздействия на пользователя, что позволяет организациям повысить удовлетворенность клиентов. Скорость XDP во время перестроения также позволяет использовать твердотельные накопители большой емкости, что упрощает работу с постоянным ростом данных.
Рис. 14. Преимущество Pliops XDP в QoS и скорости перестроения.
Увеличение емкости снижает стоимость за терабайт
Встроенное аппаратное ускорение сжатия XDP реализует несколько параллельных механизмов ZSTD для предотвращения узких мест, освобождая ЦП от этой нагрузки. На рис. 15 показано, как сжатие XDP, минимальные накладные расходы на защиту от сбоев диска и почти полное использование диска (95%) увеличивают полезную емкость до 6 раз по сравнению с RAID-10. Начиная с того же объема хранилища 30 ТБ, полезная емкость увеличивается с 11 ТБ с RAID-10 до 67 ТБ с Pliops XDP.
Рис. 15. До 6 раз больше используемой емкости с Pliops XDP.
Шестикратное увеличение полезной емкости обеспечивает существенное снижение стоимости на терабайт. С несколькими петабайтами, развернутыми на уровне центра обработки данных, увеличенная емкость может привести к экономии в несколько миллионов долларов.
Пример 2. Pliops XDP в сравнении с Dell PowerEdge RAID Controller H755N (https://pliops.com/resource/a-pliops-xdp-raidplus-solution-boosted-i-o-performance-compared-to-a-dell-poweredge-raid-controller/)
RAID — или избыточный массив независимых дисков — долгое время был методом распределения данных по хранилищу для обеспечения избыточности данных и увеличения времени безотказной работы. Достижения в технологии дисков потребовали изменений и в решениях RAID: карты и программные решения, представленные на рынке, теперь совместимы с дисками NVMe™.
В центре обработки данных Principled Technologies мы использовали инструмент Flexible I/O tester (fio) для измерения производительности ввода-вывода (в нормальном состоянии и при восстановлении после отказа диска) двух решений с поддержкой RAID: Pliops Extreme Data Processor ( XDP) и Dell™ PowerEdge RAID Controller (PERC) H755N front NVMe (из серии PERC 11) в сервере Dell PowerEdge™ R7525. С дисками NVMe в конфигурации, подобной RAID 5, решение Pliops XDP обеспечивало большую пропускную способность до, вовремя и после восстановления диска. Это было в случае без и с дополнительным резервированием или горячим резервированием, а с решением Pliops XDP время восстановления сократилось вдвое.
Получение максимальной отдачи от дисков NVMe с Pliops XDP может помочь ускорить тяжелые рабочие нагрузки ввода-вывода и сократить время восстановления в случае сбоев для повышения надежности и доступности.
Тестовый подход
В качестве испытательного стенда настраивался сервер Dell PowerEdge R7525, который использовали с обоими протестированными решениями данных и пропускной способности каждого решения, мы протестировали производительность ввода-вывода в двух состояниях:
- вариант использования 1: производительность ввода-вывода (нормальное состояние);
- вариант использования 2: производительность ввода-вывода во время восстановления диска:
- пять 8TB NVMe SSD в RAID-5 конфигурации;
- пять 8TB NVMe SSD в RAID-5 конфигурации с дополни тельным резервированием (один дополнительный диск для виртуальной горячей емкости Pliops XDP [VHC] или для горячего резерва PERC).
Чтобы сравнить производительность ввода-вывода, использовался инструмент fio для создания синтетических рабочих нагрузок ввода-вывода.
Вариант использования 1: тестирование производительности ввода-вывода (нормальное состояние)
Во-первых, использовался fio для тестирования производительности ввода-вывода обоих решений с поддержкой RAID в исправной среде, чтобы показать, какие уровни производительности можно ожидать при обычных операциях с различными размерами блоков. Блоки меньшего размера (4 КБ и 8 КБ) типичны для почтовых серверов и многих баз данных OLTP, в то время как приложения OLAP и хранилища данных также могут включать ввод-вывод с размером блока 16 КБ. Большие данные или рабочие нагрузки аналитики иногда могут использовать блоки большего размера (128–512 КБ).
Хотя эти рабочие нагрузки имеют разные диапазоны операций чтения и записи (были протестированы 100% случайных операций чтения и записи), эти сочетания рабочей нагрузки и размера блока дают общее представление о том, какие результаты могут иметь отношение к вашим рабочим нагрузкам.
На рис. 16 сравнивается пропускная способность произвольного чтения, достигнутая решениями в исправном состоянии (без сбоев дисков). Для всех размеров блоков решение Pliops XDP достигло значительно более высокой пропускной способности чтения, обеспечив до трех раз большую пропускную способность чтения, чем переднее решение Dell PERC H755N NVMe (при размере блока 128).
Рис. 16. Random read bandwidth, in MB/s, at multiple block sizes for the Pliops XDP and Dell PERC H755N front NVMe solutions. Higher numbers are better. Source: Principled Technologies
Различия в производительности случайной записи были еще более заметными. Как показано на рис. 17, решение Pliops XDP достигло в 50 раз большей пропускной способности при произвольной записи по сравнению с решением Dell PERC H755N NVMe для фронтального подключения (при размере блока 4 КБ). Пропускная способность записи в решении Pliops XDP была одинаковой для разных размеров блоков, в то время как решение Dell PERC H755N NVMe постепенно увеличивало пропускную способность, достигаемую по мере увеличения размеров блоков. При самой высокой отметке пропускной способности для Dell PERC H755N решение Pliops XDP по-прежнему обеспечивало более чем в три раза большую пропускную способность.
Рис. 17. Random write bandwidth, in MB/s, at multiple block sizes for the Pliops XDP and Dell PERC H755N front NVMe solutions. Higher numbers are better. Source: Principled Technologies.
Вариант использования 2: тестирование производительности ввода-вывода во время восстановления диска
Четыре NVMe SSD емкостью 8 ТБ в конфигурации, подобной RAID-5
Тестировалась производительность (используя произвольное сочетание чтения/записи 70/30) с четырьмя дисками NVMe в конфигурации, подобной RAID 5, без VHC или горячего резерва. Для каждого контроллера устанавливался наивысший приоритет перестроения, чтобы отразить вариант использования, в котором избыточность данных важнее, чем производительность ввода-вывода.
Как показано на рис. 18, во время перестройки решение Pliops XDP увеличило пропускную способность в 17 раз. После перестройки решение Pliops XDP продолжало обеспечивать большую пропускную способность, чем переднее решение Dell PERC H755N NVMe, обеспечивая в 11 раз более высокую пропускную способность после возвращения в работоспособное состояние.
Рис. 18. Bandwidth, in MB/s, during a drive rebuild (fourdrive RAID-5 array with highpriority rebuild settings). Higher numbers are better. Source: Principled Technologies
При использовании Pliops XDP восстановление заняло на 51% меньше времени, чем при использовании переднего решения Dell PERC H755N NVMe.
Поскольку время перестроения зависит от объема обработанных данных и, следовательно, от размера массива, мы также представляем время перестроения, нормализованное по количеству пригодных для использования данных в массиве (в минутах на терабайт). Этот показатель можно использовать для оценки времени восстановления для других массивов. Решение Pliops XDP перестраивается со скоростью более 39 минут на ТБ, в то время как переднее решение Dell PERC H755N NVMe занимает 82 минуты на ТБ.
Пять твердотельных накопителей NVMe емкостью 8 ТБ в конфигурации типа RAID-5 с дополнительным резервированием
Был уничтожен массив и создан новый, обеспечивающий дополнительную избыточность. Для решения Pliops XDP создан массив наподобие RAID-5 из пяти дисков с VHC, а для фронтального решения Dell PERC H755N NVMe создан массив RAID-5 из четырех дисков с дополнительным диском в качестве горячего резерва.
Как показано на рис. 19, во время восстановления накопителя решение Pliops XDP достигло в 21 раз больше МБ/с, чем решение Dell PERC H755N NVMe. После перестроения решение Pliops XDP обеспечивало в 12 раз большую пропускную способность, чем решение Dell PERC H755N NVMe.
Рис. 19. Bandwidth, in MB/s, during a drive rebuild (RAID-5 array with additional redundancy with highpriority rebuild set tings). Higher numbers are better. Source: Principled Technologies.
Благодаря использованию дополнительной избыточности время восстановления для обоих решений сократилось до чуть более 4 часов для решения Pliops XDP и до 10 часов для фронтального решения Dell PERC H755N NVMe, что на 58% меньше времени для решения Pliops XDP. Решение Pliops XDP перестраивалось со скоростью 31 минута на ТБ, в то время как Dell PERC H755N имел скорость восстановления 75 минут на ТБ, что более чем в два раза дольше, чтобы вернуться в нормальное работоспособное состояние.
Итоговые результаты тестирования представлены в табл. 7.
Табл. 7. Итоговые результаты тестирования Pliops XDP с Dell PowerEdge RAID Controller H755N.
Программный RAID
Среди реализаций RAID на базе open-source ПО можно отметить RAID на основе ZFS и MDADM (Linux RAID).
Сообщество ZFS добилось впечатляющих результатов в разработке функций обеспечения надежности данных, контрольных сумм, моментальных снимков и сжатия, но производительность при этом оставляет желать лучшего [3].
MDADM (Linux RAID) прошел долгий путь, добавив такие функции, как журнал частичной четности для защиты от дыр записи в RAID-5 при использовании SSD с защитой от потери питания, но алгоритмы в основном не изменились, а производительность может сильно различаться в зависимости от устройства.
xiRAID от Xinnor
Компания Xinnor (https://xinnor.io/about/) – израильский стартап, развивающий технологию программного RAID, которая разрабатывалась RAIDIX. RAIDIX в сентябре 2022 г. была приобретена (https://yadro.com/yadro–acquires–software–developer–september-5-2022) компанией YADRO (https://yadro.com/). В пресс-релизе было сказано, что “RAIDIX дополнит продуктовый портфель YADRO предложением для сегментов начального уровня (entry-level midrange) и программно-определяемых систем хранения данных”.
Решение от Xinnor позиционируется уже как высокопроизводительный программный RAID с производительностью 150 ГБ/с и 30 000 000 IOPS на случайных операциях чтения, а также задержкой ниже 0,5 мс (https://xinnor.io/what–is–xiraid/).
Среди преимуществ xiRAID отмечается:
- наличие собственного запатентованного механизма расчета RAID, основанного на десятилетних математических исследованиях и глубоких знаниях о работе ЦП;
- архитектура с реализацией Lockless datapath (путь данных без блокировки), no spinlocks (отсутствие спин-блокировок), no scheduling (без планирования), no memory copy (без копирования памяти);
- новый быстрый и простой механизм вычислений, использующий только одну простую векторную операцию и имеющий меньше операций перемещения данных.
Среди применений акцент делается на потоковые нагрузки.
Среди требований к аппаратуре – поддержка SSE 4.2 + AVX2 + AVX (https://xinnor.io/files/Xinnor_xiRAID_System_Requirements.pdf).
Механизм быстрой работы программного массива RAIDIX основан на оригинальном подходе к векторизации вычислений с расширениями SSE и AVX процессоров Intel при использовании RS кодов. Векторные команды позволяют вычислять четность RAID “на лету” для миллионов операций ввода-вывода с незначительной загрузкой CPU. Ключевая идея этого подхода заключается в особом размещении данных в векторных регистрах, при котором существенно увеличивается скорость кодирования и декодирования данных (рис. 20).
Рис. 20. Сравнение скорости кодирования/декодирования алгоритмов RAIDIX с другими библиотеками.
При сравнительном тестировании xiRAID с mdraid и ZFS RAIDZ2 на последовательных рабочих нагрузках результаты показали (https://xinnor.io/blog/a–guide–to–monitoring–performance–and–estimating–cpu–usage–for–xiraid–engine/), что при нормальной работе xiRAID использует в среднем в основном меньше ресурсов ЦП по сравнению с mdraid и ZFS RAIDZ2 в зависимости от числа очередей и их глубины (рис. 21). Это связано с тем, что xiRAID распределяет на грузку равномерно по всем доступным ядрам, в то время как mdraid (для операций записи и чтения с пониженным качеством) и ZFS RAIDZ2 (для операций записи) загружают только часть ядер.
Рис. 21. Сравнение xiRAID с mdraid и ZFS RAIDZ2 на последовательных рабочих нагрузках.
Источники, доп. ресурсы
[1] Broadcom MegaRAID 9670W-16i RAID Card Review, written by Brian Beeler May 8, 2023 – https://www.storagereview.com/review/broadcom-megaraid-9670w-16i-raid-card-review.
[2] SupremeRAID™ SR1010, datasheet – https://download.graidtech.com/document/spec-sheet/sr-1010/SupremeRAID-SR-1010-Specs-v1.0.4-20230428.pdf.
[3] Case Study: SupremeRAID™ and Solidigm D5-P5316 QLC NVMe. WHITEPAPER https://www.graidtech.com/case-study-supreme-raid-solidigm-d5-p5316-qlc-nvme/.
[4] https://pliops.com/resource/pliops-extreme-data-processor-data-sheet/.
Авторы: Гантимуров А.П., Калашник А.Г.
Отслеживать