Готовое решение Dell EMC для хранилищ НРС PixStor — уровень NVMe

Summary: Блог о компоненте решения для хранения данных HPC, включая архитектуру и оценку производительности.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Автор: Марио Гальегос (Mario Gallegos) из лаборатории HPC and AI Innovation Lab, июнь 2020 года
Блог о компоненте решения для хранения данных HPC, включая архитектуру и оценку производительности.

Resolution

Dell EMC Ready Solution для хранилищ НРС PixStor

            Уровень NVMe

Содержание

Введение. 1

Архитектура решения. 1

Компоненты решения. 1

Характеристики производительности. 1

Последовательная производительность IOzone N клиентов для N файлов. 1

Последовательная производительность IOR N клиентов для 1 файла. 1

Производительность произвольных небольших блоков IOzone N клиентов для N файлов. 1

Производительность метаданных с MDtest при использовании файлов размером 4 КиБ. 1

Выводы и планы на будущее. 1

 

Введение

Современные среды HPC предъявляют повышенные требования к высокоскоростному хранилищу, а благодаря большему количеству ЦП, более быстрым сетям и увеличенной памяти хранилище становилось узким местом для многих рабочих нагрузок. Эти высокие требования к HPC обычно покрываются параллельными файловыми системами (PFS), которые обеспечивают одновременный доступ к одному файлу или набору файлов с нескольких узлов, очень эффективно и безопасно распределяя данные по нескольким LUN на нескольких серверах. Эти файловые системы обычно используют вращающиеся носители, чтобы обеспечить максимальную емкость при наименьших затратах. Однако все чаще скорость и задержка вращающихся носителей не могут соответствовать требованиям многих современных рабочих нагрузок HPC, требующих использования флеш-технологий в виде буферов всплесков, более быстрых уровней или даже очень быстрых вспомогательных файловых систем, локальных или распределенных. Dell EMC Ready Solution для хранилищ HPC PixStor использует узлы NVMe в качестве компонента для удовлетворения новых высоких требований к пропускной способности, а также является гибким, масштабируемым, эффективным и надежным.

Архитектура решения

Этот блог является частью серии о решениях на основе параллельной файловой системы (PFS) для сред HPC, в частности о Dell EMC Ready Solution для хранилищ HPC PixStor, где серверы Dell EMC PowerEdge R640 с накопителями NVMe используются в качестве быстрого уровня на базе флеш-технологий.
Решение PixStor PFS включает в себя широко распространенную общую параллельную файловую систему, также известную как Spectrum Scale. ArcaStream также включает множество других программных компонентов, которые обеспечивают расширенную аналитику, упрощенное администрирование и мониторинг, эффективный поиск файлов, расширенные возможности шлюза и многое другое.

Узлы NVMe, представленные в этом блоге, предоставляют очень высокопроизводительный уровень на основе флеш-накопителей для решения PixStor. Производительность и емкость для этого уровня NVMe можно горизонтально масштабировать с помощью дополнительных узлов NVMe. Увеличение емкости обеспечивается путем выбора соответствующих устройств NVMe, поддерживаемых в PowerEdge R640.

На рис. 1 показана эталонная архитектура, изображающая решение с 4 узлами NVMe, использующим модуль часто запрашиваемых метаданных, который обрабатывает все метаданные в тестируемой конфигурации. Причина заключается в том, что в настоящее время эти узлы NVMe использовались в качестве целевых хранилищ только для данных. Однако узлы NVMe также можно использовать для хранения данных и метаданных или даже в качестве более быстрой флеш-альтернативы модулю часто запрашиваемых метаданных, если требования к метаданным становятся экстремальными. Эти конфигурации для узлов NVMe не были протестированы в рамках этой работы, но будут протестированы в будущем.

 

SLN321889_en_US__1image001(8)

Рис. 1. Эталонная архитектура

Компоненты решения

В этом решении используются новейшие масштабируемые процессоры Intel Xeon 2-го поколения, также известные как ЦП Cascade Lake, и самая быстрая доступная оперативная память (2933 млн транзакций в секунду), за исключением узлов управления, чтобы сделать их более экономичными. Кроме того, решение было обновлено до последней версии PixStor (5.1.3.1), поддерживающей RHEL 7.7 и OFED 5.0, которые будут поддерживаемыми версиями программного обеспечения на момент выпуска.

