наверх

«Открытые системы» , № 05, 2006 128 прочтений

Архитектура Integrity

Hewlett-Packard занимает сегодня особое положение на компьютерном рынке.

Михаил Кузьминский

Hewlett-Packard занимает сегодня особое положение на компьютерном рынке. Вобрав в себя не столь уж давно корпорацию Compaq, которая перед этим в свою очередь поглотила другую знаменитую фирму — DEC, в HP обеспечивают своим заказчикам многолетнюю преемственность, сохраняя тем самым их капиталовложения. Кроме вычислительных систем на базе собственных микропроцессоров архитектуры PA-RISC, HP выпускает компьютеры на базе RISC-процессоров Alpha, а знаменитые отказоустойчивые системы NonStop (преемники компьютеров компании Tandem) используют процессоры MIPS R14K/R16K.

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

В планах компании — замена всех RISC-систем на компьютеры на базе Itanium 2 (компьютеры на платформе х86 будут при этом продолжать выпускаться). Серверы HP на базе Itanium 2 относятся к семейству Integrity; отсюда ясен и повышенный интерес к этим компьютерам.

В самом семействе Integrity представлены самые разные серверы — от серверов-лезвий Integrity Blade BL60p и небольших одно-двухпроцессорных серверов rx1620 и rx2620 до мощных многопроцесорных серверов Superdome. Остановимся подробнее на средних и старших моделях Integrity, которые основываются на новом наборе микросхем sx2000, сменившем sx1000.

Битва двух титанов

Новая архитектурная идея Itanium — пост-RISC архитектура EPIC, разработанная Intel и НР, и включающая элементы VLIW (very large instruction word — «cверхбольшое командное слово»), не смогла сломить всех RISC-конкурентов и доказать свое существенное преимущество для обеспечения высокой производительности. Так, на тестах SPECcpu2000 сегодня лидирует IBM Power5+. Собственно говоря, именно Intel Itanium 2 и IBM Power5+ и конкурируют сегодня на рынке высокопроизводительных Unix-серверов (если, конечно, не рассматривать х86-64). Sun Microsystems с процессорами UltraSPARC T1 пока ушла в сторону многоядерности и многопоточности с небольшой производительностью процессорных ядер [1].

Если смотреть на сегодняшнее состояние, то оба «титана» современного рынка микропроцессоров — Itanium 2 и Power5+ — отличаются большой площадью кристалла (около 230 кв. мм у Power5+/90 нм, у Itanium 2/Madison 9М, производимых по 130 нм технологии — соответственно гораздо больше, около 480 кв. мм), большой емкостью кэша третьего уровня (9 Мбайт у Madison, 36 Мбайт у Power5), во многом способствующей высоким показателям производительности на тестах SPECcpu2000, и соответственно большим числом транзисторов (порядка 300 млн. у Power5+, не считая внешний кэш третьего уровня; у будущего Itanium 2 Montecito с интегрированным кэшем третьего уровня ожидается уже фантастическое количество — 1720 млн. транзисторов) [2]. Ясно, что такие высокие показатели стоят денег, поэтому х86-совместимые конкуренты от Intel и AMD гораздо дешевле.

Power5+ изготавливается по более совершенной технологии, имеет более высокую тактовую частоту (2,2 ГГц против 1,6 ГГц у Madison) и в ряде случаев более высокую производительность (Табл. 1), является двухъядерным и имеет аппаратную поддержку работы с нитями (SMT), а также встроенный контроллер оперативной памяти. Поэтому главным конкурентом Power5+ станет, видимо, двухъядерный Itanium 2/Montecito, который вот-вот должен официально появиться на рынке, и который, как и Power5+, производится по технологии 90 нм.

Не менее определяющими в успехе процессора представляются не производительность, а ценовые характеристики. Преимуществом Itanium 2 здесь является, очевидно, большая массовость этой платформы: кроме HP, серверы на базе Itanium 2 производят такие гранды, как NEC, Unisys, Fujitsu Siemens и др. Хотя Power также является теперь «открытой» архитектурой (см. www.power.org), такого большого количества независимых производителей на платформе Power не имеется. А массовость производства, как известно, вызывает снижение цен.

Процессоры Montecito являются большим, чем просто интеграцией двух Itanium 2 в одной микросхеме. Подобно Power5, в них ожидается аппаратная поддержка двух нитей в «грубозернистом» варианте (CMT). «Грубозернистость» здесь означает, что переключение на другую нить происходит не на каждом такте, а, например, при возникновении события, дающего большую задержку, типа промаха в кэше третьего уровня. Переключение нитей, как ожидается, затребует порядка 15 тактов, что близко к полному перезаполнению конвейера; однако это время гораздо ниже задержки при промахе в кэше третьего уровня.

