ИТ-технологии для профессионалов

Показаны сообщения с ярлыком intel. Показать все сообщения
Показаны сообщения с ярлыком intel. Показать все сообщения

понедельник, 5 апреля 2010 г.

Windows + Itanium = ?

Очевидцы пишут, что любовь ушла. В том смысле, что 2008R2 станет последней версией для процессоров Intel Itanium. Поддержка сохранится до 2013 года (а расширенная поддержка еще 5 лет), так что все в рамках стандартов Microsoft. Однако новых версий ждать не стоит (равно как не будет новых версий SQL Server и Visual Studio).

Основная озвученная причина – стремительная эволюция систем x86 (не только в плане производительности, но и в плане отказоустойчивости). Кроме того, поставки Windows на Superdome всегда были очень незначительными по сравнению с HP-UX и OpenVMS. Слишком медленное развитие Itanium (как и постоянные, но объявляемые “запланированными” задержки с выпуском процессоров), как мне кажется, играли в данном решении отнюдь не последнюю роль.

Стоит напомнить, что Microsoft не первый - в RedHat не так давно также отказались от дальнейшей поддержки систем на базе Itanium. Второй большой линуксовод (Novell) продолжает поддерживать IA64, но как долго это еще продлится?

Что дальше? HP столько лет всеми силами отстаивала процессоры Itanium, что отказываться от них конечно теперь не будут, но вот останутся ли другие производители или для Intel будет теперь только один покупатель на Itanium?

Читать дальше ...

вторник, 22 сентября 2009 г.

Intel RAID RS2BL080 6GB и 8 SAS 15k с разными FW контроллера

Компания Intel любезно предоставила нам этот контроллер на короткое время, за которое мы тестировали его в первую очередь на SSD Intel X-25 E, но также и сделали несколько тестов на обычных SAS дисках. К сожалению контроллер был у нас не очень долго и мне не удалось посмотреть все, что хотелось, но было сделано несколько полных прогонов с дисками SAS. При этом эти два прогона проходили на разных версиях прошивки контроллера сначала это была 649 версия, затем был сделан апгрейд в 673 версию и повторены часть из этих тестов.

Сначала эти результаты остались без обработки, но сейчас выдалась минута и я их перерисовал в графики. Результаты достаточно интересные, причем они получаются интересны еще и в отношении друг-друга. Здесь я и решил их опубликовать, в сравнительном режиме одну версию прошивки и другую.

Условия теста.

Из восьми SAS Hitachi 15k 146GB делался RAID 10, поскольку контроллер двух портовый половинки зеркала располагались на разных портах. Настройки Array на контроллере – следующие:

image

Собственно все настройки по умолчанию для 10 RAID.

Тест проводился Iometer’ом, профиль в обоих случаях был одинаковый. Вся нагрузка создавалась 4-мя Worker, глубина очереди каждого составляла 32. В результате как несложно посчитать: 128.

Результаты тестов

Потоковое чтение

Версия fw 649
image

Версия fw 673
image

Потоковое чтение – самый понятный показатель работы внутренних алгоритмов кэширования контроллера. Видно, что в более новой версии прошивки на большом блоке скорость существенно просела, причем пик достигается на 8кб а дальше идет резкий спад. Судя по дальнейшим результатам – 8кб размер блока КЭШ контроллера и поэтому тут и достигается максимальный результат. Также хочется отметить, что считалка у контроллера очень мощная, судя по тому что на маленьком блоке результат вплотную подбирается к 90 000 IOPS.

Случайное чтение

Версия fw 649
image

Версия fw 673
image

Здесь уже КЭШ не играет большой роли и результаты близки. Нужно отметить что IOPS на маленьком блоке упал почти в 2 раза.

Потоковая запись

Версия fw 649
image

Версия fw 673
image

На записи наоборот ситуация заметно улучшилась, потоковые операции упираются в потолок около 1,4 ГБ секунду, опять же очевидно влияние КЭШ. В целом новая версия прошивки больше радует глаз, чем предыдущая.

Случайная запись

Версия fw 649
image

Версия fw 673
image

В обоих случаях результаты схожи. Новая прошивка дает определенный прирост, но он минимален.

Смешанная нагрузка – 70 запись, 30 чтение.

Версия fw 649
image

Версия fw 673
image

Как и в случайной записи, результаты приблизительно похожи.

Вывод

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

Результаты в силу того, что продукт вышел совсем недавно не представляют особенной ценности, разве что в целях сравнения с последующими версиями которые будут выходить в дальнейшем.

Читать дальше ...

пятница, 28 августа 2009 г.

Intel SSD x25-e и Intel RAID RS2BL080

