Софт
Железо
Рассылка
Support

NEW Microcom1
Железо---внутрености ПК

На главную

назад к каталогу

 

AMD Opteron: "А вместо сердца -- пламенный мотор..."
Итак, "то, о чем так долго говорили большевики", -- свершилось! 22 апреля (до чего же дата знаменательная) 2003 г. AMD представила архитектуру процессоров нового поколения, известных под аббревиатурами К8 и Hammer. Нынешнее маркетинговое название этих процессоров -- Opteron. И достаточно необычно то, что данная архитектура реализована не на десктопном рынке, который традиционно является вотчиной инноваций, а на рынке серверов и рабочих станций. Более того, десктопный вариант процессора должен быть выпущен только осенью.

 

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

 

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

1. Архитектура К8 предполагает меньшие частоты работы, чем конкурирующая с нею архитектура Pentium 4/Xeon. Посему есть смысл позиционировать процессор на рынок, менее чувствительный к такому сугубо потребительскому критерию, как "частота". Сегмент серверов опирается не столько на частоту, сколько на показатели производительности -- и потому это более удачное место для запуска сравнительно "малочастотных" (естественно, по сравнению с конкурентом) процессоров Opteron.
2. В SMP-системах архитектура Opteron теоретически должна гораздо лучше масштабироваться с ростом числа процессоров, чем основанная на шинной архитектуре технология SMP от Intel. Ну а многопроцессорные системы используются именно на этом рынке -- так что и здесь все разумно.
3. Не будем забывать о факторе стоимости -- процессор вместе с его мегабайтовым кэшем (!) получился довольно большого размера, 193 мм2. Это многовато для обычного CPU, поэтому себестоимость его будет достаточно велика. Но на рынке серверов продажные цены процессоров заметно выше, поэтому на нем быстрее окупятся инновации. Плюс инфраструктуру для новой платформы, при всей ее относительной несложности (в частности, разводка 4-процессорной платы под Opteron проще и дешевле такой же платы под Xeon), пока недорогой все же не назовешь, что является дополнительным стимулом к выходу на рынок именно серверов. Естественно, для того, чтобы продать технологию подороже.
4. Ну и еще один, технологический, нюанс. Дело в том, что в численном выражении рынок серверов куда меньше рынка обычных десктопов. А в данный момент производственные возможности AMD в отношении процессоров К8 не настолько велики (порядка сотен тысяч штук в месяц), чтобы выходить на последний. К третьему кварталу ситуация должна измениться, а пока серверный рынок для Opteron -- в самый раз.
5. Не забудем также, что одна из "изюминок" этого CPU -- поддержка технологии х86-64, которая ныне называется AMD64. Ну а 64-битная адресация на серверах и рабочих станциях является гораздо большей необходимостью, чем на десктопах, где она в данный момент не слишком востребована.
Так что, как видно, выход с этим процессором именно на серверный рынок -- весьма разумный ход. У AMD появляется полгода форы для того, чтобы отладить технологию и нарастить объемы производства. Что ж, самое время посмотреть, что получилось у инженеров AMD.