Применение SMT (например, в Power5, Intel NetBurst HyperThreading) считается более эффективным путем повышения пропускной способности процессора (в смысле числа завершаемых за заданный интервал времени нитей), чем CMT. Однако для статического планирования выполнения команд в соответствии с программным кодом в Montecito — в противовес внеочередному выполнению команд в суперскалярных RISC-процессоров — CMT вполне подходит. На такой важной рабочей нагрузке, как оперативная обработка транзакций, отличающейся плохой локализацией в кэше благодаря интенсивной работе с оперативной памятью с разделением данных между нитями и случайным обращениям к памяти, рост производительности за счет СMT может достигать порядка 20%. А реализация CMT в смысле сложности логики и площади на кристалле стоит очень дешево. В то же время для пропускной способности на тестах SPECrate2k ожидаемое увеличение за счет СMT может составить всего 2-5% [2].

Изменения в процессорных ядрах Montecito относительно Itanium 2-9M включают также новые функциональные устройства (в том числе для операции сдвига), новые команды IA-64, cредства виртуализации процессора и улучшение характеристик классической триады RAS (Reliability, Availability, Serviceability — «надежность, доступность, качество обслуживания»).

Интересно устроена иерархия кэш-памяти Montecito (это характерно и для Montvale, следующей за Montecito версии Itanium 2). В отличие от Power5, общего для ядер кэша здесь нет, каждое ядро имеет собственную трехуровневую иерархию кэша. По сравнению с Itanium 29M, имеющего общий для команд и данных кэш второго уровня, в Montecito кэш второго уровня расщеплен между командами и данными. D-кэш второго уровня имеет емкость 256 Кбайт, а появившийся I-кэш второго уровня имеет большую емкость, 1 Мбайт. Каждое ядро имеет I-кэш и D-кэш первого уровня, а общий для команд и данных кэш третьего уровня увеличился в емкости — до 12 Мбайт в каждом ядре.

В Montvale дополнительно планируется, в частности, поддержка нового размера страниц в буфере быстрой переадресации TLB, более быстрый интерфейс системной шины и улучшенная технология HyperThreading. Следующее поколение МП Itanium 2, Tukwilla, будет иметь не менее четырех ядер, уменьшенные задержки памяти и другие усовершенствования [4]. В их числе можно отметить, например, «ключи защиты», в том числе для безопасного разделения данных между операционной системой и приложениями (не исключено, что это связано с работой в Intel российской группы Бориса Бабаяна, в прошлом известного своей приверженностью к введению тегов, способствующих компьютерной безопасности). Вообще, думается, в Montecito основной упор делается на развитие средств обеспечения безопасности и повышение надежности и управляемости.

Вообще, как известно, сложнее добиваться снижения задержек оперативной памяти, чем увеличения ее пропускной способности. Поэтому применение DDR2, а не суперсовременной технологии FB DIMM не является существенным недостатком sx2000. Что же касается задержек в системе, то к сказанному выше следует добавить поддержку в sx2000 прямой передачи данных между процессорами, без промежуточного задействования оперативной памяти. В результате данные из процессора, который только что создал или обновил эти данные, могут быть доставлены в любой другой запросивший процессор системы не более чем за три «коммутаторных прыжка» (hop).

Улучшения системных задержек при обращении в память и при передаче из кэша в кэш при переходе от sx1000 к sx2000 составляет от 12 до 44% (табл. 4). Низкие задержки, в частности, по обращению в память, особенно важны при обработке транзакций.

Вне ячеек

Вне плат ячеек расположены две базовые компоненты sx2000 — это подсистема ввода/вывода и системные коммутаторы.

Подсистема ввода/вывода формируется в sx2000 двумя типами микросхем — системным адаптером шин PCI-X и мостом PCI-X (рис. 1). Каждый контроллер ячейки имеет высокоскоростной канал к системному адаптеру PCI-X, и уже последний связан с 8-12 (в зависимости от модели сервера Integrity) микросхемами мостов PCI-X, каждая из которых дает собственную шину PCI-X и добавляет один ее слот в конфигурацию. Пропускная способность одного слота лежит в диапазоне от 0,5 Гбайт/с до 2 Гбайт/с, пиковая пропускная способность подсистемы ввода/вывода одной ячейки составляет 11,5 Гбайт/с (поддерживаемая величина — 8,2 Гбайт/с). Для увеличения производительности ввода/вывода в системном адаптере шин PCI-X имеются буферы для кэширования входящих и выходящих данных.

В sx2000 поддерживается стандарт PCI-X 2.0 с максимальной тактовой частотой 266 МГц, а не 133 МГц, как у большинства плат ввода/вывода на рынке. Кроме того, для плат с частотой 133 МГц или 266 МГц, поддерживающих корректирующие коды ЕСС, последние коды будут реально задействованы (поддержка ЕСС в PCI-X не так уж часта).

Среди адаптеров ввода/вывода, поддерживаемых sx2000 — 10-Gigabit Ethernet, 4 Gbit Fibre Channel, 4x Infiniband, SCSI и др.

Недостатком подсистемы ввода/вывода в sx2000 является отсутствие поддержки PCI-Express (PCI-E). Современные платы высокоскоростных сетевых межсоединений, например, Infiniband 4x DDR, уже используют этот стандарт. Однако поддержка PCI-E в sx2000 запланирована уже на 2006 год.