Продолжая тему SSD и их работы в RAID, надо отметить что пока что (на мой взгляд) не было контроллера который давал адекватную производительность во всех ситуациях с SSD. Также большой головной болью было то, что при отключении КЭШа SSD дисков производительность системы значительно падала, тогда как его требуется выключать для создания отказоустойчивых конфигураций.

Вот и получается – хочется чтобы все работало быстро, включай КЭШ диска. Но если вдруг выключиться электричество или будет еще какой сбой, все данные находящиеся в этом КЭШе потеряются. С другой стороны выключая КЭШ мы получали просадку по производительности (подробнее можно посмотреть в предыдущем материале про SSD и контроллеры LSI).

Теперь непосредственно, что привело к написанию этого материала. Intel любезно предоставил нам в тест контроллер Intel RAID RS2BL080, который интересен тем, что он рассчитан на 6ГБ SAS (обратная совместимость с SAS 3GB и SATA присутствует), в результате чего имеет полностью переработанную архитектуру. Для начала мы решили посмотреть контроллер в работе с SSD, чтобы посмотреть на что он способен при максимально быстром back-end (дисках), результаты тестов и будут представлены ниже.

Контроллер Intel RAID RS2BL080

RS2BL080_lg
Intel RAID RS2BL080 он же LSI MegaRAID 9260-8i

Строго говоря контроллер произведен компанией LSI, Intel же OEMит их. В контроллере 8 портов 6Gb/s SATA/SAS, 512МБ памяти и процессор LSISAS2108 (6Gb/s RAID-on-Chip - 800MHz PowerPC). Выглядит вполне обычно.

Судя по маркетингу LSI максимальная пропускная способность чтения около 2,9ГБ/сек, а записи 1,8ГБ/сек.

Описание на сайте Intel.
Спецификация на сайте Intel.
Спецификация на сайте LSI.

Тесты с SSD

Было решено в первую очередь проверить две разные конфигурации:

1. 8 штук SSD Intel x25-e в RAID 5, КЭШ контроллера включен, КЭШ дисков выключен. Общий смысл данного теста был посмотреть, как себя покажет конфигурация собранная из расчета компромиссного соотношения цена/объем. Также немаловажно и то, что КЭШ дисков был отключен, в реальную работу не стоит ставить диски с включенным КЭШ, слишком велики риски потери информации.

2. 8 штук SSD Intel x25-e в RAID 10, КЭШ контроллера включен, КЭШ дисков выключен. Также было решено проверить R10 для оценки разницы в производительности относительно R5.

Ниже представлены скриншоты настроек.
Тест делался по обычной схеме с Iometer’ом.

New Bitmap ImageНастройки для теста в R5

test Настройки для теста в R10

Результаты

Последовательное чтение.

Raid5

image

Raid10

image

Чрезвычайно впечатляющее начало 160 000 IOPS на чтение, эти цифры соизмеримы с характеристиками производительности дисковых систем среднего уровня. С той лишь разницей, что на дисковой системе с обычными дисками, таких цифр можно достичь только из чистого КЭШа, а здесь эти цифры получены на LUN в 200GB. Фактически этот результат показывает производительность контроллера, для сравнения LSI 84016E давал в пике около 40 000 IOPS, Adaptec 5805 около 50 000 IOPS, здесь же мы получили 160 000 IOPS на маленьком блоке. Очень круто. Руки чешутся протестировать на нем обычный SAS, чтобы понять даст ли такой контроллер роста производительности с обычными дисками.

Кстати кроме IOPS не менее интересно что контроллер достиг уже 1200 МБ/сек. У предыдущего LSI этот потолок был около 800МБ/сек.

Случайное чтение.

Raid5

 image

Raid10

image

Результат очень достойный, для полностью случайной нагрузки также отличный результат. Тот же потолок в 1200 МБ/сек, достигается здесь несколько позже чем при последовательном чтении, что в общем естественно. Для сравнения IOPS у LSI 84016E было примерно столько же, у Adaptec 5805 в Raid5 чуть больше (правда с включенным КЭШ дисков .) ).

Отличные результаты, на уровне лучших что я видел для такого количества SSD при такой нагрузке.

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

Raid5

 image

Raid10

 image

Исключительные результаты, видно что контроллер работает по максимуму и вычислительной мощности ему хватает с лихвой. При всем при этом, что интересно в RAID 5 контроллер пробил планку в 1200МБ/сек и уперся уже в 1400МБ/сек. В RAID 10 такого не наблюдается, видимо по причине меньшего количества конечных дисков на которые ведется запись. Тест опять же наглядно показывает что подопытный контроллер чрезвычайно мощный.

