Введение
Мы готовили новую тестовую платформу для накопителей, которая заменила бы нашу стареющую систему, когда заметили странную особенность: топовый твёрдотельный накопитель SSD Intel X25-E обеспечивал меньше пропускной способности на нашей новой тестовой системе, чем на старой. У нас ушло несколько дней, прежде чем мы смогли выявить проблему, и то, что мы обнаружили, достойно отдельной статьи, поскольку перед нами первое практическое ограничение SSD на флэш-памяти. Если быть кратким, то вы не получите максимальной производительности, если будете в полной мере использовать функции энергосбережения процессора и платформы.
Мы решили исследовать эту проблему, включая и отключая разные функции энергосбережения на двух материнских платах на X58 от Gigabyte и Supermicro.
Нажмите на картинку для увеличения.
Обновление эталонной тестовой платформы для накопителей
Мы используем нашу эталонную тестовую платформу Xeon для накопителей уже больше четырёх лет, однако это позволило сравнивать результаты тестов накопителей и контроллеров после начала использования этой системы. Все тесты жёстких дисков, такие как недавнее сравнение “бюджетных” моделей на 500 Гбайт, анализ влияния на производительность короткого рабочего хода или снижение уровня шума жёстких дисков, были проведены на этой платформе. Она использует одноядерные процессоры Intel Xeon на ядре Nocona, работающие на частоте 3,6 ГГц с кэшем L2 1 Мбайт (поколение Prescott) на серверной платформе E7520, которая стала первой, предложившей PCI-X и PCI Express. У данной системы устарела как платформа, так и контроллер накопителей Promise SATA 300TX4, поэтому мы решили перейти на материнскую плату Supermicro X8SAX с процессором Core i7 920.
Проблема: старые результаты производительности
Новая система быстрая, она оснащена последним южным мостом Intel ICH10R. Но его пропускная способность с самым быстрым накопителем SATA – новым SSD корпоративного уровня Intel X25-E – была ниже, чем у нашей старой тестовой системы. Вместо достижения 200 Мбайт/с, на новой системе Core i7 мы получили 182 Мбайт/с.
Здесь мы хотели бы подчеркнуть, что X25-E способен давать пропускную способность на уровне 230 Мбайт/с, на нашей старой системе накопитель тоже был ограничен 200 Мбайт/с из-за производительности контроллера. Поскольку все наши тесты проводились на этом контроллере, то результаты были всегда сравнимы, но такое падение производительности заставило поломать голову.
Изолируем причину
Обновление BIOS от Supermicro так и не решило описанную проблему, поэтому мы решили начать анализ, взяв вторую материнскую плату. Ею стала Gigabyte EX58-UD4P. Мы хотели понять, связана проблема или нет с материнской платой Supermicro. Она не была причиной, поскольку пропускная способность на материнской плате Gigabyte X58 тоже была ограничена. Мы смогли получить максимальную пропускную способность чтения 186 Мбайт/с – чуть лучше, но всё равно не на предполагаемом максимуме 230 Мбайт/с. Мы пошли дальше и отключили все ненужные компоненты и функции BIOS, и в какой-то момент мы натолкнулись на причину проблемы: “узкое место” появлялось, когда мы начинали использовать функции энергосбережения платформы и процессора.
Функции энергосбережения снижают пропускную способность
Разница в производительности накопителей между старой и новой тестовыми системами не была существенной, но с учётом того, что SSD Intel X25-E способен работать ещё на 15% быстрее полученного уровня, а южный мост ICH10R намного быстрее нашего старого контроллера Promise SATA 300TX4, мы начали исследовать проблему. Мы также нашли в Интернете сообщения о проблемах производительности X58 и ICH10R, например, в ветке форума Xtreme Systems. Всё началось с проблемами пропускной способности RAM-накопителя Acard ANS-9010 на материнской плате Asus P6T X58. Накопитель Acard ещё быстрее, чем SSD от Intel, использованный нами, поскольку он построен на оперативной памяти SDRAM.
Для тестов мы использовали Intel X25-E, который является самым быстрым накопителем SSD, доступным сегодня. Нажмите на картинку для увеличения.
Мы не проверяли другие SSD-накопители помимо Intel X25-E SSD, но мы рекомендуем отключать все опции энергосбережения, если вы сталкиваетесь с проблемами непостоянной пропускной способности SATA. Мы уверены, что это не проблема Asus или Intel, просто подобные “узкие места” возникают из-за усилий по экономии энергии.
Виноваты алгоритмы уменьшения износа и усиления записи?
Изначально нам казалось, что проблемы связаны с алгоритмами уменьшения износа или другими технологиями, связанными с природой накопителей на флэш-памяти. Алгоритм уменьшения износа позволяет гарантировать, что все ячейки флэш-памяти используются в равной степени, чтобы максимально продлить срок службы накопителя. Не будем забывать, что у ячеек флэш-памяти ограниченное количество циклов записи. Другие проблемы являются следствием эффекта под названием “усиление записи” (write amplification), при котором записывается большое количество избыточных данных. Дело в том, что флэш-память должна записываться блоками, и если вам нужно сохранить даже очень маленький кусочек информации (намного меньше блока), то накопителю придётся переписывать весь блок целиком (стирая его и записывая).
Проблема становится ещё более сложной, если учесть, что SSD Intel построен на отдельных десяти каналах флэш-памяти, и что физическое расположение данных на SSD не имеет ничего общего с файловой системой, с которой работает ОС. В случае SSD на флэш-памяти, последовательная пропускная способность на самом деле не последовательная, а фрагментация является проблемой не на уровне файловой системы, а на физическом уровне. Есть и последствия в виде хорошо известных проблем, которые возникают при переключении нагрузки с интенсивными операциями ввода/вывода на последовательное чтение или запись (и обратно). Контроллерам при этом необходимо настроиться на тип нагрузки, учитывая алгоритмы уменьшения износа и усиления записи, но обеспечивая максимальную производительность.
Однако данные технологии не стали причиной проблем в нашем анализе производительности. Мы несколько раз повторно использовали утилиту Secure Erase от CMRR, чтобы “сбросить” Intel X25-E SSD для достижения высокой пропускной способности и удаления существующего “мусора” данных (мы рекомендуем использовать эту утилиту, если у вас возникают проблемы производительности SSD).
Тестовые платформы
Мы провели тесты на двух конфигурациях, которые были технически идентичными за исключением материнской платы: сначала мы протестировали материнскую плату Gigabyte EX58-UD4P, а во второй конфигурации – Supermicro X8SAX. Во время первого прогона мы включили все механизмы энергосбережения (для процессора и платформы), после чего мы отключали их один за другим при последующих прогонах. Мы даже отключили технологию виртуализации во время шестого прогона, чтобы проверить, даёт ли какое-либо влияние на производительность данная функция. Как вы увидите ниже, все функции энергосбережения дают измеряемое (и иногда даже очень заметное) влияние на производительность SSD X25-E.
Gigabyte EX58-UD4P | Прогон 1 | Прогон 2 | Прогон 3 | Прогон 4 | Прогон 5 | Прогон 6 |
Intel Turbo Boost | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. |
CPU Cores Enabled | Все | Все | Все | Все | Все | Все |
CPU Multi-Threading | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. |
CPU Enhanced Halt (C1E) | Вкл. | Вкл. | Вкл. | Выкл. | Выкл. | Выкл. |
C3/C6/C7 | Вкл. | Выкл. | Выкл. | Выкл. | Выкл. | Выкл. |
CPU Thermal Monitor | Вкл. | Вкл. | Выкл. | Выкл. | Выкл. | Выкл. |
CPU EIST | Вкл. | Вкл. | Вкл. | Вкл. | Выкл. | Выкл. |
Virtualization Technology | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Выкл. |
Bi-Directional PROCHOT | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. |
План электропитания Vista | Высокая производительность |
Supermicro X8SAX | Прогон 1 | Прогон 2 | Прогон 3 | Прогон 4 | Прогон 5 | Прогон 6 |
EIST | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. |
C1E | Вкл. | Вкл. | Вкл. | Выкл. | Выкл. | Выкл. |
VT | Вкл. | Вкл. | Вкл. | Вкл. | Вкл. | Выкл. |
Intel C-State Tech | Вкл. | Вкл. | Выкл. | Выкл. | Выкл. | Выкл. |
ActiveState Power Management | Вкл. | Выкл. | Выкл. | Выкл. | Выкл. | Выкл. |
План электропитания Vista | Высокая производительность |
Системное аппаратное обеспечение | |
CPU | Intel Core i7-920 (45 нм, 2,66 ГГц, 8 Мбайт кэша L2) |
Материнская плата (Socket 1366) | Gigabyte EX58-UD4P, Revision: 1.0, чипсет: Intel X58 + ICH10R, Bios: F5 |
Материнская плата II (Socket 1366) | Supermicro X8SAX, Revision: 1.0, чипсет: Intel X58 + ICH10R, Bios: 1.0B |
Память | 2 Гбайт DDR3-1333 Corsair CM3X1024-1333C9DHX |
Системный жёсткий диск | Seagate NL35, 400 Гбайт, ST3400832NS, 7200 об/мин, SATA/150, кэш 8 Мбайт |
Блок питания | OCZ EliteXstream 800 ВТ, OCZ800EXS-EU |
Тесты | |
Измерение производительности | h2benchw 3.12 |
Системное ПО и драйверы | |
Операционная система | Windows Vista Ultimate SP1 |
Драйверы чипсета Intel | 9.1.0.1007 |
Видеокарта AMD | ATI Catalyst 8.12 |
Драйвер Intel Matrix Storage | 8.7.0.1007 |
Gigabyte EX58-UD4P
Нажмите на картинку для увеличения.
Supermicro X8SAX
Нажмите на картинку для увеличения.
Результаты тестов пропускной способности
Без активных функций энергосбережения SSD Intel X25-E достиг почти 230 Мбайт/с пропускной способности на материнской плате Gigabyte EX58-UD4P с южным мостом ICH10R. Включение технологий Enhanced SpeedStep и C1E (enhanced halt state) особо не повлияло, как и в случае Thermal Monitor 2. Однако активация всех C-состояний, которые позволяют процессору отключать функциональные блоки, добавила слишком много задержек, что повлияло на пропускную способность: она снизилась до 186 Мбайт/с.
Влияние на производительность записи у платы Gigabyte схожая: после того, как в BIOS активируются все дополнительные C-состояния, производительность записи снижается на 23%.
Давайте посмотрим на результаты платы Supermicro, которую вскоре мы начнём использовать для тестов всех накопителей. Она достигает схожей максимальной пропускной способности чтения (228,7 Мбайт/с), но даёт даже меньшую пропускную способность после включения всех функций энергосбережения (182,4 Мбайт/с). Обратите внимание, что функция энергосбережения “Active State Power Management” влияет на такты PCI Express.
То же самое мы получили и для пропускной способности записи.
Диаграммы чтения и записи
Диаграммы на предыдущей странице показывают нам средний результат, который позволяет эффективно сравнивать накопители. Но мы также решили добавить диаграммы передачи данных. Они позволяют визуально оценить разницу в производительности между прогонами с разными опциями энергосбережения. Мы изменили отчёт по вертикальной оси, она начинается не с 0, чтобы разница была более заметной.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Заключение и оставшиеся вопросы
Мы были впечатлены подобными результатами, которые появились как раз вовремя: сегодня многие издания анализируют преимущества и недостатки SSD на флэш-памяти. Твёрдотельные накопители, такие как X25-E (для серверов) и X25-M (для потребительского рынка) имеют огромный потенциал производительности. Но вам нужен подходящий продукт для вашего сценария использования: high-end SSD на SLC-памяти хорошо подходят для интенсивной нагрузки ввода/вывода, а накопители на MLC-памяти дают больше ёмкости по меньшей цене, но за это приходится расплачиваться снижением скорости записи и производительности ввода/вывода.
Оба типа твёрдотельных накопителей могут в некоторый момент снижать производительность из-за фрагментации на уровне блоков и/или изменения характера нагрузки. От пользователя зависит, как наиболее эффективно использовать SSD, избегая фрагментации и утилит дефрагментации на уровне файловой системы, толку от которых нет.
Полученные нами результаты весьма важны, поскольку пользователи SSD могут наблюдать схожую картину “торможения”, даже не зная об этом. Очень быстрые SSD способны дать 200 Мбайт/с или даже больше пропускной способности, однако они могут упереться в производительность CPU из-за механизмов энергосбережения процессора. Или, если быть более точным, из-за нехватки процессорного времени. Всё это стало очевидным, когда мы провели тесты, включая и выключая разные опции энергосбережения. Мы обнаружили, что сложные механизмы энергосбережения, такие как Active State Power Management для PCI Express или более глубокие C-состояния (когда процессор способен отключать целые функциональные блоки на уровне транзисторов), существенно влияют на производительность нашего SSD X25-E. Очевидно, что задержки, вносимые сложными механизмами энергосбережения, довольно серьёзны, до такой степени, что они влияют на скорость работы накопителя.
Традиционные технологии энергосбережения, такие как Enhanced SpeedStep (снижение частоты и напряжения во время бездействия или под низкой нагрузкой), влияют меньше. То же самое относится и к случаю режима C1E (enhanced halt). Поэтому мы рекомендуем оставить обе функции включёнными, поскольку они снижают температуру CPU с одновременным уменьшением энергопотребления. Все другие сложные механизмы энергосбережения остаются под вопросом для систем, оснащённых быстрыми SSD. Мы не думаем, что имеет смысл покупать топовый твёрдотельный накопитель на флэш-памяти, чтобы затем испытать снижение производительности из-за активных функций энергосбережения. Тщательно проверьте соответствующие опции BIOS, если производительность вашего SSD находится не на таком уровне, как вы ожидали.
Оставшиеся вопросы и ответы
Есть несколько оставшихся вопросов, на которые мы не дали ответ в нашей статье. Исправляем этот недостаток.
Почему мы взяли Intel X25-E?.
Мы использовали этот накопитель, поскольку это самый быстрый SSD, доступный сегодня на рынке. Он даёт последовательную пропускную способность, превышающую уровень 200 Мбайт/с.
Влияют ли механизмы энергосбережения на производительность ввода/вывода?.
Да, но влияние относительно невелико.
Будут ли результаты такими же на других материнских платах?
Мы провели тесты на третьей материнской плате, после чего обнаружили такие же результаты. В зависимости от индивидуальной реализации опций энергосбережения и используемых процессоров, разница в производительности может быть иной. Однако заключение будет таким же: для быстрого SSD вам потребуется быстрый процессор, чтобы в полной мере использовать его производительность.
Влияют ли опции энергосбережения на производительность жёстких дисков?
Нет. Самые скоростные жёсткие диски по-прежнему далеки до уровня 200 Мбайт/с. Мы провели тесты двух SAS-накопителей на 15 000 об/мин, но не смогли получить такую же существенную разницу, как в случае SSD Intel X25-E.