понедельник, 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)

14 комментариев:

  1. Пасиба! Как говорится, в мемориз.

    ОтветитьУдалить
  2. А можна вопрос по части "Выбор модулей оптимального объема."
    Почему конфигурация 12планок по 4гига для ДДР3-1333, что дает 48гиг, невозможна?

    ОтветитьУдалить
  3. Конфигурация возможна, только память будет работать на частоте 1066 МГц.

    ОтветитьУдалить
  4. Для наглядности можно посмотреть вот эту софтину, очень наглядная, рекомендую.
    Intel Memory Configuration Tool
    http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=1762

    ОтветитьУдалить
  5. Спасибо за софтинку. Действительно очень наглядно :) Но на скольно я понял эта софтина не знает, что существують 8 гигабайнтые планки и на них все же можна поставить 48 гиг в 1333 МГц.

    ОтветитьУдалить
  6. Главное сам принцип, а планки и по 16 Гб есть =)
    Вы цену знаете на них? (8ГБ дуал ранг pc3-10699 cl9 ecc ddr3 lp rdimm 1333 1353 БАКОВ)
    И еще важно помнить, что частота памяти зависит и от процессора. Т.к. именно в них расположен контроллер памяти.

    ОтветитьУдалить
  7. Карен Закарян11 мая 2010 г., 15:42

    линк изменился счас прога находиться по
    http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=158&DwnldID=17625&lang=eng
    но на мой взгляд лучше воспользоваться сайтом HP
    http://h18004.www1.hp.com/products/servers/options/tool/hp_memtool.html
    на нем актуальнее информация

    ОтветитьУдалить
  8. Анонимный12 мая 2010 г., 11:03

    diz: Кстати, 56е ксеоны "иксовые" могут работать с некоторой памятью на 1333MHz при 2х планках на канал.

    ОтветитьУдалить
  9. 2diz: я Вам больше скажу - на правильных платах даже 55е могут работать на 1333МГц при двух планках на канал.

    ОтветитьУдалить
  10. Очень полезно.
    Я столкнулся с проблемой: сервер Supermicro 6016T-NTRF (два ксеона), но с одной планкой 2Гб DDR3 1333 Registered ECC. Железка заводится, FreeBSD различных версий ставится, но всегда постоянный kernel panic. Вопрос: а можно ли на такие системы устанавливать только один модуль вышеуказанной памяти? Понятно, что несбалансированно и т.п... Или все же для каждого проца необходим минимум по одному модулю? Спасибо!

    ОтветитьУдалить
  11. 1 модуль должен нормально работать. Может быть начать с проверки на более иных операционных системах?

    ОтветитьУдалить
  12. diz:1 модуль всего, или по 1 на процессор?

    ОтветитьУдалить
  13. Один всего. 1шт на сервер. Ровно один модуль :) Суммарно.

    ОтветитьУдалить
  14. diz: Я бы не стал такое собирать. Это противоречит архитектуре и как минимум некрасиво :))

    ОтветитьУдалить