Что интересно, так называемого, RAID 5 penalty не наблюдается. По идее мы должны были бы видеть некоторую просадку по производительности в RAID 5 , относительно RAID 10.

Случайная запись.

Raid5

 image

Raid10

image

Левая часть графиков где отражены IOPS соответствует высоким ожиданиям, динамика графиков с точностью повторяет такую в предыдущих тестах, результаты получаются лучше чем и у LSI 84016E и у Adaptec 5805. Adaptec 5805 проигрывает где то около 20% в RAID5 и около 30% в RAID10, LSI 84016E проигрывает около 20% в RAID10 результатов эквивалентных тестов в RAID5 у меня нету.

Если же смотреть на скорость на большом блоке, пожалуй стоит поумерить свои восторги, результаты получаются низкие.  Впрочем они такие же низкие как и в случае других контроллеров, судя по результатам предыдущих тестов.

Также надо отметить, что есть подозрение что такое поведение массива обязано больше не контроллеру а дискам и их собственным алгоритмам записи и выстраивания очереди. Любопытно посмотреть аналогичные результаты при включеном КЭШ дисков (собственно именно эти тесты сейчас у нас и идут).

33% чтение, 100% случайные операции.

Raid5

 image

Raid10

 image

Комментировать особенно нечего, случайная запись задает тон результатам. Они в точности повторяют динамику случайной записи.

Типовые профили

Raid5

Access
Specification
Name
IOps Read IOps Write IOps MBps Read MBps Write MBps ART (ms) ART-read (ms) ART-write (ms)
File Server 7 938,72 6 349,31 1 589,41 85,82 68,62 17,20 4,03 4,78 1,04
Web Server 15 791,47 15 791,47 0,00 242,30 242,30 0,00 2,03 2,03 0,00

Raid10

Access
Specification
Name
IOps Read IOps Write IOps MBps Read MBps Write MBps ART (ms) ART-read (ms) ART-write (ms)
File Server 17 184,08 13 750,53 3 433,55 185,72 148,68 37,04 1,86 2,02 1,21
Web Server 20 511,35 20 511,35 0,00 313,48 313,48 0,00 1,56 1,56 0,00

В качестве сравнительной шкалы приведены результаты двух типовых тестов, отметить хочется то, что при очень высоких результатах время ответа (ART) сохраняется на рекордно низком уровне 1-4 ms. В этих же результатах видно что RAID 10 благодаря более высоким результатам на записи показывает лучшие результаты.

Выводы

Что хочется сказать в итоге, контроллер судя по этим результатам получился исключительно мощный, руки чешутся сделать тесты на 15k SAS дисках (я думаю сделаем на следующей неделе), вероятно контроллер и на них даст лучшую производительность чем его текущие конкуренты (тот же Adaptec 5805).

Касаемо текущей конфигурации на SSD, пожалуй её можно рекомендовать для любой интенсивной дисковой нагрузки. Там где будет преимущественно случайная запись большим блоком результат не будет радовать, с другой стороны это одна из самых синтетических нагрузок.

Доступность и стоимость контроллера пока не ясна, как я уже писал выше, нам он достался в единственном экземпляре и реальных цен в РФ я не видел. Судя по всему он должен быть в одной ценовой группе с Adaptec 5805 и аналогичными 8 портовыми LSI.

Читать дальше ...

понедельник, 24 августа 2009 г.

Память DDR3 и процессоры Intel Xeon 5500 (nehalem)

Основные вопросы, на которые нужно ответить при выборе конфигурации памяти DDR3:

1. Нужно получить максимальный объём или максимальную производительность памяти?

2. Какие процессоры будут использоваться?

3. Какое соотношение цена/производительность для нас оптимальна?

Отличия в использовании DDR2 и DDR3

DDR2 и процессоры Intel Xeon 5400

- До 4 каналов

- До 4 DIMM на канал

- Память Fully-buffered DDR2 533/667/800

- Максимальный объем 128Гб

DDR3 и процессоры Intel Xeon 5500

- До 6 каналов

- До 3 DIMM на канал

- Память DDR3 800/1066/1333

- Максимальный объем 144Гб

image image

Варианты конфигурирования

Для оптимального выбора конфигурации DDR3 необходимо четко понимать, что нам важнее производительность или объем. Ниже представлены конфигурации для этих обоих вариантов и сбалансированный вариант.

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

Для обеспечения максимальной производительности необходимо использовать память DDR3 с частотой 1333MHz и процессоры серии X5550, т.к. только они способны обеспечить необходимую пропускную способность шины QPI (10,6 GB/s). Такая конфигурация накладывает ограничение на максимальный объем памяти в 48GB, т.к. возможно установить только 1 модуль памяти на 1 канал процессора.

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