Каждый узел NVMe содержит восемь устройств Dell P4610, настроенных как восемь устройств RAID 10 на паре серверов, используя решение NVMe over Fabrics, которое обеспечивает резервирование данных не только на уровне устройств, но и на уровне сервера. Кроме того, когда какие-либо данные поступают в одно из этих устройств RAID10 или выходят из них, используются все 16 накопителей на обоих серверах, что увеличивает пропускную способность доступа ко всем накопителям. Поэтому единственным ограничением для этих компонентов является то, что они должны продаваться и использоваться парами. В этом решении можно использовать все накопители NVMe, поддерживаемые сервером PowerEdge R640, однако P4610 имеет последовательную пропускную способность 3200 Мбайт/с для операций чтения и записи, а также высокие характеристики произвольных операций ввода-вывода, что полезно при попытке масштабировать количество пар, необходимых для соответствия требованиям этого уровня флеш-памяти.

Каждый сервер R640 оснащен двумя однопортовыми адаптерами HCA Mellanox ConnectX-6 VPI HDR100, которые используются в качестве подключений IB EDR 100 Гбит/с. Однако узлы NVMe готовы поддерживать скорость HDR100 при использовании с кабелями и коммутаторами HDR. Тестирование HDR100 на этих узлах отложено в рамках обновления HDR100 для всего решения PixStor. Оба интерфейса CX6 используются для синхронизации данных для RAID 10 (NVMe over Fabrics) и в качестве возможности подключения для файловой системы. Кроме того, они обеспечивают резервирование оборудования на адаптере, порте и кабеле. Для резервирования на уровне коммутатора требуются двухпортовые адаптеры VPI CX6, но их необходимо приобрести в качестве компонентов S&P.
Для получения характеристик производительности узлов NVMe в системе, показанной на рис. 1, использовались только модуль часто запрашиваемых метаданных и узлы NVMe.

В таблице 1 приведен список основных компонентов для решения. Из списка накопителей, поддерживаемых в ME4024, SSD 960 Гбайт использовались для определения характеристик производительности, а более быстрые накопители могут обеспечить более точное количество произвольных операций ввода-вывода в секунду и могут улучшить операции создания и удаления метаданных. Для узлов NVMe будут поддерживаться все устройства NVMe, поддерживаемые в PowerEdge R640.

Таблица 1. Компоненты, которые будут использоваться на момент выпуска и на тестовых стендах

Компонент решения

На момент выпуска

Возможность внутреннего подключения

Dell Networking S3048-ON Gigabit Ethernet

Подсистема для хранения данных

От 1 до 4 Dell EMC PowerVault ME4084

От 1 до 4 Dell EMC PowerVault ME484 (по одному на ME4084)
80–12 Тбайт, жесткие диски 3.5" NL SAS3
Варианты 900 Гбайт при 15K, 1,2 Тбайт при 10K, 1,8 Тбайт при 10K, 2,4 Тбайт при 10K,
4 Тбайт NLS, 8 Тбайт NLS, 10 Тбайт NLS, 12 Тбайт NLS.
    8 LUN, линейная схема 8+2 RAID 6, размер блока 512 КиБ.
4 SSD SAS3 1,92 ТБ для метаданных — 2 набора RAID 1 (или 4 глобальных запасных жестких диска, если используется дополнительный модуль часто запрашиваемых метаданных)

Дополнительная подсистема хранения часто запрашиваемых метаданных

От 1 до 2 Dell EMC PowerVault ME4024 (4 ME4024, только большая конфигурация)
24 2,5" SSD SAS3 емкостью 960 Гбайт (варианты: 480 Гбайт, 960 Гбайт, 1,92 Тбайт)
   12 LUN, линейный RAID 1.

Контроллеры RAID-хранилища

SAS 12 Гбит/с

Процессор

Узлы NVMe

2 процессора Intel Xeon Gold 6230 2.1G, 20 ядер/40 потоков
10,4 ГТ/с, кэш 27,5 Мбайт, режим Turbo, режим HT (125 Вт) DDR4-2933

Часто запрашиваемые метаданные

Узел хранения

Узел управления

