Архитектура и производительность серверных ЦП

В январе 1998 г. была выпущена модифицированная версия UltraSPARC II UltraSPARC Hi. В ядро ЦП встроили контроллер оперативной памяти

Архитектура и производительность серверных ЦП

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
столь существенен, что при большом количестве ЦП (начиная с восьми) такая топология просто неприменима, так как задержки при обращении к памяти слишком велики из-за очереди на обращение к шине. Компенсацией недостаточной пропускной способности системной шины может служить добавление значительных локальных объемов кэш-памяти к каждому ЦП. Общая шина наиболее оправданна в системах с двумя процессорами. В четырехпроцессорных системах объемы кэш-памяти каждого ЦП приходится увеличивать в 2-4 раза, что приводит к существенному росту стоимости конечной системы.

В звездообразной топологии каждый ЦП располагает выделенной системной шиной, а поэтому отсутствует необходимость в разделении доступа. Системные шины всех ЦП подключаются непосредственно к набору микросхем. Хотя такая архитектура и позволяет минимизировать зависимость производительности ЦП от пропускной способности системной шины, но налагает очень высокие требования на НМС и системную плату в целом, усложняя их проектирование и увеличивая стоимость производства. Тем не менее и этот подход не позволяет подключить большое количество ЦП звездообразная топология применяется, как правило, в системах с двумя или четырьмя процессорами.

Довольно интересный пример звездообразной топологии четырехпроцессорные серверы Fujitsu PRIME-POWER 450. В их основу положен принцип скоростного универсального коммутатора, работающего на тактовой частоте 220 МГц, который и выполняет все основные функции набора микросхем. К нему по выделенным 128-бит 220-МГц шинам (110 МГц с применением технологии DDR) подключаются ЦП SPARC64 V с тактовой частотой 2 ГГц и выше. Далее к нему же подключаются два контроллера оперативной памяти (DDR SDRAM 110 МГц), каждый из которых располагает своим 128-бит каналом данных, и два моста шины PCI по 110-МГц 64-бит каналам. Эта схема обеспечивает скоростной обмен данными между всеми узлами, но добавление, например, еще четырех ЦП и двух контроллеров оперативной памяти потребует серьезной перепроектировки коммутатора.

У систем с коммутируемой топологией нет проблем масштабируемости, свойственных вышеперечисленным шинным архитектурам. В этой архитектуре ЦП подключаются не к НМС (который может отсутствовать), а к коммутатору, соединенному с другими коммутаторами. Механизм подключения может быть как простым (широкая общая шина), так и иерархическим (древовидная иерархическая структура). На основании такой топологии можно проектировать системы с большим количеством ЦП (до 1024).

Рассмотрим коммутируемую топологию на примере 16-процессорных серверов HP AlphaServer GS160. В основе архитектуры лежит так называемый Quad Building Block (QBB), содержащий четыре ЦП Alpha 21264B (EV68C) с тактовой частотой до 1,22 ГГц, до 16 Мбайт B-cache на каждый ЦП, четыре модуля регистровой SDRAM ЕСС общим объемом до 32 Гбайт, два модуля стабилизатора питания, два 64-бит 33-МГц РСI-интерфейса, собственно коммутатор и интерфейс GlobalPort для связи с другими коммутаторами.

Четыре таких QBB объединяют в двухуровневую древовидную структуру через главный коммутатор, находящийся на отдельном модуле и обеспечивающий пропускную способность между двумя отдельно взятыми QBB по 1,75 Гбайт/с в каждом направлении.

Особняком стоят системы, в которых контроллер оперативной памяти, а часто и контроллеры периферийных шин интегрированы в ядро ЦП, а поэтому необходимость в системной шине отпадает. Такие системы строятся по NUMA-архитектуре, о которой пойдет речь дальше. Их можно рассматривать как представителей коммутируемой топологии.

Доступ к памяти в многопроцессорных системах

Независимо от количества ЦП в системе и топологии системной шины, им придется разделять доступ к общему пространству оперативной памяти, за исключением случаев, когда используется сегментирование аппаратных ресурсов некоторого сервера или суперкомпьютера для запуска нескольких копий ОС. В настоящее время существуют три типа доступа к оперативной памяти в многопроцессорных системах:

классический SMP (Symmetrical Multi-Processing, симметричная многопроцессорность);

распределенный SMP (distributed SMP);

NUMA (Non-Uniform Memory Access, неоднородный доступ к памяти).

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