Микросхемы системного коммутатора имеют порты с пропускной способностью 11,5 Гбайт/с (поддерживаемая величина — 9,1 Гбайт/с), а на ячейку, соединенную с тремя коммутаторами, соответственно приходится пиковая пропускная способность 34,6 Гбайт/с (поддерживается 27,3 Гбайт/с). Каналы коммутаторов имеют ряд свойств, повышающих надежность, в том числе возможности повторения передачи при сбое данных и автоматического отключения сбойного канала.

В sx2000 имеется еще широкий спектр особенностей, направленных на повышение надежности и доступности. Кроме вышеупомянутых возможностей системных коммутаторов и соответствующих каналов, следует обратить внимание на подсистему оперативной памяти. Здесь можно отметить, например, защиту адресов памяти по четности. Интересной представляется появившаяся в sx2000 технология double chip-sparing, используемая при коррекции ошибок в оперативной памяти. Если соответствующая логика установила сбойную микросхему DRAM при ЕСС-коррекции, то прошивка удаляет соответствующие биты из расчетов ЕСС, и поэтому корректирующая логика может скорректировать второй сбой DRAM в том же кодовом слове ECC. Эта схема может применяться к одной микросхеме DRAM, или всем DRAM, разделяющим бит на одной шине, или на всех шинах подсистемы памяти.

Для обеспечения надежности (и решения задачи балансировки нагрузки) в серверах на базе sx2000 применяются возможности их парционирования (разбиения на разделы). Кроме аппаратных электрически изолированных разделов nPars можно применять виртуальные разделы vPars (при этом гранулярность снижается с уровня ячейки до ядра процессора) и средства виртуальных машин Integrity VM. В последнем случае возможно «тонкозернистое» распределение, с точностью до долей процессора. При использовании vPars и Integrity VМ задействуются средства операционной системы HP-UX 11i.

Конфигурации и производительность

В различных серверах компоненты sx2000 задействуются по-разному (рис. 2).

Integrity rx7640 имеют две связанные напрямую ячейки; координатные коммутаторы не используются. В rx8640 четыре ячейки соединены двумя коммутаторами. В старших моделях, Superdome, имеется восемь ячеек и шесть коммутаторов, расположенных в двух стойках.

Рис. 2. Топология серверов Integrity

Естественно, сильно различаются и конфигурации различных моделей серверов. Серверы rx7640 имеют до восьми процессорных разъемов и размещаются в стойке высотой 10U; серверы rx8640 имеют до 16 процессорных разъемов и размещаются соответственно в стойке высотой 17U. Ячейки rx7640 и rx8640 поддерживают по 16 нестекированных модулей DIMM, а ячейки Superdome — 32 модуля DIMM. Максимальная емкость оперативной памяти ячейки в настоящее время равна 64 Гбайт для rx7640/8640 и 128 Гбайт — для ячейки Superdome.

В серверах Integrity среднего класса к ячейке подсоединяется до восьми мостов PCI-X и соответственно имеется восемь слотов на восьми шинах (всего — 16 слотов на сервер), а в HP Superdome на ячейку приходится по 12 мостов, слотов и шин (всего — 96 слотов на сервер, расширяется до 192 слотов).

И наконец, про производительность серверов. Безусловно, интерес представляют прежде всего новые данные для серверов с процессорами Montecito. На тестах TPC-C, где важна, в частности, задержка при обращении в оперативную память, двухпроцессорные четырехъядерные серверы Integrity rx4640 с Itanium 2/1,6 ГГц достигли показателя 200829 tpmC со стоимостью 2,75 долл. на tpmC. Результаты двухпроцессорного четырехъядерного сервера IBM p5570 чуть выше, 203439 единиц, но и транзакции у IBM стоят существенно больше — 3,93 долл. А вот восьмиядерный четырехпроцессорный сервер HP rx4640-8 с процессорами Itanium 29050/1,6 ГГц (очевидно, Мontecito) достиг уже показателя 290644 единиц при стоимости 2,71 долл. на tpmC (данные по тестам TPC-C взяты с официального сайта www.tpc.org). Это является хорошей иллюстрацией возможностей новых серверов HP Integrity на базе Itanium 2.

Литература
  1. Михаил Кузьминский, Асимметричный ответ «Ниагары». «Открытые системы», № 3, 2006.
  2. P. DeMone, Sizing up the Super Heavyweights. www.realworldtech.com/page.cfm?ArticleID=RWT100404214638, 2004.
  3. C. McNairy, A Technical Review of Montecito. Intel Development Forum, 2004.
  4. C. McNairy, Itanium Processor Family Technology Leadership. Intel Development Forum, Spring 2006.
  5. Ф.Бриггс, М.Цеклев, К.Крета и др., Intel 870: строительные блоки для недорогих масштабируемых серверов. «Открытые системы», № 12, 2002.
  6. Михаил Кузьминский, Система на базе Itanium 2. «Открытые системы», № 3, 2003.
Страница 1 2 3

Комментарии


26/04/2012 №03

Анонс содержания
«Открытые системы»

Подписка:

«Открытые системы»

на месяц

c