2 процессора Intel Xeon Gold 5220 2,2 ГГц, 18 ядер/36 потоков
10,4 ГТ/с, кэш 24,75 Мбайт, режим Turbo, режим HT (125 Вт) DDR4-2666

Память

Узлы NVMe

12 модулей RDIMM 16 ГиБ 2933 МТ/с (192 ГиБ)

Часто запрашиваемые метаданные

Узел хранения

Узел управления

12 модулей DIMM 16 Гбайт 2666 МТ/с (192 ГиБ)

Операционная система

CentOS 7.7

Версия ядра

3.10.0-1062.12.1.el7.x86_64

Программное обеспечение PixStor

5.1.3.1

Программное обеспечение файловой системы

Spectrum Scale (GPFS) 5.0.4-3 с NVMesh 2.0.1

Высокопроизводительные возможности подключения к сети

Узлы NVMe: 2 порта ConnectX-6 InfiniBand с использованием EDR/100 GbE
Другие серверы: Mellanox ConnectX-5 InfiniBand EDR/100 GbE и 10 GbE

Высокопроизводительный коммутатор

2 коммутатора Mellanox SB7800

Версия OFED

Mellanox OFED 5.0-2.1.8.0

Локальные диски (ОС и анализ/мониторинг)

Все серверы, кроме указанных                Узлы NVMe

3 SSD 480 Гбайт SAS3 (RAID1 + HS) для ОС 3 SSD 480 Гбайт SAS3 (RAID1 + HS) для ОС

RAID-контроллер PERC H730P                  RAID-контроллер PERC H740P

Узел управления

3 SSD 480 Гбайт SAS3 (RAID1 + HS) для ОС с RAID-контроллером PERC H740P

Управление системами

iDRAC 9 Enterprise + DellEMC OpenManage

 

Характеристики производительности

Для определения характеристик этого нового компонента Ready Solution использовались следующие эталонные тесты:

 ·       Последовательный IOzone N для N
 
·       Последовательный IOR N для 1
 
·       Произвольный IOzone
 
·       MDtest

Для всех указанных выше эталонных тестов на тестовом стенде использовались клиенты, описанные в таблице 2 ниже. Поскольку количество вычислительных узлов, доступных для тестирования, составляло всего 16, когда требовалось большее количество потоков, эти потоки равномерно распределялись по вычислительным узлам (т. е. 32 потока = 2 потока на узел, 64 потока = 4 потока на узел, 128 потоков = 8 потоков на узел, 256 потоков =16 потоков на узел, 512 потоков = 32 потока на узел, 1024 потока = 64 потока на узел). Целью было моделирование большего количества одновременно работающих клиентов с ограниченным количеством доступных вычислительных узлов. Поскольку некоторые эталонные тесты поддерживают большое количество потоков, использовалось максимальное значение до 1024 (указанное для каждого теста), избегая влияния чрезмерного переключения контекста и других связанных побочных эффектов на результаты производительности.

 

Таблица 2. Тестовый стенд для клиентов

Количество клиентских узлов

16

Клиентский узел

C6320

Процессоров на клиентский узел

2 процессора Intel(R) Xeon(R) Gold E5-2697v4, 18 ядер, тактовая частота 2,3 ГГц

Объем памяти на клиентский узел

8 модулей RDIMM 16 ГиБ 2400 млн транзакций в секунду (128 ГиБ)

BIOS

2.8.0

Ядро OS

3.10.0-957.10.1

Программное обеспечение файловой системы

Spectrum Scale (GPFS) 5.0.4-3 с NVMesh 2.0.1

 

Последовательная производительность IOzone N клиентов для N файлов

Производительность последовательных клиентов N для N файлов измерялась с помощью IOzone версии 3.487. Выполняемые тесты варьировались от одного потока до 1024 потоков, увеличиваясь по степени числа 2.

Эффекты кэширования на серверах были сведены к минимуму путем настройки пула страниц GPFS на 16 ГиБ и использования файлов, размер которых в два раза превышает этот размер. Важно отметить, что для настраиваемых GPFS устанавливается максимальный объем памяти, используемый для кэширования данных, независимо от объема установленной и свободной оперативной памяти. Кроме того, важно отметить, что в предыдущих решениях DellEMC для высокопроизводительных вычислений размер блоков для больших последовательных передач составляет 1 МиБ, GPFS был отформатирован с использованием блоков по 8 МиБ, и поэтому это значение используется в эталонном тесте для оптимальной производительности. Оно может выглядеть слишком большим, и, по-видимому, занимает слишком много места, но GPFS использует распределение подблоков для предотвращения этой ситуации. В текущей конфигурации каждый блок был разделен на 256 подблоков по 32 КиБ каждый.