Принцип распределенной многопроцессорности предполагает формирование из имеющихся в системе ЦП логических групп, каждая из которых располагает своим (локальным) объемом оперативной памяти. Естественно, что для обеспечения целостности и нормального функционирования всего пространства оперативной памяти эти логические группы должны быть как-то связаны между собой. Задержки при доступе к памяти будут соответственно различны в зависимости от того, происходит обращение к локальной или удаленной области памяти.

Следует понимать, что, несмотря на некоторое сходство, распределенная SMP не частный случай коммутируемой архитектуры: в последней могут быть реализованы как SMP, так и NUMA. Например, в вычислительном комплексе Intel Profusion восемь ЦП Intel Xeon разделены на две группы по четыре ЦП и связаны коммутатором, к которому подключается НМС с контроллером оперативной памяти. Таким образом, при обращении к памяти все процессоры равноправны и Intel Profusion представляет собой классическую SMP-систему. А вот описанный выше сервер HP AlphaServer GS160 спроектирован по принципу распределенной многопроцессорности.

Принцип неоднородного доступа (NUMA) состоит в явном разделении на локальную и удаленную память для каждого ЦП. Так как главный недостаток коммутируемой архитектуры относительно низкая скорость обмена информацией между коммутаторами, возникла идея интегрировать контроллер памяти в ядро ЦП. Модули оперативной памяти в этом случае подключаются напрямую к ЦП (без НМС). В многопроцессорной системе такому ЦП придется запрашивать информацию из оперативной памяти других ЦП и отвечать на их запросы. Модель памяти называется неоднородной, потому что скорость доставки данных из локальной оперативной памяти ЦП будет значительно выше,, чем из оперативной памяти, подключенной к другому ЦП, причем разница будет все более ощутимой с увеличением количества ЦП в системе.

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

Современные серверные процессоры

Intel Xeon

Сегодня наиболее распространенные серверные ЦП семейство Intel Xeon с архитектурой NetBurst, выполненные по технологии Hyper-Threading (все современные), совместимые по набору команд с другими ЦП архитектуры х86. Фактически это серверные версии соответствующих ЦП семейства Pentium 4, отличающиеся возможностью работы в многопроцессорном режиме и корпусом Socket 604 (ранее Socket 603). В семейство входят два типа процессоров: Xeon DP (Dual Processor) и Xeon MP (Multi Processor). Как следует из названий, Xeon DP может быть использован максимум в двухпроцессорных конфигурациях, а Xeon МР в четырехпроцессорных. Впрочем, с помощью технологий, подобных Intel Profusion, указанные ограничения могут быть преодолены. Все ЦП рассчитаны на системы с топологией общей шины. В настоящее время существенных отличий между Xeon DP и Xeon MP не наблюдается, различаются только частоты системной шины: 200 и 166 МГц соответственно.

Архитектура NetBurst обеспечивает очень высокие тактовые частоты благодаря длинным конвейерам основных ФУ 20 стадий целочисленных конвейеров для ЦП, изготавливаемых по 180-нм и 130-нм проектным нормам и 31 стадия для ЦП, выполненных по 90-нм техпроцессу (в обоих случаях не считая стадий декодирования). Так как все ЦП архитектуры NetBurst (Xeon, Pentium 4 и Celeron) имеют общую функциональную логику, незначительно изменяемую при переходе на новые проектные нормы, то все те недостатки, присущие ядрам ЦП Pentium 4 (Willamette, Northwood, Prescott), свойственны и модельному ряду Xeon. Известно, что для достижения стабильной работы на высоких частотах конвейерам NetBurst часто приходится отрабатывать «холостые» такты для синхронизации соседних стадий. Кроме того, большая длина конвейера делает его более чувствительным к ошибкам при предсказании условных переходов, так как больше времени уходит на сброс и перезаполнение конвейера.

Декодер х86-команд не синхронизирован с конвейерами ФУ и производит выборку (в том числе и упреждающую) в кэш микрокоманд (trace cache) со скоростью одна команда х86 за такт. Это оказывается эффективным при многократном исполнении одного и того же кода с достаточной временной локализацией (нет необходимости декодировать команды многократно), хотя упреждающее декодирование может засорять кэш. Согласно данным Intel, размер этого кэша 12 288 микрокоманд. Данные о длине микрокоманд в документации не представлены, но, по некоторым данным, она составляет до 10 байт в зависимости от версии ядра. Если же учесть, что после декодирования одна команда х86 преобразовывается обычно в две-три внутрен

Похожие работы

<< < 1 2 3 4 5 6 7 8 > >>