Архитектура и терминология процессоров POWER


Архитектура процессорa POWER5

Кристалл POWER4, POWER4+, POWER5, POWER5+, POWER6 — двухпроцессорный, или, по-другому, на нём находится 2 процессорных ядра. Это — "честные", аппартаные ядра, у каждого свой L1 кэш, L2 кэш — общий. L3 кэш — общий, внешний.

В терминах IBM core = way = processor (ядро = процессор).

POWER5

L1 кэш инструкций – двухпоточный, ассоциативный, с политикой замещения LRU (Least Recently Used). L1 кэш инструкций когерентен с L2 кэшем.

L1 кэш данных – четырёхпоточный, ассоциативный, с политикой замещения LRU (Least Recently Used). Модифицированные данные в L1-кэше не хранятся.

L2 кэш доступен обоим ядрам на чипе. Он поддерживает полную аппаратную когерентность с системой и может поддерживать интервенцию данных в ядра на других чипах POWER5.
1.88 МБ (1920 КБ) L2 кэш физически реализован трёмя слоями, каждое размером 640 КБ. Каждый слой имеет отдельные контроллеры. Каждое ядро имеет независимый доступ к каждому контроллеру. Слои – десятипоточные, ассоциативные. Десятипоточная ассоциативность (по сравнению с восьмипоточной на POWER4) позволяет снизить замусориванние кэша путём предоставления болльшего количества мест для хранения данных на каждой линии.

L3 кэш — 36 МБ, доступный обоим ядрам на процессорном чипе POWER5. Он обеспечивает полную аппаратную когерентность с аппаратурой системы и может обеспечивать интервенцию данных в ядра на других процессорных чипах POWER5. Логически, L3 – встроенный (inline) кэш. L3 кэш – не подмножество L2 кэша; одна и та же строка никогда не находится в них обоих одновременно. L3 кэш реализован как внешний, отдельный MLD чип, но его каталог находится на процессорном кристалле. Это помогает процессору проверять каталог после промаха по L2 без дополнительной задержки. L3 кэш в POWER5 находится на процессорной стороне фабрики. Этот дизайн позволяет обслуживать промахи по L2 кэшу чаще, избегая трафика на междучипном соединении.

Контроллер памяти также находится на чипе POWER5, что позволяет снизить задержки при доступе к памяти.

Читайте далее — как устроены многопроцессорные SMP системы?

SMP системы на базе процессоров POWER5, POWER5+, POWER6

Как выглядит двухпроцессорная (2-way) система?
Одна процессорная карта DCM (Dual Core Module), на которой находится 1 двухпроцессорный кристалл, 1 кристалл L3 кэша и 8 слотов памяти (в POWER6 — 12).

POWER5: DCM и MCM

Как выглядит четырёхпроцессорная система?
Два DCM или один QCM. Quad Core Module (есть только для процессоров POWER5+) — плата с двумя процессорными кристаллами, т.е. с 4 процессорами.

POWER DCM QCM MCM

Как различить системы на базе DCM и QCM? В индексе систем IBM System p на базе QCM есть буква "Q" (Quad), например, IBM System p5 550Q построена на QCM, а IBM System p5 550 — на DCM (или SCM — single core module — однопроцессорная). Если смотреть по тип-модели, то вместо "0Q" будет "A", например, 9133-55A (QCM) и 0133-550 (DCM).Уточнение (05.09.2007) : Это не обязательно так. Смотрите ветку Форума: http://www.aixportal.ru/cgi/yabb2/YaBB.pl?num=1190828654/0#0 А чтобы понять, как устроена Ваша система, смотрите документацию, например, IBM System p5 520 and 520Q Technical Overview and Introduction на ibm.com/redbooks. И спасибо внимательным читателям!

 

Кстати, информацию о всех системах Вы можете найти на сайте IBM, смотрите также раздел "Hardware" нашего Портала.

Для старших моделей (раньше были p670, p690 — POWER4, сейчас есть p590, p595 — POWER5) выпускают MCM (Multi Chip Module) — четыре двухпроцессорных кристалла на плате, т.е. 8 процессоров (core, way). Например, на IBM System p5 595 максимально может быть 8 MCM == 64 процессора, а ещё 2 терабайта оперативной памяти и 240 слотов PCI-X.
MCM объединяются в "книжки" (books). 2MCM == 1 book.

16-way MCM book

64-way books

А вот как выглядит однопроцессорная система?
Один DCM, но одно ядро заглушено — в результате остаётся один процессор (такой процессорный модуль называется SCM — Single Core Module), при этом, кстати, весь L2 кэш — его. L3 кэш тоже полностью его, но зачем на маленькой системе такой кэш? Правильно, его обычно на SCM не ставят.

Но… Если поставить L3 кэш, то он весь будет принадлежать одному единственному процесору! L2 == 1.9 МБ + L3 == 36 МБ — совсем даже неплохо. Да и канал к оперативной памяти весь в распоряжении этого процессора… Ну чем не основа для HPC (High Performance Computing) системы? А всем основа! И такие системы есть. Это — IBM System p5 575. p575

На базе POWER4 тоже такая была — p655. А ещё была замечательная система p690 HPC (16-way), построенная на MCM, но с заглушенными ядрами. Так вот, на вычислительных тестах она обгоняла "обычную" p690 (32-way). Подробнее — смотрите IBM System p, BladeCenter Performance Report.

.
Хотите узнать больше (например, про SMT)? Читайте дальше…

{mospagebreak}

Simultaneous Multi Threading

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

Однако, обычные процессоры выполняют инструкции из одного потока. Несмотря на улучшения микроархитектуры, утилизация модулей исполнения остаётся низкой. В среднем, она составляет 25%. Для увеличения утилизации модулей исполнения, разработчики используют параллелизм на уровне нитей, при котором физический процессор выполняет инструкции из разных нитей. Для операционной системы такое процессорное ядро выглядит как симметричный мультипроцессор с двумя логическими процессорами.

SMT

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

Дизайн POWER5 реализует двухпоточный SMT на каждом из двух ядер чипа. Хотя более высокий уровень многопоточности и возможен, моделирования показали, что добавленная сложность необоснована. При добавлении одновременных нитей на один физический процессор, выигрыш в производительности резко снижается. Фактически, дополнительная многопоточность могла бы уменьшить производительность из-за промахов в кэш, т.к. данные от одного потока замещают данные, необходимые другим потокам. 

И что в резульате? Возможное увеличение производительности на большинстве коммерческих приложений на 25-40% и больше!

А как это выглядит в операционной системе AIX?

А вот так:

# lsattr -El procX

frequency 1498500000 Processor Speed False
smt_enabled true Processor SMT enabled False
smt_threads 2 Processor SMT threads False
state enable Processor state False
type powerPC_POWER5 Processor type False
 # pmcycles -m
Cpu 0 runs at 1498 MHz
Cpu 1 runs at 1498 MHz
Cpu 2 runs at 1498 MHz
Cpu 3 runs at 1498 MHz
Cpu 4 runs at 1498 MHz
Cpu 5 runs at 1498 MHz
Cpu 6 runs at 1498 MHz
Cpu 7 runs at 1498 MHz

Команду pmcycles запустили на системе с 1 QCM и включённым режимом SMT.

 

 

Всё. Или хотите ещё почитать про архитектуру? Ищите статьи на нашем Портале, задавайте вопросы в форуме, и откройте, наконец, сайт www.ibm.com — там всё написано! 🙂

 

Оставьте комментарий