Следующие команды были использованы для выполнения эталонного теста операций чтения и записи, где значение $Threads было переменной с количеством используемых потоков (от 1 до 1024, увеличивалось по степени числа 2), а файл threadlist использовался для распределения каждого потока на разные узлы методом циклического перебора для равномерного распределения потоков между 16 вычислительными узлами.

Чтобы исключить любые возможные эффекты кэширования данных от клиентов, размер данных в файлах был в два раза больше общего объема оперативной памяти в используемых клиентах. То есть, поскольку каждый клиент имеет 128 ГиБ ОЗУ, для количества потоков, равного или превышающего 16, размер файла составлял 4096 ГиБ, разделенных на количество потоков (для управления этим значением использовалась переменная $Size ниже). В случаях с менее 16 потоками (что означает, что каждый поток выполнялся на отдельном клиенте) размер файла был установлен в два раза больше объема памяти на клиент, то есть 256 ГиБ.

iozone -i0 -c -e -w -r 8M -s $ G -t $Threads -+n -+m ./threadlist
iozone -i1 -c -e -w -r 8M -s $ G -t $Threads -+n -+m ./threadlist

SLN321889_en_US__2image002(1)

Рис. 2. Последовательная производительность N для N

В результатах можно заметить, что производительность записи увеличивается с увеличением количества используемых потоков, а затем достигает плато около 64 потоков для операций записи и 128 потоков для операций чтения. Затем производительность чтения также быстро возрастает с количеством потоков, а далее остается стабильной до достижения максимального количества потоков, разрешенного IOzone, поэтому последовательная производительность больших файлов стабильна даже для 1024 параллельных клиентов. Производительность записи снижается примерно на 10% при 1024 потоках. Однако, поскольку в клиентском кластере меньше указанного количества ядер, неизвестно, связано ли снижение производительности с заменой и аналогичными издержками, которые не наблюдаются на вращающихся носителях (поскольку задержка NVMe очень низкая по сравнению с вращающимся носителем), или же синхронизация данных RAID 10 становится узким местом. Для уточнения этого момента требуется больше клиентов. Аномалия операций чтения наблюдалась в 64 потоках, когда производительность не масштабировалась со скоростью, наблюдаемой для предыдущих точек данных, а затем в следующей точке данных перемещалась к значению, очень близкому к устойчивой производительности. Для поиска причины такой аномалии требуется дополнительное тестирование, но это не входит в сферу охвата этого блога.

Максимальная производительность чтения для операций чтения была ниже теоретической производительности устройств NVMe (~102 Гбайт/с) или производительности каналов EDR, даже если предположить, что один канал в основном используется для трафика NVMe over Fabrics (4 EDR BW ~96 Гбайт/с).
Однако это не удивительно, так как конфигурация оборудования не сбалансирована по отношению к устройствам NVMe и HCA IB в каждом сокете ЦП. Один адаптер CX6 находится под CPU1, а CPU2 содержит все устройства NVMe и второй адаптер CX6. Любой трафик хранилища, использующий первый HCA, должен использовать UPI для доступа к устройствам NVMe. Кроме того, любое ядро в используемом CPU1 должно получать доступ к устройствам или памяти, назначенным CPU2, поэтому страдает локальность данных и используются ссылки UPI. Это может объяснить снижение максимальной производительности по сравнению с максимальной производительностью устройств NVMe или скоростью линии для HCA CX6. Альтернативой исправлению этого ограничения является сбалансированная конфигурация оборудования, которая подразумевает снижение плотности до половины за счет использования R740 с четырьмя разъемами x16 и использования двух расширителей PCIe x16 для равномерного распределения устройств NVMe на двух ЦП и наличия одного HCA CX6 под каждым ЦП.

Последовательная производительность IOR N клиентов для 1 файла

