SATA в контексте AMD EPYC Rome

Интерфейс SATA исхожен, а про­цес­со­ры се­мей­ст­ва AMD EPYC Rome — нет. Да­же ес­ли пред­ло­же­ние стро­ить дис­ко­вое про­ст­ран­ст­во на Serial ATA вы­гля­дит так се­бе, то знать о про­из­во­ди­тель­нос­ти на­ко­пи­те­лей в эко­сис­те­ме EPYC Rome по­лез­но. За­пол­ним эту ни­шу съе­мом бенч­ма­рок на твер­до­тель­ном уст­рой­ст­ве Ultra­star SA210 про­из­вод­ст­ва West­­ern Di­gi­tal. В ка­че­ст­ве тес­то­вой плат­фор­мы бу­дем ис­поль­зо­вать сер­вер­ную ма­те­рин­скую пла­ту KRPA-U16 от ASUS, ос­на­щен­ную 32-ядер­ным про­цес­со­ром AMD EPYC 7452. Па­мя­ти на ней бу­дет мно­го: 16 мо­ду­лей King­ston DDR4-2933, за­ни­мая все DIMM-сло­ты, в со­во­куп­нос­ти да­дут 512 ГБ ОЗУ. Про­грам­мное обес­пе­че­ние свое — ути­ли­та NIOBench по­ка­жет, на что спо­со­бен сер­вер­ный SSD от Western, по­ст­ро­ен­ный на 64-слойных TLC-компонентах 3D NAND.

Упреждающее чтение и отложенная запись

Устойчиво высокие скорости чтения и записи, по­лу­чен­ные в асин­хрон­ном сце­на­рии тес­ти­ро­ва­ния, логично объ­яс­нить огромным объемом ОЗУ платформы, которого в теории достаточно для кэ­ши­ро­ва­ния всех дан­ных из­ме­ри­тель­ной сес­сии.

Итоговый экран тестирования SSD-накопителя Ultrastar SA210 в асинхронном сценарии NIOBench

 

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

Динамические показатели скорости чтения и записи накопителя Ultrastar SA210 HBS3A1924A4M4B1 в асинхронном тесте NIOBench

 

На фоне «космических» значений производительности в операциях чтения и записи, скромные ха­рак­те­рис­ти­ки ко­пи­ро­ва­ния было решено не включать в итоговый график, построенный по данным рапорта NIOBench. При­зем­лен­ность этой операции хорошо коррелирует с ее повторением в нативном сценарии.

SATA-интерфейс в нативном свете

Нативный тест NIOBench, используя опции WinAPI максимально подавляет инициативы операционной сис­те­мы, к ко­то­рым располагает огромный объем оперативной памяти платформы: кэширование, отложенную за­пись и уп­реж­да­ю­щее чтение. Подчеркнем, что те же формы оптимизации, выполняемые встроенным про­цес­со­ром SSD устройства, ос­но­ван­ные на ис­поль­зо­ва­нии его вну­т­рен­него бу­фер­но­го ОЗУ, на­хо­дя­тся вне кон­т­ро­ля нативного теста и оп­ре­де­ля­ют­ся внут­рен­ней ми­кро­про­грам­мой на­ко­пи­те­ля и его низ­ко­у­ров­не­вым драй­ве­ром, работающим на уровне яд­ра опе­ра­ци­он­ной сис­те­мы.

Итоговый экран тестирования SSD-накопителя Ultrastar SA210 в нативном сценарии NIOBench

 

Неплохой иллюстрацией возможностей серверного накопителя Ultrastar SA210 стали стабильные результаты чте­ния и за­пи­си. Доминирования скоростных характеристик записи над чтением, как это с недавних пор бы­ва­ет в поль­зо­ва­тель­ских SSD, мы не наблюдаем. Что, впрочем, не отменяет реализацию SLC-кэширования в SATA-дисках от Western Digital: вли­я­ние ди­на­ми­че­ской акселерации записи проявляется в большей мере в ско­рост­ных NVMe. Уступая ему по про­из­во­ди­тель­но­с­ти, Serial ATA сегодня становится «тихоходом».

Динамические показатели скорости чтения, записи и копирования накопителя Ultrastar SA210 HBS3A1924A4M4B1 в нативном тесте NIOBench

 

Результат нативного теста закономерен: полученные оценки определяются ап­па­рат­ной про­из­во­ди­тель­но­стью уст­рой­ст­ва и сравнимы с теоретическим пределом для третьего поколения интерфейса SATA (около 600 MBPS). Опе­ра­ция ко­пи­ро­ва­ния здесь примерно вдвое уступает по скорости операциям чтения и записи, по­сколь­ку пред­по­ла­га­ет по­сле­до­ва­тель­ное выполнение чтения и записи.

Резюме

Для серверов и рабочих станций с большим объемом оперативной памяти, сравнимым (а иногда и пре­вы­ша­ю­щим!) объ­ем mass storage устройства, на первый план выходят вопросы оптимального построения ме­ха­низ­мов бу­фе­ри­за­ции и кэ­ши­ро­ва­ния в рамках ОС, а также грамотная настройка этих механизмов сис­тем­ным администратором.