Максимальный объем

В этом случае необходима память с частотой 800MHz и любые процессоры серии X5500. Пропускная способность шины QPI при этом будет 6,4GB/s. При этом можно будет установить до 18 модулей памяти, то есть по 3 модуля на канал, и получить объем в 144GB.

image
Максимальный объем

 

Сбалансированный

Оптимальный вариант, межу производительностью и объемом. Необходимо использовать память DDR3 с частотой 1066 MHz, процессоры серии E5520 или старше. В такой конфигурации возможна установка по 2 модуля памяти на канал (всего 12 модулей) и получить общий объем памяти 96GB.

image
Сбалансированный вариант

Типы памяти

Но это не все. Кроме ранжирования по скорости MHz, есть 3 вида памяти DDR3: Registered DIMMs (RDIMM), Unbuffered ECC DIMMs (UDIMM ECC) и Unbuffered DIMMs (UDIMM). Сразу отмечу что Unbuffered DIMMs (UDIMM) не рекомендуется использовать в серверах. Так же модули памяти бывают разных рангов.

Сравнение UDIMM и RDIMM:

UDIMM

RDIMM

Регистр/Буфер

Нет

Есть

Частоты

800, 1066, 1333 МГц

800, 1066, 1333 МГц

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

1 или 2

1, 2 или 4

Максимальное кол-во модулей на канал

2

3

Объем модулей

1 и 2 Гб

1,2,4 и 8 Гб

ECC

Поддерживает

Поддерживает

SDDC

X8

X4 и X8

Четность адреса

Нет

Поддерживает

Энергопотребление

~5W

~5.75W

RDIMMs:: Хотя они на несколько процентов медленнее чем UDIMM, они позволяют получить больший общий объем памяти. Поддерживают до 3 DIMMs/канал.

UDIMM ECC: поддерживает все RAS функции RDIMM кроме x4 Single Device Data Correction (SDDC).

Для систем начального уровня с объемом ОЗУ 12Гб или меньше, целесообразно использовать UDIMM ECC, т.к. у них меньше стоимость. Регистровую память имеет смысл использовать в материнских платах, где по 3 слота на канал (на будущее расширение без выбрасывания старой памяти) или модули по 4ГБ.

imageОтносительная стоимость модулей

Ранги (Single, Dual, Quad)

Не будем детально разбирать вопрос рангов. Остановимся на наиболее важных моментах. Итак, на рисунках наглядно показано основные отличия разноранговой памяти. Технологически, при производстве, дешевле размещать большее чипов на одном модуле, то есть изготавливать память типа quad rank.

image image
Физическое устройство разноранговой памяти

Латентность QR модулей меньше, т.к. в них одновременно может быть открыто несколько страниц. Так же есть ограничение в 8 рангов на канал, т.е в один канал можно поставить только 2 QR модуля (у разных производителей, кол-во поддерживаемых рангов может отличаться в зависимости от модели материнской платы). На данный момент Quad Rank бывают только модули RDIMM.

Еще отмечу момент, что при установки памяти с разным количеством рангов, первыми устанавливаются QR модули, потом DR и SR.

Выбор модулей оптимального объема.

Сейчас рассмотрим, какого объема лучше использовать модули, для получения необходимого объема памяти на ядро. Т.к. это позволит сэкономить деньги, и получить оптимальную производительность.

При использовании RDIMM-ов, возможны следующие конфигурации (при использовании 2х 4х ядерных процессоров Nehalem-EP)

image 
image
image image

В таблице представлены основные конфигурации памяти. Сначала в первой строке выбираем желаемый объем памяти на 1 ядро.
Во второй строчке указа общий объем памяти, который мы получим.
Далее ниже рассмотрены варианты с разным объемом каждого модуля. Красным выделены оптимальные конфигурации.

При использовании UDIMM-ов ECC (при использовании 2х 4х ядерных процессоров Nehalem-EP)

image image
image image

DDR3 UDIMMs ограничены 2 DIMMs на канал, или в общей сложности 12 DIMMs.
Принцип выбора тот же что и при RDIMM.

Баланс памяти по каналам в конфигурации

В таблицах есть не сбалансированные конфигурации. Не сбалансированной конфигурация считается, если не используются все 3 канала памяти на процессор или число модулей не кратно 3 модулям на процессор. Конфигурация, когда используется два канала из трех, можно считать сбалансированной, т.к. interleave работает, но только на 2 канала.

Так же возможна конфигурация, когда вся память находиться у одного процессора. Она возможна при использовании Non-Uniform Memory Access (NUMA).