Последовательная производительность клиентов N для одного общего файла измерялась с помощью IOR версии 3.3.0, а также OpenMPI v4.0.1 для выполнения теста на 16 вычислительных узлах. Выполняемые тесты варьировались от одного потока до 512 потоков, так как не было достаточно ядер для 1024 и более потоков. В этом эталонном тесте для оптимальной производительности использовались блоки по 8 МиБ. В предыдущем разделе тестирования производительности приведено более полное объяснение того, почему это важно.

Эффекты кэширования данных были сведены к минимуму за счет установки для пула страниц GPFS значения 16 ГиБ, а общий размер файла в два раза превышал общий объем ОЗУ в используемых клиентах. То есть, поскольку каждый клиент имеет 128 ГиБ ОЗУ, для количества потоков, равного или превышающего 16, размер файла составлял 4096 ГиБ, и это общее количество было разделено на количество потоков (для управления этим значением использовалась переменная $Size ниже). В случаях с менее 16 потоками (что означает, что каждый поток выполнялся на отдельном клиенте) размер файла был в два раза больше объема памяти на клиент, умноженного на количество потоков, или, другими словами, каждому потоку было предложено использовать 256 ГиБ.

Следующие команды были использованы для выполнения эталонного теста операций чтения и записи, где значение $Threads было переменной с количеством используемых потоков (от 1 до 1024, увеличивалось по степени числа 2), а файл my_hosts.$Threads использовался для распределения каждого потока на разные узлы методом циклического перебора для равномерного распределения потоков между 16 вычислительными узлами.

mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -w -s 1 -t 8m -b $ G

mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -r -s 1 -t 8m -b $ G

 

SLN321889_en_US__3image003(5)

Рис. 3. Последовательная производительность N для 1

В результатах можно наблюдать высокую производительность чтения и записи независимо от неявной необходимости в механизмах блокировки, так как все потоки получают доступ к одному файлу. Производительность снова повышается очень быстро вместе с количеством используемых потоков, а затем достигает плато относительно стабильной производительности чтения и записи до максимального количества потоков, используемых в этом тесте. Обратите внимание, что максимальная производительность чтения составляла 51,6 Гбайт/с при 512 потоках, но плато производительности достигается примерно при 64 потоках. Аналогичным образом обратите внимание, что максимальная производительность записи 34,5 Гбайт/с достигалась при 16 потоках и достигала плато, которое можно наблюдать до максимального количества используемых потоков.

Производительность произвольных небольших блоков IOzone N клиентов для N файлов

Произвольная производительность клиентов N для N файлов измерялась с помощью IOzone версии 3.487. Выполняемые тесты варьировались от одного потока до 1024 потоков, увеличиваясь по степени числа 2.

Выполняемые тесты варьировались от одного потока до 512 потоков, так как не было достаточно ядер клиента для 1024 потоков. Каждый поток использовал отдельный файл, и потоки назначались клиентским узлам методам циклического перебора. В этих эталонных тестах использовались блоки по 4 КиБ для эмуляции трафика небольших блоков с глубиной очереди 16. Сравниваются результаты решения большого размера и расширения емкости.

Эффекты кэширования были снова сведены к минимуму за счет установки для пула страниц GPFS значения 16 ГиБ, и чтобы исключить любые возможные эффекты кэширования данных от клиентов, размер данных в файлах был в два раза больше общего объема оперативной памяти в используемых клиентах. То есть, поскольку каждый клиент имеет 128 ГиБ ОЗУ, для количества потоков, равного или превышающего 16, размер файла составлял 4096 ГиБ, разделенных на количество потоков (для управления этим значением использовалась переменная $Size ниже). В случаях с менее 16 потоками (что означает, что каждый поток выполнялся на отдельном клиенте) размер файла был установлен в два раза больше объема памяти на клиент, то есть 256 ГиБ.

iozone -i0 -I -c -e -w -r 8M -s $ G -t $Threads -+n -+m ./nvme_threadlist                                     <= Create the files sequentially
iozone -i2 -I -c -O -w -r 4k -s $ G -t $Threads -+n -+m ./nvme_threadlist                                      <= Perform the random reads and writes.

 

SLN321889_en_US__4image004(1)

Рис. 4. Произвольная производительность N для N