Здесь надо напомнить, что архитектуру самого процессора мы уже описывали ("Компьютерное Обозрение", # 28, 2002). Повторяться не хотелось бы, поэтому позволим себе вкратце сказать, что, по сути дела, этот процессор представляет собой комбинацию нескольких "слагаемых":
>>улучшенного ядра Athlon;
>>интегрированного в процессор контроллера памяти;
>>шины Hyper Transport в качестве системной и межпроцессорной шины;
технологии AMD64, продолжающей славные традиции расширения архитектуры (наподобие i386).
Собственно, i386 и AMD64 очень похожи именно своим глубинным смыслом -- расширить возможности архитектуры при максимальной обратной совместимости.

Также укажем, что в маркетинговых наименованиях этого продукта AMD вообще ушла от показателей частоты как синонима производительности. Теперь существует несколько линеек данных CPU -- Opteron 14x, 24x, 8xx. При этом Opteron 14x не работает в двухпроцессорных, Opteron 24x функционирует не более чем в двухпроцессорных, а 8хх -- в 4- и 8-процессорных конфигурациях. Пока выпущена только серия 24х, остальные будут анонсированы позднее. Собственно, вся линейка состоит из трех представителей -- 240, 242, 244 с тактовыми частотами 1,4, 1,6 и 1,8 GHz соответственно. При этом их цена варьируется приблизительно от $300 до практически $900. Что ж, вполне весомая причина, чтобы попытать счастья именно на серверном рынке -- на десктопном такой уровень цен вряд ли интересен большинству покупателей. Также видно, что частоты процессора не особенно велики, если сравнивать их с семейством Xeon. Что ж, тем интереснее будет их сопоставить!

 

Ну а поскольку сегодня мы сравниваем серверные архитектуры, то обратим свое внимание на соответствующие разработки других производителей -- не только на х86, но и на остальные, не менее интересные: MIPS, Power4, Itanium 2, SPARC. В конце концов, не единым х86 жив этот рынок, да и интересно глянуть на характеристики известных "монстров" процессоростроения. Эти архитектуры будут рассмотрены во врезках, а мы "припомним", что же такое из себя представляет Opteron:
12-ступенчатый целочисленный конвейер, из них две стадии принадлежат декодеру;
>> 17-ступенчатый FPU;


>>три исполнительных устройства ALU;


>>три исполнительных устройства FPU (FADD, FMULL, FSTORE);


>>128 KB L1-кэша (64 KB D-cache + 64 KB I-cache, 2-входовый частично
ассоциативный);


>>1024 КВ L2-кэша (16-входовый, частично ассоциативный);


>>поддержка x86, MMX, AMD64, 3DNow! Professional, SSE, SSE2;


>>интегрированный контроллер памяти шириной 128 бит (+ 16 ECC);


>>интегрированный контроллер HyperTransport, три шины с пропускной способностью до 6,4 GBps каждая;


>>восемь новых 64-битных регистров общего назначения (в режиме AMD64, 16 всего);


>>восемь новых 64-битных регистров SSE2 (в режиме AMD64, 16 всего);


>>интегрированная многопроцессорная логика (APIC);


>>64-битные целочисленные регистры, 48-битная виртуальная адресация, 40-битная физическая адресация.


Видно, что процессор действительно имеет, если так можно выразиться, "серверную" направленность -- конвейер сравнительно небольшой длины, уменьшающий штраф при промахе предсказания ветвления; большие кэши; интегрированный контроллер памяти, сводящий задержки доступа к памяти до минимума; интегрированная многопроцессорная логика, не требующая дополнительной логики на материнской плате. Соответственно, было бы интересно сравнить его с процессорами-"конкурентами". Слово "конкуренты" здесь взято в кавычки, поскольку соперничество между Opteron и RISC-процессорами, которые давно поставляются на рынок, весьма условно на данный момент. Но в будущем -- кто знает? Итак, первый в нашей "программе" один из старожилов, классический RISC -- MIPS серии R12000/R14000/R16000. Во врезке перечислены его характеристики, а также из нее понятно, почему мы объединили три CPU в одну серию.

При сравнении с Opteron можно увидеть следующее: заметно более короткий конвейер (6 стадий вместо 12) и, соответственно, существенно меньшая частота (хоть они связаны и не напрямую, однако удлинение конвейера поднимает потолок частот для отдельно взятой архитектуры). Также интересно, что алгоритмы предсказания ветвлений у Opteron более изощренные, а буферы истории имеют большую глубину (16К вместо 2К переходов) -- впрочем, это вполне объяснимо: с момента возникновения Rxx000 прошло уже достаточно много времени, и было бы странно, если бы данный блок не улучшили. Пропускная способность шины кэша второго уровня у Opteron также превосходит серию Rxx000 -- на частоте 1,6 GHz у Opteron теоретическая пропускная способность составляет как минимум 12,5 GBps против приблизительно 11 GBps у Rxx000 (не говоря уже о том, как Rxx000 выглядит на фоне цифры 96 (!) GBps у Xeon 3,06 GHz). Правда, сильная сторона SGI -- это архитектура системы. Но Opteron только начинает свой путь -- посмотрим, до чего он дорастет. А пока обратим внимание на другой классический RISC -- Sun Ultra SPARC III.

Картридж с Intel Itanium 2

 

В этом процессоре прежде всего бросается в глаза отсутствие внеочередного исполнения команд -- практически постоянного спутника любого современного CPU. Частоты, кэши, количество исполнительных устройств на фоне Opteron также не впечатляют -- соответственно, ничего удивительного в том, что по тесту SPEC (наиболее зависящему от процессора и памяти) Sun Ultra SPARC III сильно уступает Opteron, да и многим другим процессорам. Что самое забавное, он уступает даже собственному "клону" от Fujitsu -- SPARC64-GP. Зато есть достаточно интересная деталь -- наличие встроенного контроллера памяти, как и у Opteron. Также немаловажно то, что блок предсказания переходов имеет такую же емкость, что и соответствующий блок у Opteron. Интересным моментом является и сохранение участка, альтернативного предсказанному пути ветвления. Похожая технология встроена в Itanium и, по слухам, будет реализована в следующем процессоре AMD, пока известном как К9. Также отметим, что Sun, как и SGI, в данный момент "выезжает" не столько на производительности процессоров, сколько на "умной" архитектуре своих серверов.

Перейдем к нынешнему королю (без преувеличений) RISC-процессоров, IBM Power4. Это настоящий монстр! Впрочем, судите сами (см. врезку).

Здесь сравнение становится уже поинтереснее -- и, в общем-то, не в пользу AMD. При очень близкой частоте производительность Power4 для Opteron недосягаема. Надо признать, что стоимость этого решения от IBM такова, что все преимущество в быстродействии как-то меркнет и исчезает. Отдадим должное инженерам AMD -- они сумели создать достаточно производительный кристалл относительно небольшого размера, 193 мм2. Хотя, повторим, чудес не бывает -- и современный кристалл уровня hi-end напоминает Opteron'у, "кто есть кто" на Олимпе. Причем делает это с легкостью и с большим отрывом. Интересно, что уровень параллелизма в каждом ядре Power4 заметно выше, чем у Opteron. А вот объем кэша поменьше -- впрочем, это легко компенсируется весьма "продвинутой" и многоуровневой подсистемой кэша у Power4. Но, безусловно, впечатляет его латентность -- один такт! Это в то время, когда у Opteron, работающего в том же диапазоне частот и с похожим объемом кэша, она составляет три такта! А у Pentium 4/Xeon его L1-кэш данных объемом 8 KB тем не менее имеет два такта задержки (напоминаем, что в общем случае латентность кэша пропорциональна его объему). Воистину, инженерами IBM можно восхищаться! Впрочем, не преминем подбавить немного дегтя. 17 стадий конвейера -- достаточно грустно, и с этой точки зрения архитектура Opteron, имеющая 12 стадий, неожиданно легко догоняет Power4 по частоте. Также Power4 и Opteron роднит наличие предварительного декодирования команд -- и в том, и в другом случае "внутренний" набор команд не совпадает с внешним. Но если для х86 это уже давно не новость (со времен К5 и Р6), то для RISC встречается нечасто. Но поразило нас другое! Взгляните на рисунок восьмичипового Power4. Ничего не напоминает? Ведь очень похоже на архитектуру многопроцессорных систем на Opteron, которая неоднократно освещалась в презентациях AMD. Теперь понятна та уверенность, которую демонстрировали сотрудники AMD, говоря о том, что многопроцессорные системы на Opteron -- это будет хорошо. Что ж, практика покажет, но пока ожидания у нас вполне радужные.

Ну и "на сладкое" посмотрим на представителя так называемой post-RISC-архитектуры -- конечно же, речь о давно ожидаемом многими сравнении с Itanium 2.

Как видно, напрямую сопоставлять спецификации этой парочки уже затруднительно -- слишком уж необычна сама концепция Itanium 2. Впрочем, кое-что все же заметим. Прежде всего, интересной особенностью Itanium 2 выглядит способность в случае ветвления выполнять предварительные вычисления обеих ветвей. Напомним, что в Ultra SPARC мы также видели нечто подобное -- сохранение альтернативной ветви. Но Itanium 2 в этом плане пошел дальше и производит уже вычисление обеих ветвей -- какая-нибудь непременно да и "окажется правдой". Кстати, по непроверенным слухам, в следующем процессоре AMD, К9, будет сходная технология.

Но, без сомнения, главным отличием Itanium 2 от всех остальных, что уже неоднократно обсуждалось в литературе, является вынос логики за пределы процессора. Фактически планирование загрузки исполнительных модулей, которую в других процессорах приходится решать достаточно сложной логике, в IA64 вынесена "за скобки" -- ею занимается компилятор. Это позволяет более эффективно использовать транзисторы -- вместо логики их можно тратить на функциональные устройства и кэш. Что ж, идея интересная. С этой точки зрения Opteron -- представитель более традиционного направления в технологии производства процессоров. Оставляя за кадром сравнение двух подходов, отметим, что по количеству "мускулов" Itanium 2, в общем-то, превосходит Opteron. Но заметно проигрывает в другом -- в своей бинарной несовместимости с предыдущей платформой IA32. Впрочем, поживем -- увидим, станет ли Opteron соперником этого процессора. Хотя отметим, что сама AMD тщательно дистанцируется от прямых сравнений Itanium 2 и Opteron.

Что ж, на уровне "битвы спецификаций" Opteron выглядит вполне достойно. На вопрос же, как эти спецификации реализованы на практике, ответит тестирование. Но уже (по результатам низкоуровневых тестов) видно, что по сравнению с К7 заметно улучшен декодер команд. Если раньше (на К7) он частенько мог терять в производительности из-за неоптимального "порядка следования" команд, то теперь х86-команды длиной до 5 байт включительно декодируются в темпе 3 mOP за такт практически вне зависимости от их порядка в программе (у К7 в "неудачных" случаях темп падал до 1 mOP за такт). Заметны и другие усовершенствования. Например, для многих будет весьма утешительно узнать, что отныне Opteron прикрыт металлической крышечкой, и можно не бояться сколов и перегрева. В процессор встроен механизм Throttle Control, останавливающий блоки при перегреве до того момента, когда температура придет в норму. То есть убраны те недостатки К7, которые были наиболее значительными в глазах многих покупателей, заставляя настороженно относиться к возможности применения чипов от AMD в серверных решениях. Хотя такое отношение к мнению покупателей можно только приветствовать.

Скажем также пару слов о многопроцессорных Opteron. Как неоднократно заявляла AMD, все преимущества архитектуры К8 раскроются именно в многопроцессорных системах. Обусловлено это организацией связи процессоров между собой -- несколько независимых скоростных шин точка--точка вместо одной общей шины в системах на процессорах Intel. Причем, по заверению корпорации, наибольший эффект ожидается в рамках 4- и 8-процессорных систем. Собственно, справедливость этих предположений нам всем еще только предстоит проверить, но результаты сравнения 2- и 4-процессорных конфигураций с соответствующими конфигурациями от Intel внушают определенный оптимизм. Так, системы на Opteron:
получили наивысшие суммы баллов в тесте SPECweb 99 для двух и четырех процессоров, при этом впервые на четырех процессорах превышен рубеж в 10 тыс. баллов;
имеют наивысшие суммы баллов в тесте SPECint_rate 2000 для 2 и 4 процессоров;
характеризуются наилучшими показателями масштабируемости в тесте SPECfp_rate 2000 при переходе от одного к двум и четырем процессорам;
получили наивысшие суммы баллов в тесте SPECweb99_SSL для четырех процессоров;
являются лидерами в тесте SPECjbb 2000 для одного, двух и четырех процессоров.
Как видно, новичку есть чем гордиться -- все вышеперечисленные тесты принадлежат весьма уважаемой некоммерческой организации SPEC, контролирующей разработку и применение эталонных тестов для измерения технических характеристик высокопроизводительных компьютеров. Ну а мы, пожалуй, завершим на этом нашу теоретическую часть и перейдем к практике -- тем более что она весьма интересна.

Микропроцессор SGI MIPS R14000(А)
 
К сожалению, в последние годы начала "терять темп" одна из легендарных компаний прошлого -- SGI (Silicon Graphics, Inc.). Ее серверы по-прежнему обладают высокой мощью, но уже в основном за счет впечатляющей системной архитектуры, объединяющей в рамках одной системы до 512--1024 процессоров. Что же это за процессоры? Процессоры уникальной и, позволим себе сказать, не имеющей аналогов архитектуры MIPS. В чем же ее уникальность? А вот в чем: компания MIPS процессоров не выпускает! Совсем! Она лишь разрабатывает архитектуры и наборы команд, а затем лицензирует их желающим производить процессоры компаниям (естественно, отнюдь не бесплатно).
Такая политика вкупе с неплохо отработанными архитектурами ядер позволяет различным производителям создавать MIPS-совместимые чипы "на все случаи жизни" и для любого применения -- от стиральной машины и сотового телефона до рабочей станции или большого сервера. Причем разработчики встраиваемых систем выбирают MIPS и из-за крайне низкого энергопотребления этих ядер -- процессор с быстродействием на уровне Pentium 233ММХ потребляет всего 3--5 Вт. Однако встраиваемые процессоры выходят за рамки данной статьи, поэтому остановимся подробнее на той ветке, которую продвигает компания SGI, как на наиболее высокопроизводительных представителях архитектуры. Первым 64-разрядным процессором SGI был MIPS R10000, выпущенный в 1991 году, -- один из лидеров по производительности на тот момент. Его развитием стал увидеший свет в 1996 году процессор MIPS R12000, архитектура которого приведена на схеме.

Рассмотрим некоторые ключевые моменты, отраженные на схеме. Очевидным отличием от привычного нам х86 является очень большой регистровый файл -- по 64 (!) целочисленных и floating point регистра. Естественно, для эффективного использования этого "богатства" необходима (и имеется) развитая технология переименования регистров. Впечатляет и реализация внеочередного исполнения -- переупорядочивание возможно в пределах очереди из 16 команд. Таблица предсказания ветвлений рассчитана на 2048 значений и обеспечивает точность предсказаний (оценочно) на уровне 97--98%. В сочетании с неблокирующейся архитектурой кэшей и коммутатора эти особенности позволяют процессорам MIPS добиваться очень высокой эффективности работы -- до 4 результатов за такт, среднее же значение этой величины редко опускается ниже 1,4. Следует отметить также очень малую по современным меркам глубину конвейера процессора MIPS R12000 -- всего шесть стадий. Естественно, это означает малые потери при промахах предсказания ветвления и повышает эффективность работы процессора.

Обратите внимание на очень большую "насыщенность" каждого этапа исполнения. К сожалению, это, на наш взгляд, оказалось палкой о двух концах и не позволило процессорам SGI угнаться за взлетевшими, как ракета, частотами х86-процессоров, конвейер которых непрерывно удлинялся, а схемы каждого этапа становились все проще и легче "разгонялись". Частота процессоров MIPS R12000 застряла на уровне 400 MHz, что было хорошо пять лет назад, но сейчас просто несерьезно.

Традиционным для "тяжелых" процессоров начала--середины девяностых годов следует признать и многомегабайтовый внешний кэш. В процессорах SGI его размер теоретически может составлять до 16 MB, однако на практике производитель компьютеров обычно ограничивался 2--4 MB на процессор. Внешняя шина тоже не представляет собой ничего выдающегося -- всего 64 разряда данных и частота 100 MHz. Несмотря на высокую эффективность и раздельные каналы для данных и управления, сегодня этого очевидно мало, хотя и было неплохо на момент появления процессора.

Однако R12000 сейчас нельзя назвать "топовым" MIPS от SGI. В результате его редизайна и изменения проектных норм несколько лет назад появился процессор SGI MIPS R14000(А) с частотой 500 и 600 (вариант А) MHz. R14000, как и его предки, поддерживает набор инструкций MIPS-IV и имеет традиционную для процессоров SGI архитектуру. Отличия сводятся (помимо частоты), в основном, к ускорению работы кэша второго уровня. Шина, связывающая L2-кэш с процессором, имеет ширину в 128 разрядов и эффективную частоту передачи данных 500 или 600 MHz (используется технология DDR, т. е. опорная частота равна половине частоты процессора, а частота следования данных -- равна этой частоте). Таким образом, пропускная способность кэша второго уровня составляет 8--9,6 GBps, что, разумеется, немало... но опять-таки -- уже не на сегодняшний день. А нынешним флагманом процессоров SGI стал 700 MHz MIPS R16000. Главным его отличием от MIPS R14000 является удвоенная частота внешней шины -- 200 MHz, что в сочетании с приростом частоты на 17% позволило поднять его производительность примерно на 30--40% относительно MIPS R14000.

В целом, необходимо отметить, что, несмотря на относительную медлительность процессоров, системы SGI имеют неплохие показатели производительности на некоторых задачах. Так, традиционно сильной их стороной являются системы цифровой обработки звука и изображения -- от персональных рабочих мест до видеосерверов на тысячи и тысячи потоков. По отзывам профессионалов, старенькая SGI Indigo2 с двумя откровенно слабенькими процессорами SGI MIPS R5000 и 128 MB памяти до сих пор при монтаже видео не сильно уступает "навороченным" персоналкам последних моделей. Традиционно хороши и видеоадаптеры, которыми SGI комплектует свои системы. Например, по точности отображения цвета (12 бит на канал) они до недавнего времени не имели себе равных (да и сейчас подавляющее большинство разработчиков видеочипов ограничиваются 8 битами на канал).

Некоторый интерес представляет применение серверов SGI Origin как вычислительных машин для сильносвязанных задач. Благодаря использованию фирменной технологии коммуникаций NUMA-flex эти машины демонстрируют очень хорошую масштабируемость, намного превосходящую таковую для традиционных кластеров. И хотя "чистые" SMP-решения и многоуровневые коммутируемые системы, подобные серверам Sun, позволяют достичь подобного и даже лучшего результата -- они все же не способны создавать эффективные на сильносвязанных задачах системы размером в 1024 процессора (заметим, управляемые одной копией ОС). Размер, как говорится, тоже имеет значение.

Надо сказать, что SGI MIPS применяются и в мэйнфреймах Siemens. Ничего выдающегося с вычислительной точки зрения эти машины не представляют, несут от одного до 32 процессоров в довольно простой архитектурно системе, но имеют очень высокие показатели по производительности ввода/вывода, надежности работы, эффективности использования ресурсов, а главное -- они бинарно совместимы со старыми мэйнфреймами Siemens! Защита инвестиций пользователей -- дело святое!

Copyright Microcom Software 2003

Используются технологии uCoz