image 
Примеры несбалансированных конфигураций

Сбалансированная конфигурация: задействовано больше каналов, выше пропускная способность памяти.

· Пропускная способность одинакова при использовании 1 модуля памяти на канал и при использовании 2х модулей на канал (как на DDR3 1066)

Несбалансированная конфигурация: уменьшенная пропускная способность (до 17%)

· Не работает Interleave во всех 3х каналах

· Приводит к снижению пропускной способности на 2-1-1 против 1-1-1 конфигурации

Пропускная способность памяти. Сравнение сбалансированной и не сбалансированной конфигурации (DDR3 1066).

image

Разница в скорости на разных конфигурациях

Очень хорошо видна разница в пропускной способности памяти в разных режимах:

Memory Frequency (MHz)

DIMM Population (CPU 0 / CPU 1)

STREAM Triad Result
4.8GT/s QPI

STREAM Triad Result
5.86GT/s QPI

STREAM Triad Result
6.4GT/s QPI

Balanced Configs

1333

1-1-1 / 1-1-1

---

---

36,588

1066

1-1-1 / 1-1-1

---

31,218

33,723

1066

2-2-2 / 2-2-2

---

30,912

33,203

800

1-1-1 / 1-1-1

24,265

26,750

27,748

800

2-2-2 / 2-2-2

23,866

25,844

26,565

800

3-3-3 / 3-3-3

24,052

26,750

27,208

Unbalanced Configs

1066

2-2-0 / 2-2-0

---

25,343

---

1066

2-1-1 / 2-1-1

---

25,679

---

1066

2-2-2 / 2-2-2

---

30,912

---

800

2-2-0 / 2-2-0

---

19,510

---

800

2-1-1 / 2-1-1

---

19,961

---

800

2-2-2 / 2-2-2

---

25,884

---

 

RAS Features

Еще хочется отметить некоторые особенности RAS, они используются редко, поэтому скажу буквально пару слов.

Memory mirroring (Зеркалирование памяти):

• 2 канала памяти, в качестве зеркала (одна информация записывается на обоих каналах одновременно)
• Модули памяти должны быть одинаковые
• Полезный объем памяти равен 50%
• Повышение надежности (память избыточна)

Технология Lockstep

Технология основывается на том, что взаимодополняющие компоненты системы выполняют параллельно одни и те же инструкции. Каждый из компонентов является активной заменой другому. Таким образом, если в одном из них происходит сбой, второй продолжает работу в прежнем режиме, при этом не происходит ни остановки, ни потери данных.

Lockstep mode

• 2 канала, работающих в lockstep (кэш линия разделяется между обоими каналами), 3 канал не используется.
• Модули памяти должны быть одинаковые
• Увеличение надежности, но низкая производительность

image Примеры работы RAS features

Технология Intel® x4 Single Device Data Correction (x4 SDDC) обеспечивает обнаружение и исправление ошибок размером 1, 2, 3 или 4 бит данных в одном устройстве и обнаружение ошибок размером до 8 бит данных на двух устройствах.

Материал был сделан, большой частью, Куликовым Дмитрием, за что ему выражается отдельная благодарность!

Для написания статьи использованы материалы Intel:
Xeon 5500 Memory White Paper Intel® Xeon® processor 5500 Series Datasheet: (public)

http://www.intel.com/Assets/PDF/datasheet/321321.pdf (Volume 1)
http://www.intel.com/Assets/PDF/datasheet/321322.pdf (Volume 2)

Читать дальше ...

четверг, 18 июня 2009 г.

Тестирование Intel® X25-E Extreme SATA Solid-State Drive

Идею твердотельных жестких дисков нельзя назвать революционной, они уже широко представлены на рынке и, в силу своей безусловной востребованности, медленно, но верно завоевывают корпоративный сегмент рынка.

За последние годы производительность процессоров и памяти выросла в десятки раз, а производительность подсистемы ввода-вывода осталась практически неизменной - вырос только объем дисков. Для увеличения производительности нам приходится постоянно увеличивать количество дисков, докупать к массиву новые дисковые полки, использовать более сложные уровни RAID для увеличения отказоустойчивости - и снова терять производительность.

Компания Intel представила два новых SSD накопителя. Это сверхбыстрые твердотельные накопители Intel X25-M и X25-E. Первый рассчитан на системы среднего уровня, а второй, достоинства и недостатки которого я рассматриваю, рассчитан на корпоративный (High-End) сегмент.

Что же диск из себя представляет?