По результатам можно заметить, что производительность записи начинается с высокого значения 6 тыс. IOPS и стабильно увеличивается до 1024 потоков, где, по-видимому, достигается плато с более чем 5 млн IOPS, если можно использовать больше потоков. С другой стороны, производительность чтения начинается с 5 тыс. IOPS и стабильно повышается с количеством используемых потоков (помните, что количество потоков удваивается для каждой точки данных) и достигает максимальной производительности 7,3 млн IOPS при 1024 потоках без признаков приближения к плато. При использовании большего количества потоков требуется более 16 вычислительных узлов, чтобы избежать нехватки ресурсов и излишней замены, что может привести к снижению видимой производительности, когда узлы NVMe могут поддерживать производительность.

Производительность метаданных с MDtest при использовании файлов размером 4 КиБ

Производительность обработки метаданных измерялась с помощью MDtest версии 3.3.0 с поддержкой OpenMPI v4.0.1 для выполнения теста производительности на 16 вычислительных узлах. Выполняемые тесты варьировались от одного потока до 512 потоков. Эталонный тест использовался только для файлов (без метаданных каталогов), получая количество созданий, статистики, операций чтения и удаления, которые может обрабатывать решение, а результаты сравнивались с решением большого размера.

Использовался опциональный модуль часто запрашиваемых метаданных, но с одним массивом ME4024, даже если для большой конфигурации и протестированной в ходе этой работы было назначено два модуля ME4024. Причина использования этого модуля метаданных заключается в том, что в настоящее время эти узлы NVMe используются в качестве целевых хранилищ только для данных. Однако узлы можно использовать для хранения данных и метаданных или даже в качестве альтернативы флеш-памяти для модуля часто запрашиваемых метаданных, если требования к метаданным становятся экстремальными. Такие конфигурации не были протестированы в рамках этой работы.

Поскольку тот же модуль часто запрашиваемых метаданных использовался для предыдущей сравнительной оценки решения DellEMC Ready Solution для хранилища HPC PixStor, результаты метаданных будут очень похожи на результаты в предыдущих блогах. По этой причине исследования с пустыми файлами не проводились, и вместо этого использовались файлы размером 4 КиБ. Поскольку файлы 4 КиБ не могут поместиться в индексный дескриптор вместе с информацией о метаданных, узлы NVMe будут использоваться для хранения данных для каждого файла. Поэтому MDtest может дать общее представление о производительности небольших файлов для операций чтения и остальных операций метаданных.

Следующая команда была использована для выполнения эталонного теста, где значение $Threads было переменной с количеством используемых потоков (от 1 до 512, увеличивалось по степени числа 2), а файл my_hosts.$Threads использовался для распределения каждого потока на разные узлы методом циклического перебора для равномерного распределения потоков между 16 вычислительными узлами. Как и в эталонном тесте произвольных операций ввода-вывода, максимальное количество потоков было ограничено 512, поскольку для 1024 потоков недостаточно ядер, и переключение контекста повлияет на результаты: в отчете будет указано значение меньше реальной производительности решения.

mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 4K -e 4K

Поскольку на результаты производительности может влиять общее количество IOPS, количество файлов в каталоге и количество потоков, было принято решение использовать фиксированное общее количество файлов 2 МиБ (2^21 = 2097152), фиксированное количество файлов в каталоге: 1024, количество каталогов варьировалось по мере изменения количества потоков, как показано в таблице 3.

Таблица 3. MDtest: распределение файлов в каталогах

Количество потоков

Количество каталогов на поток

Общее количество файлов

1

2048

2 097 152

2

1024

2 097 152

4

512

2 097 152

8

256

2 097 152

16

128

2 097 152

32

64

2 097 152

64

32

2 097 152

128

16

2 097 152

256

8

2 097 152

512

4

2 097 152

 

SLN321889_en_US__5image005(5)

Рис. 5. Производительность метаданных — файлы 4 КиБ

В первую очередь обратите внимание, что выбрана логарифмическая шкала с основанием 10, что позволяет сравнивать операции, различающиеся на несколько порядков; в противном случае некоторые операции будут выглядеть как плоская линия, близкая к 0, при линейном масштабировании. График журнала с основанием 2 может быть более подходящей, так как количество потоков увеличивается по степени числа 2, но график будет выглядеть очень похоже, и люди склонны лучше обрабатывать и запоминать числа на основе степеней числа 10.

