Любопытный факт: так называемый Experience Index в Windows 7, оценивающий производительность основных подсистем ПК, для типичного твердотельного диска (SSD), причем далеко не самого медленного (в районе 200 МБ/с на чтение и запись, случайный доступ — 0,1 мс), показывает значение 7,0, в то время как индексы всех остальных подсистем (процессор, память, графика, игровая графика) в тех же десктопных системах на базе старших ЦП (со средним по нынешним временам объемом памяти DDR3-1333 в 4 ГБ и средней же игровой видеокартой вроде AMD Radeon HD 5770) оцениваются значениями заметно выше 7,0 (а именно — 7,4-7,8; у данного критерия Windows 7 шкала логарифмическая, так что разница в десятые доли выливается в десятки процентов абсолютных значений). То есть быстрый «бытовой» SSD на шине SATA, по мнению Windows 7, является самым узким местом даже в не самых топовых по нынешним временам настольных ПК. Какова же должна быть (запредельная?) производительность системного диска, чтобы «великая и могучая» «Семерка» посчитала ее достойной остальных компонентов подобного ПК?.. :)
Вопрос этот, видимо, риторический, поскольку на «икспириенс-индекс» Windows 7 нынче мало кто ориентируется при подборе конфигурации своего десктопа. И SSD уже прочно укоренились в умах юзеров в качестве безальтернативного варианта, если от дисковой подсистемы хочется выжать максимум и получить комфортную, «без тормозов» работу. Но так ли это на самом деле? Одинока ли Windows 7 в своих оценках реальной полезности SSD? И есть ли альтернатива SSD в мощных десктопах? Особенно если не очень хочется увидеть безысходную пустоту в своем кошельке… Мы рискнем предложить один из возможных вариантов замены.
Каковы главные недостатки современных SSD? Если не принимать во внимание «долгоиграющие» споры по поводу их надежности, долговечности и деградации со временем, то таких недостатков, по большому счету, два: маленькая емкость и немаленькая цена. Действительно, средненький MLC SSD на 128 ГБ нынче стоит в районе 8000 руб. (цена на момент написания статьи; разумеется, она сильно зависит от модели, но порядок цен пока что таков). Это, конечно, не 600 рублей за 1 ГБ, как для памяти DDR3, а на порядок меньше, но все же далеко не так мало, как для традиционных магнитных винчестеров. Действительно, весьма производительный «семитысячник» на 1000 ГБ с максимальной скоростью чтения/записи около 150 МБ/с (что, кстати, не намного меньше, чем у SSD за 8 тыс. руб.!) нынче можно купить менее чем за 2000 руб. (например, Hitachi 7K1000.C или что-то корейское). Удельная стоимость гигабайта пространства в этом случае составит всего 2 (два) рубля! Вы чувствуете разницу с SSD с его 60 рублями за гигабайт? ;) Да и так ли уж велика «пропасть» между ними в типичных десктопных приложениях с большим количеством последовательных обращений? Например, при работе с видео, аудио, графикой и пр. Ведь типичная скорость последовательного чтения у MLC SSD (160-240 МБ/с) не намного превышает таковую на первых 120 гигабайтах пространства у того же «терабайтника-семитысячника» (150 МБ/с). А по скорости последовательной записи у них вообще примерный паритет (те же 150 МБ/с против 70-190 у SSD). Да, по времени случайного доступа они совершенно несопоставимы, но ведь и мы не сервер себе собираем на рабочий стол.
Более того, для десктопа те же 128 ГБ по нынешним временам — объем крайне несерьезный (в 80 ГБ — вообще смешной). Едва вместит один-два системных раздела с ОС и основными приложениями. А где хранить многочисленные мультимедийные файлы? Куда ставить игрушки, каждая из которых теперь потянет на 5-20 ГБ в распакованном виде? Короче, без нормального емкого «винта» все равно никуда. Вопрос только в том, будет он системным или добавочным в компьютере.
А что если подойти с другой стороны? Коль уж без НЖМД (вспоминаем старую добрую аббревиатуру — накопители на жестких магнитных дисках, или просто «винчестеры») с ПК никуда, то не объединить ли их в RAID-массив? Тем более что простенький RAID-контроллер многим из нас достался, по сути, «бесплатно» — в южном мосте материнских плат на чипсетах AMD, Intel или Nvidia. Например, те же 8000 рублей можно потратить не на SSD, а на 4 «терабайтника». Объединим их в массив(ы) — тогда и докупать емкий НЖМД для хранения данных не придется, то есть даже сэкономим. Или как второй вариант — вместе покупки одного SSD и одного диска на 2-3 ТБ можно приобрести 4 диска по 1,5-2 ТБ…
Более того, скажем, RAID 0 из четырех дисков будет иметь не только учетверенную емкость, но и в 4 раза более высокую линейную скорость чтения-записи. А это уже 400-600 МБ/с, что единичному SSD той же цены даже не снилось! Таким образом, подобный массив будет работать гораздо быстрее SSD, по крайней мере, с потоковыми данными (чтение/запись/редактирование видео, копирование крупных файлов и мн. др.). Не исключено, что и в других типичных задачах персонального компьютера такой массив поведет себя отнюдь не хуже SSD — ведь процент последовательных операций в таких задачах весьма высок, да и случайные обращения, как правило, производятся на достаточно компактном участке такого емкого накопителя (файл подкачки, временный файл фоторедактора и пр.), то есть перемещение головок внутри этого участка будет происходить гораздо быстрее, чем в среднем по диску — за время в пару-тройку миллисекунд), что, безусловно, положительно скажется на его производительности. Если же многодисковый RAID-массив еще и кешируется в ОС, то от него можно ожидать внушительной скорости и на операциях с мелкими блоками данных.
Чтобы проверить наши предположения, мы протестировали четырехдисковые массивы RAID 0 и RAID 5 из терабайтных дисков Hitachi Deskstar E7K1000 со скоростью вращения 7200 об/мин и буфером 32 МБ. Да, они несколько медленнее по скорости пластин, чем более новые и продающиеся нынче по 1800-1900 руб./шт. накопители Hitachi 7K1000.C той же емкости. Однако их микропрограмма лучше оптимизирована для работы дисков в массивах, поэтому, несколько недобрав заветные 600 МБ/с по максимальной скорости чтения 4-дискового RAID 0, мы получим лучшую производительность в задачах с немалым количеством случайных обращений. А найденные нами закономерности можно будет распространить и на массивы из более быстрых (и емких) моделей дисков разных производителей.
Используя платы на чипсетах Intel с южным мостом ICH8R/ICH9R/ICH10R (и более поздние), четыре терабайтных диска оптимально, на наш взгляд, организовать следующим образом. Благодаря технологии Intel Matrix RAID из первой половины объема каждого из дисков делаем массив RAID 0 емкостью 2 ТБ (чтобы он без специальных ухищрений понимался «операционками» ниже Vista), который обеспечит нам наивысшую производительность системных разделов, быстрый запуск приложений и игр, а также высокую скорость оперативной работы с мультимедийным и прочим контентом. А для более надежного хранения важных нам данных вторую половину объема этих дисков мы объединим в массив RAID 5 (кстати, тоже далеко не самой плохой производительности, в чем мы убедимся чуть ниже). Таким образом, всего за 8 тыс. руб. мы получим и сверхбыстрый системный диск на 2 ТБ, и надежный и емкий «архивный» том на 1,5 ТБ. Именно в такой конфигурации из двух массивов, созданных нами со значениями по умолчанию, мы и будем проводить наше дальнейшее тестирование. Впрочем, особо мнительные нелюбители RAID5 на интеловских контроллерах могут вместо него построить RAID10 в полтора раза меньшего объема — производительность его на чтение данных будет пониже, чем у RAID5, при записи (с кешированием) они примерно равноценны, зато надежность и извлекаемость данных при развале массиве будет получше (в половине случаев RAID10 можно оживить при выходе из строя даже двух дисков).
Утилита Intel Matrix Storage Manager позволяет включать и отключать кеширование записи на такие дисковые массивы средствами операционной системы (то есть, используя оперативную память ПК), см. третью сверху строчку в правом поле Information на скриншоте:
Кеширование способно кардинально ускорить работу массивов с мелкими файлами и блоками данных, а также скорость записи на массив RAID 5 (что порой весьма критично). Поэтому мы для наглядности провели тесты с включенным и отключенным кешированием. Для справки мы также коснемся ниже вопросов нагрузки на процессор при включенном кешировании.
Испытания проводилось нами на тестовой системе, представляющей типичный, не самый мощный по нынешним временам десктоп:
- процессор Intel Core 2 Duo E8400 (3 ГГц);
- 2 ГБ системной памяти DDR2-800;
- плата ASUS P5Q-E на чипсете Intel P45 Express с ICH10R;
- видеоускоритель AMD Radeon HD 5770.
На системном диске Seagate ST950042AS находились ОС Windows 7 x64 Ultimate и Windows XP SP3 Pro (тестируемые массивы и накопители испытывались в «чистом» состоянии). В качестве бенчмарков, по результатам которых мы будем судить о соперничестве SSD с традиционными RAID, нами здесь использовались программы ATTO Disk Benchmark 2.41, Futuremark PCMark05, Futuremark PCMark Vantage x86, Intel NAS Performance Toolkit 1.7 и др. Тесты проводились пятикратно и результаты усреднялись. Для ориентировки внизу диаграмм с результатами тестов приведены данные для быстрого одиночного накопителя Seagate Barracuda XT ST32000641AS емкостью 2 ТБ, то есть такой же, как у «системного» RAID 0 из четырех испытуемых нами Hitachi Deskstar E7K1000 HDE721010SLA330.
Честь недорогого, но весьма производительного SSD емкостью 128 ГБ и ценой (на момент написания статьи) в районе 8000 руб. защищала модель PNY Optima SSD 128GB MLC. Сперва взглянем на нее чуть подробнее.
SSD PNY Optima 128GB Gen 2
Модель с номером P-SSD2S128GM-CT01 (прошивка 0309) представляет собой типичный 2,5-дюймовый SATA SSD в стильном черном металлическом корпусе толщиной 9,5 мм. Его производитель — компания PNY Technologies, больше известная своими флешками и модулями памяти.
Накопитель основан на флеш-памяти Intel 29F64G08CAMDB с MLC-ячейками и контроллере JMicron JMF612, который позволяет этому SSD работать не только по Serial ATA, но и по интерфейсу USB 2.0 (мини-разъем последнего находится рядом с портом SATA в заднем торце корпуса диска).
То есть этот твердотельный накопитель можно использовать и в качестве ударостойкого переносного хранилища. Правда, USB-кабель комплектом поставки не предусмотрен. Зато и цену изделия никак нельзя назвать завышенной.
Производитель обещает для этой модели скорость чтения 235 МБ/с и скорость записи 150 МБ/с (она на практике оказалось даже чуть выше). Кеш-память диска составляет 64 МБ, поддержка TRIM встроена, ударостойкость заявляется на уровне 1500g, а диапазон рабочих температур — от —10 до +70°C. Производитель дает 3 года гарантии на эту модель с MTBF в 1,5 млн часов.
К слову, не следует заблуждаться и считать популярные MLC SSD на контроллере JMicron JMB612 решениями "низшего сорта". Как показывают многочисленные тесты, накопители на этом контроллере смотрятся в среднем ничуть не хуже, чем SSD сходной емкости и цены на контроллерах от Indilinx (IDX110), Intel, SandForce (SF1222) и Samsung, даже выигрывая у них в ряде дисковых бенчмарков.
Результаты тестов
Максимальная скорость последовательного чтения и записи полезных данных для SSD PNY Optima 128GB по результатам теста ATTO Disk Benchmark 2.41 (запись и чтение файла объемом 256 МБ блоками от 64 КБ до 8 МБ) составила соответственно 238 и 155 МБ/с, что чуть выше заявленных производителем значений (см. диаграмму).
Любопытно, что низкоуровневый тест HD Tach RW 3.0, использующий обращения к накопителю в обход файловой системы, показал для этих двух параметров значения в 217 и 165 МБ/с соответственно (см. график). Что же касается пары испытуемых нами четырехдисковых RAID-массивов, то RAID 0 показал максимальную скорость чтения/записи крупных файлов под 450 МБ/с (это подтверждается и графиком HD Tach RW 3.0), что вдвое-втрое больше, чем у данного SSD! Правда, включение кеширования записи (WC=yes на диаграммах) средствами Windows несколько снижает скорость последовательной записи, а также чтения, но не настолько критично, чтобы это можно было считать неприемлемым.
Что же касается RAID 5, организованного на второй половине наших испытуемых НЖМД, то максимальная скорость последовательного чтения этого массива переваливает за 270 МБ/с (что заметно выше, чем у любого современного магнитного винчестера!), а скорость последовательной записи кардинально зависит от кеширования в Windows: без него она едва достигает совершенно неприемлемых 40-50 МБ/с, тогда как с ним повышается более чем втрое (см. также график HD Tach RW 3.0), хотя все равно не достигает таковой при чтении RAID 5, как это было у RAID 0. Но в любом случае, здесь наш RAID 5 работает заметно быстрее одиночного «семитысячника» Seagate Barracuda XT.
Другая существенная польза от Windows-кеширования массивов дисков — кардинальное ускорение работы с мелкими (менее 64 КБ) файлами и блоками данных. Это наглядно видно из результатов теста ATTO Disk Benchmark 2.41 (про вертикали слева здесь указан размер блока данных в КБ; колонки справа — значения скорости в КБ/с).
RAID 0 без кеширования
RAID 0 с кешированием
RAID 5 без кеширования
RAID 5 с кешированием
Как видно, при этом ускоряется работа не только при записи, но и при чтении. В общем, использование кеширования массивов в ОС является фактически непременным условием, если вы хотите получить на них хорошую производительность не только с потоковыми данными, но и во всем остальном (например, как системного диска).
Работу кеширования операций с RAID через оперативную память компьютера (причем как при чтении, так и при записи) наглядно демонстрирует следующая диаграмма, обычно приводимая нами в качестве иллюстрации скорости работы дискового интерфейса (SATA, SAS и пр.).
Скорость буферизованного чтения в 3-5 ГБ/с — это значения одного порядка с полосой пропускания системной памяти в ПК типа нашего тестового. Шина DMI, по которой южный мост интеловских чипсетов общается с системой, имеет куда более низкий потенциал, равный, по сути, шине PCI Express x4 первого поколения (то есть 1 ГБ/с в одном направлении). Второй полезный вывод из этой диаграммы — для RAID-массивов (даже без кеширования) скорость передачи данных по шине (нескольким шинам SATA) от хоста к накопителям возрастает условно пропорционально числу дисков в массиве. И для RAID 0, например, в разы превышает скорость обмена данными с одиночным SSD на шине SATA. Вывод, в общем-то, вполне очевидный.
Кстати, среднее время случайного доступа к массивам (мелкими блоками) при чтении не зависит от кеширования Windows, а вот при записи — меняется существенно (см. диаграмму). Причем, для простейшего (программного) RAID 5 без кеширования оно неприлично велико.
Что же касается вопроса дополнительной нагрузки на процессора от кеширования, то она, безусловно, есть, но для более ли менее современных десктопов ее нельзя назвать слишком обременительной. Взглянем на графики загрузки ЦП при выполнении того же теста ATTO:
RAID 5
Графики загрузки ЦП без кеширования RAID
И для RAID 0, и для RAID 5 загрузка ЦП при чтении и записи без RAID-кеширования Windows — единицы процентов. Если же кеширование включить, то на малых блоках загрузка ЦП возрастает до десятков процентов, порой переваливая за 50% (левые части графиков ниже).
RAID 5
Графики загрузки ЦП c кешированием RAID
Интересно, что для RAID 5 нагрузка на процессор при этом чуть ниже, чем для RAID 0 — видимо, сказывается более высокая скорость чтения/записи для второго случая. Кроме того, при увеличении размера блока данных нагрузка на процессор понижается, приближаясь к таковой с отключенным кешированием для блоков размером 64 КБ и выше. Безусловно, это лишь прикидка, иллюстрация вопроса. Этот аспект можно было бы исследовать более скрупулезно, в «чистом виде». Но в данном случае для нас это не является целью статьи, поскольку интересующий нас здесь вопрос — какова производительность накопителей.
Последнюю мы оценивали, в частности, по комплексным тестам, имитирующим работу разнообразных задач под Windows — PCMark Vantage, PCMark05 и Intel NAS Performance Toolkit. Детальные результаты по каждому паттерну этих тестов приведены в общей таблице. А в теле статьи мы представим только итоговые диаграммы, дающие представления об усредненной производительности накопителей под Windows.
В тесте PCMark05 данная модель SSD опережает 4-дисковый RAID 0 менее чем вдвое. Да, это заметное преимущество, но не такое фатальное, как при сравнении с одиночным винчестером. Любопытно, что достигается это преимущество лишь в трех из пяти паттернов PCMark05 (в основном — при запуске Windows и приложений), тогда как в паттерне Virus Scan наш RAID 0 оказывается на 10% быстрее, чем SSD, а в паттерне File Write — вообще быстрее, чем SSD, более чем втрое!
Кеширование массивов увеличивает их производительность в данном бенчмарке примерно в полтора раза, хотя одиночный Seagate Barracuda XT оказывается все же чуть быстрее, чем тестируемый здесь RAID 5. Впрочем, мы и не предлагали вам использовать данный RAID 5 для основных системных разделов и запуска приложений. ;) А вот при записи на этот «архивный» том файлов (паттерн File Write) его скорость явно выше, чему одиночного диска.
В более свежем тесте PCMark Vantage под Windows 7 преимущество SSD над нашими массивами подавляющее (в среднем минимум втрое). Очевидно, паттерны данного бенчмарка очень активно оперируют псевдослучайными обращениями к накопителям, в чем SSD вне конкуренции.
Однако анализ результатов по паттернам (см. табл.) показывает, что «не все коту Масленица» —- в ряде задач наш RAID 0 не только имеет с SSD близкую скорость (Movie Maker, то есть редактирование видео), но и может существенно опережать его (Media Center). Таким образом, по крайней мере, для медиацентра массив выгоднее, чем SSD (это касается и его куда большей емкости). Кеширование здесь также добавляет 20-30% к средней производительности массивов, делая даже программный RAID 5 вполне конкурентоспособным с одиночным топовым «двухтерабайтником».
В более свежем и, на наш взгляд, более реалистичном тесте Intel NAS Performance Toolkit, который использует несколько иную философию бенчмаркинга, нежели «трековые» PCMark, — а именно непосредственную работу с файловой системой тестируемого накопителя, а не воспроизведение заранее записанных (в другой системе) команд обращения к диску внутри предварительно созданного временного файла, — ситуация еще более благоволит к многодисковым RAID. В среднем, наш RAID 0 здесь опережает твердотельный накопитель не только с кешированием (в полтора раза!), но и без него! А программный «архивный» RAID 5 с кешированием оказывается быстрее, чем одиночный диск Barracuda XT.
При детальном рассмотрении (см. табл.) оказывается, что в 10 из 12 паттернов кешируемый RAID 0 более быстр, чем SSD! Это касается и работы с видео, и Content Creation (создание контента), и офисной работы, и обработки фотографий (Photo Album), и копирования файлов. Лишь при 4-потоковом воспроизведении видео и копировании директории со многими файлами с диска твердотельный накопитель одержал вверх над RAID 0 из традиционных винчестеров. На этой оптимистичной ноте мы перейдем к заключению.
Заключение
Собственно, все уже сказано выше. При грамотном выборе традиционных винчестеров на магнитных пластинах их массивы из 4 накопителей вполне способны поспорить по производительности в типичных задачах настольного ПК с одиночным SSD той же стоимости! Более того, по цене гигабайта пространства и по вместимости такие массивы несопоставимо выгоднее твердотельных накопителей. А возможность (в случае с интеловскими чипсетами) одновременно с быстрым RAID 0 создать на части пространства НЖМД еще и емкий защищенный «архивный» RAID 5 для хранения наиболее важных данных вообще не имеет адекватных по цене аналогов среди SSD. Так что выбор за вами. Только не забывайте включать кеширование RAID-массивов средствами соответствующей утилиты под Windows — без этого удовольствие от использования производительного, емкого и экономичного решения на вашем десктопе будет неполным.
И еще пару ремарок — относительно энергопотребления и надежности данных решений. Безусловно, 0,5-3 Вт потребления одного SSD не идут ни в какое сравнение с 20-40 Вт прожорливости массива из четырех НЖМД. Однако и мы ведь рассматриваем не ноутбук/неттоп, а полноценный десктоп (иначе, собственно, такой RAID и незачем городить). Поэтому потребление надо оценивать в сумме. А на фоне гораздо большей прожорливости типичных десктопных процессоров (100-200 Вт вместе с материнской платой) и видеокартой (50-300 Вт) еще пара десятков ватт на накопители совсем не кажется расточительством (только параноик станет считать лишние киловаттчасы от них на своем домашнем электросчетчике :)). Тем более если принять во внимание, что к SSD вам все равно придется докупать один-два НЖМД (для прикидки: 20Вт·8час·30дней=4,8кВт·ч, то есть максимум 15-20 дополнительных рублей на электричество в месяц). Что же касается надежности обоих решений, то и к SSD, и к RAID на чипсетных контроллерах, и даже к НЖМД в Сети можно найти многочисленные претензии, хотя производители и обещают для них миллионночасовые MTBF. Поэтому в любом случае, лучшей защитой от потери данных является их регулярное резервирование на независимых носителях. И об этом никогда не следует забывать.
На закуску — диаграмма, геометрически усредняющая производительность (в МБ/с) протестированных накопителей по всем 26 паттернам тестов PCMark05 (5 паттернов), PCMark Vantage x86 (7 паттернов), Intel NAS Performance Toolkit (12 паттернов) и чтения/записи крупных файлов в ATTO Disk Benchmark (2 паттерна). Смотрите и размышляйте. ;)