Диски выполнены в форм-факторе 2,5 дюйма, имеют привычный и интерфейс SATA с пропускной способностью 3.0 Gb/s, практически не греются и устойчивы к вибрациям. Полная спецификация диска доступна на сайте производителя (http://download.intel.com/design/flash/nand/extreme/extreme-sata-ssd-datasheet.pdf).

Явным достоинством дисков X25-E является использование флеш памяти SLC (single-level cell), что обеспечивает высокую производительность, так как имеется прямой доступ к каждому биту данных (в отличие от памяти MLC (multi-level cell), где в каждой ячейке хранится несколько бит данных).

clip_image002

SSD диск Intel X25-E 32 GB

clip_image004

Можно оценить масштаб

Также для повышения производительности используется десятиканальный контроллер памяти работающий с чипами параллельно, то есть вся флеш-память внутри диска объединена в RAID 0. Основное преимущество в использовании SSD дисков – крайне малое время для обращения к случайным секторам, что очень важно в системах хранения (к примеру, для поиска по базе данных). Мы постараемся проследить это в нашем тесте. Главное, что заставляет смотреть в сторону SSD дисков как на перспективное решение хранения – интерфейс SATA и самим фактом работы их с уже существующей инфраструктурой. Нет сомнений, что намного проще постепенно добавлять SSD к системам хранения, начиная от понятной возможности включения их в SATA контроллеры. А в перспективе, возможно, появятся отдельные контроллеры, оптимизированные именно под SSD или отдельные BIOS для существующих контроллеров, которые будут работать с SSD оптимально, а другие BIOS будут для HDD.

clip_image006

Если разобрать – видим на одной стороне 10 чипов памяти SLC, 1 контроллер диска от Intel, 1 чип памяти RAM в роли кэша. На другой стороне 10 чипов памяти.

В чем же отличие SSD выражается на практике? Во-первых, не все SSD диски обладают одинаковой скоростью, их производительность существенно различается в зависимости от производителя и типа микросхем, а также внутреннего контроллера самого диска. Пока технологии только-только серьезно вышли на рынок, разница в скорости от диска к диску может быть очень существенная, даже при одном типе ячеек памяти и количестве банков памяти. Эта разница может достигаться за счет оптимизации логики контроллера и технологий, использованных в нем.

Часто к недостаткам твердотельных дисков относят достаточно высокую цену за 1Mb хранимой информации. Это не совсем верно, более правильно пересчитывать цену за iops. Как правило, нам не требуется огромного объема для хранения базы данных.

Еще одно заблуждение – это невысокая надежность, вызванная ограниченным количеством циклов перезаписи ячеек памяти. Время наработки на отказ (MTBF) у X25-E составляет 2 миллиона часов, к примеру, MTBF жестких дисков Hitachi HUS153014VL300 составляет 1,2 миллиона часов, а у контроллера Adaptec на котором мы проводили тесты всего 873,402 часов.

К этому можно добавить “умный” контроллер, который оптимизирует использование ресурса записи ячеек, т.е. износ памяти происходит равномерно. Для повышения отказоустойчивости, на дисках зарезервировано 6% от объема на случай отказа части ячеек или исчерпания ими ресурса записи. А также вы можете при помощи SMART отслеживать количество уже записанной информации и прогнозировать время жизни каждого диска.

Соответственно если отдельная ячейка перестает работать, вместо неё начинает использоваться резервная. Учитывая природу SSD, это не сказывается на общей производительности, в отличие от аналогичной процедуры remap’а у HDD. Скорость работы SSD не зависит от фрагментации ячеек, как таковое понятие физической последовательности ячеек просто отсутствует в SSD.

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

Методика тестирования

Тестовая конфигурация:

Материнская плата

Supermicro X7SBE (f/w 1.2a)

Процессор

Intel Core 2 Quad Q9400 2666 MHz

Оперативная память

2x Kingston 2GB 800 DDR2

RAID контроллер

Adaptec RAID 5805 (f/w 16501) Cache Memory 512MB of DDR2

Дисковая система

Seagate 7200.10, 250Gb –системный
- 8x Intel® X25-E 32 Gb
- 8x Hitachi HUS153014VL300147Gb 15K rpm

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

MS Windows Server 2008 Enterprise 6.0.6001 (HotFix KB960735)

На данный момент ни в одном из известных мне RAID контроллеров не реализована полная поддержка SSD дисков. То есть они работают с SSD как с обычными дисками, что влияет на итоговый результат.

В своих тестах я использовал контроллер Adaptec как хорошо себя зарекомендовавший для любой нагрузки уровня локальной серверной системы хранения.

Официально Intel валидировала свои SSD под южный мост ICH9R и ICH10R, а Adaptec добавил их в лист совместимости, хотя поддержку конфигураций Adaptec начнет оказывать только с лета.

Эмпирическим путем были выяснены оптимальные настройки контроллера для работы с SSD:

Drivers Write Cache

Enable All (рекомендовано инженерами Intel)

Array Background Consistency Check

Disabled

SATA Native Command Queuing

Enabled (рекомендовано инженерами Intel)

Power Management

Off (как показали другие исследователи, данная опция имеет серьезное влияние на производительность SSD)

Почти таким же путем и параметры массива:

Write cache

Enabled (write-back) when protected by battery (общая рекомендация для RAID)

Read cache

Enabled

Stripe Size RAID 0

1024 kb

Stripe Size RAID 5

256 kb (рекомендовано инженерами Intel)

Для большей достоверности полученных результатов каждый раз перед новым тестом, проводилась полная инициализация массива.

Тест 1-го SSD диска

В начале тестирования, когда я измерял производительность одного диска, он был подключен к южному мосту ICH9R. Результаты получались в 1,5-2 раза ниже официально заявленных и при повторении тестов результаты очень сильно отличались друг от друга. Как выяснилось, проблема оказалась в некорректной поддержке NCQ в ACHI драйвере Microsoft (http://support.microsoft.com/kb/960735/en-us). После установки патча, диск сразу показал производительность близкую к заявленной.

clip_image008

Результаты получились близкие к заявленным, что позволило перейти к дальнейшим тестам дисков в RAID. Именно эти тесты представляют из себя наибольший интерес.

Забегая вперед, отмечу, что получаются чрезвычайно любопытные результаты. Чем же они любопытны? В первую очередь тем, что они ясно показывают всю специфику устройства. Поведение SSD в разных тестах принципиально отличается от поведения классических дисков в тех же ситуациях.

2xSSDRaid 0, блок 1024kb

В этой конфигурации на пробу были включены 2 SSD диска с целью понять, как оно вообще будет работать в RAID. Естественно ожидаемый прирост производительности относительно 1-го диска 2 раза.

Я прогонял по 10 минут IOmeter в 256 потоков с разными по размеру блоками запроса. Блок меньше 128kb можно соотнести с нагрузкой БД или веб-сервера, блок большего объема к работе с файлами.

Соответственно в графиках ниже, по горизонтали размер блока, по вертикали –IOPS или мегабайты в секунды.

Линейное чтение

clip_image010clip_image012

Линейная запись

clip_image014clip_image016

Сначала были выполнены тесты с последовательными чтением и записью. Поскольку, например операции чтения показали скорость больше 1,5 ГБ/сек, у меня нет к ним большого доверия. Это связано с тем, что большую часть запросов обрабатывал кэш контроллеров. В общем и целом линейные результаты получились - «ни о чем».

Случайное чтение

clip_image018clip_image020

Случайная запись

clip_image022clip_image024

А вот с операциями случайного доступа, все намного интереснее. Они не зависят от кэша и по ним можно оценить саму скорость диска, поскольку влияние модуля кэширования контроллера в них сводится к минимуму.

Интересен провал производительности в случае записи блоков больше чем 64кб, но об этом мы поговорим чуть ниже, при сравнении SAS и SSD.

Сами цифры для 2-х дисков получились отличные. Для полностью случайной записи по 4 000 IOPS на диск это очень круто.

Чтение 33%, запись 67%

clip_image026clip_image028

В этом тесте использовалась смешаная нагрузка, наглядно видно, что провал по записи тянет за собой и чтение. Это объясняется одной очредью операций в которой чтение не может опередить запись.

Результаты по случайной нагрузке - очень похоже на правду. Неравномерное изменение характеристик, связано, на мой взгляд, с прошивкой контроллера поскольку его стек не оптимизирован для работы с SSD дисками.

В начале лета должна появиться прошивка для контроллера Adaptec которая сможет использовать все преимущества дисков как следствие ожидается улучшение результатов.

8xSSDRaid 0, блок 1024kb

VS
8
xSSDRaid 5, блок 256kb

VS
8xSAS15k – Raid 5,
блок 256kb

Итак сравним напрямую производительность 8 SAS и 8 SSD на одном и том же контроллере Adaptec 5805. Всего в дисковом контроллере было 2 порта по 4 канала, соответственно все порты заняты дисками. Этим обусловлено количество сравниваемых дисков – 8. Еще на выбор в 8 дисков повлияло то что всего у меня было 8 штук SSD для тестов.

Нагрузки смотрим только случайные, последовательные игнорируем как показавшие свою некорректность.

В наших тестах размер блока чтения/записи 4Кб оказался наиболее приемлемым с точки зрения количества операций в секунду. В пользу того, что такой размер является оптимальным, говорят и официальные данные Intel, где производительность в IOPS также рассчитывается на блоках 4 Кб. Но в реальных задачах часто блоки иные, и мы постарались показать изменение производительности при смене блока. Таким образом, в этих тестах мы выбрали стандартные размеры блоков и проверяли производительность дисковых систем под нагрузкой 256 одновременных потоках IOmeter’а.

Случайное чтение

SSD

clip_image030clip_image032

SAS

clip_image034clip_image036

Различия в производительности Raid 0 и Raid 5 у SSD вызваны тем что, во втором случае контроллер RAID выполняет работу по расчетам четности блоков данных, что снижает общую производительность.

Радует что результат линейный и крайне предсказуемый. Также замечательно то, что в пике чтение SSD достигает 1ГБ/сек или 30 000 IOPS. Результаты SAS в 10 раз меньше.

Случайная запись

SSD

clip_image038clip_image040

SAS

clip_image042clip_image044

Наиболее показательно то, что SSD на маленьком блоке (512b – 8k) дает результаты почти в 20 раз выше, чем SAS. В общем-то, увидели, что и ожидали. Именно в такого типа нагрузке SSD проявляет себя с самой сильной стороны.

Падение производительности SSD на блоке больше 64кб мы уже видели до этого в RAID 0 из двух SSD дисков. Причины этого падения производительности у SSD не ясны, но можно предположить, что алгоритмы записи SSD диска заточены на блок меньший 64к. Либо алгоритмы работы Adaptec’а каким-то образом влияют на производительность контроллера SSD при блоках больших 64K. Поскольку внутренняя схема работы и алгоритмы контроллера не известны нельзя точно сказать, в чем же дело.

Но даже, несмотря на это падение, худший результат SSD всё равно выше, лучшего результата SAS.

Мы надеемся получить в скором времени оборудование, которое позволит провести дополнительные тесты и возможно это поможет понять природу данного явления.

70% запись, 30% чтение

SSD

clip_image046clip_image048

SAS

clip_image050clip_image052

Графики разделены на чтение и запись, что позволяет детально видеть динамику движения и влияние чтения на запись.

В целом, результаты повторяют собой графики случайной записи. Понятно, что операции записи выполняясь медленнее и тянут за собой чтение. В итоге суммарный результат напрямую зависит от скорости записи.

Этим объясняется падение производительности SSD на размере блока 64к. Здесь мы видим туже картину, что и в случайной записи. В случайном чтении поведение графика было другое, в тесте со смешанной нагрузкой оно становится как и у записи из-за общей очереди. Опять же про это уже говорили выше.

По результатам наглядно видно превосходство SSD дисков над HDD. На маленьком блоке оно просто огромно! SSD быстрее больше чем в 20 раз.

Время ответа массива при нагрузке 70% запись, 30% чтение

SSD

clip_image054

На графиках: ART – среднее время ответа.

SAS

clip_image056

На графиках: ART – среднее время ответа.

Итак, одна из важных характеристик про которую часто забывают – время ответа массива. По сути это время которое ждет система до того как получит ответ по одному запросу и получит возможность отправить на диск следующий запрос.

Этот параметр критичен, например, для баз данных. БД генерирует огромное количество запросов и естественно долгое ожидание на запрос, тормозит всю очередь.

По графикам видно, что на блоках свойственных БД, SSD в сотни раз превосходит обычные диски. Ситуация начинает портиться при размере блока больше 256кб, но этот тип нагрузки свойственен больше потоковому копированию на котором эта характеристика уже менее актуальна. Есть предположение, что схожая динамика SSD и SAS может быть объяснена дисковым контроллером, но это скорее предположение.

Выводы

Как мы видим, SAS диски проигрываю SSD в производительности на операциях случайного чтения и записи в 10 и более раз, что не удивительно. Классические диски - это механика, которой нужно время на позиционирование головки диска, и хорошо заметно, если посмотреть на задержки по времени доступа к диску.

Итак, если ваша задача требует интенсивного обмена данными с дисковой системой, то твердотельные диски Intel X-25E станут достойной альтернативой многодисковым массивам из традиционных дисков. К примеру, SSD получается отличным решением для баз данных или веб серверов.

В тоже время нужно понимать, что SSD не могут заменить традиционные дисковые решения для хранения больших объемов информации, хотя и могут повысить их производительность в качестве подсистемы кеширования.

При появлении в нашей лаборатории других контроллеров с поддержкой SSD (а также новых прошивок для контроллеров) мы проведем дополнительную проверку результатов и сможем проверить высказанные выше гипотезы.

Читать дальше ...