Система получает очень хорошие результаты, как сообщалось ранее, при достижении пикового значения операций статистики при 64 потоках с почти 6,9 млн операций в секунду, а затем снижается для достижения плато более высокого количества потоков. Операции создания достигают максимума 113 тыс. операций в секунду при 512 потоках, поэтому ожидается, что они будут продолжать увеличиваться при использовании большего количества клиентских узлов (и ядер). Операции чтения и удаления достигли максимума при 128 потоках, достигая пика почти 705 тыс. операций в секунду для операций чтения и 370 тыс. операций в секунду для операций удаления, а затем достигают плато. Операции STAT различаются сильнее, но после достижения пикового значения производительность не падает ниже 3,2 млн операций в секунду для операций STAT. Операции создания и удаления более стабильны, когда они достигают плато и остаются выше 265 тыс. операций в секунду для удаления и 113 тыс. операций в секунду для создания. Наконец, операции чтения достигают плато с производительностью выше 265 тыс. операций в секунду.

 

Выводы и планы на будущее

Узлы NVMe являются важным дополнением к решению для хранения данных HPC, которое обеспечивает очень высокопроизводительный уровень с хорошей плотностью, высокой производительностью произвольного доступа и очень высокой последовательной производительностью. Кроме того, решение линейно масштабируется по емкости и производительности по мере добавления дополнительных модулей узлов NVMe. Производительность узлов NVMe можно просмотреть в таблице 4, ожидается, что она будет стабильной, и эти значения можно использовать для оценки производительности для другого количества узлов NVMe.
Однако помните, что каждая пара узлов NVMe будет обеспечивать половину любого числа, указанного в таблице 4.
Это решение предоставляет заказчикам HPC очень надежную параллельную файловую систему, используемую многими кластерами HPC из списка Top 500. Кроме того, оно предоставляет исключительные возможности поиска, расширенные возможности мониторинга и управления, а также дополнительные шлюзы, позволяющие предоставлять общий доступ к файлам с помощью распространенных стандартных протоколов, таких как NFS, SMB и другие, по мере необходимости.

Таблица 4. Максимальная и стабильная производительность для 2 пар узлов NVMe

 

Пиковая производительность

Стабильная производительность

Запись

Чтение

Запись

Чтение

Крупные последовательные операции N клиентов для N файлов

40,9 Гбайт/с

84,5 Гбайт/с

40 Гбайт/с

81 Гбайт/с

Крупные последовательные операции N клиентов для одного общего файла

34,5 Гбайт/с

51,6 Гбайт/с

31,5 Гбайт/с

50 Гбайт/с

Произвольные операции с небольшими блоками N клиентов для N файлов

5,06 млн IOPS

7,31 млн IOPS

5 млн IOPS

7,3 млн IOPS

Метаданные: создание файлов 4 КиБ

113 тыс. IOPS

113 тыс. IOPS

Метаданные: операция Stat для файлов 4 КиБ

6,88 млн. IOPS

3,2 млн IOPS

Метаданные: чтение файлов 4 КиБ

705 тыс. IOPS

500 тыс. IOPS

Метаданные: удаление файлов 4 КиБ

370 тыс. IOPS

265 тыс. IOPS

 

Поскольку узлы NVMe использовались только для данных, возможная будущая работа может включать их использование для данных и метаданных и содержать автономный уровень на основе флеш-накопителей с более высокой производительностью метаданных из-за более высокой пропускной способности и более низкой задержки устройств NVMe по сравнению с SSD SAS3 за RAID-контроллерами. Кроме того, если у заказчика чрезвычайно высокие требования к метаданным и он требует решения более плотного, чем может обеспечить модуль часто запрашиваемых метаданных, некоторые или все распределенные устройства RAID 10 можно использовать для метаданных так же, как устройства RAID 1 на ME4024 используются в настоящее время.
Еще один блог, который скоро будет опубликован, будет описывать характеристики узлов PixStor Gateway, которые позволяют подключать решение PixStor к другим сетям с помощью протоколов NFS или SMB и могут горизонтально масштабировать производительность. Кроме того, в ближайшее время решение будет обновлено до HDR100, и ожидается, что в другом блоге будет обсуждаться эта работа.

 

Affected Products

High Performance Computing Solution Resources
Article Properties
Article Number: 000130558
Article Type: Solution
Last Modified: 21 Feb 2021
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.