`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Opteron: "бархатная революция" от AMD

+11
голос

Истинные революции в наше время происходят нечасто, и, безусловно, выход нового 64-битного процессора AMD Opteron -- одна из наиболее крупных за последние годы. Судьбу ему с самого начала предсказывали непростую -- как из-за архитектурных особенностей, так и из-за ситуации на рынке. Архитектуре посвящена отдельная статья, рынком пусть занимаются маркетологи, мы же поговорим "о своем, о тестерском" -- как там у него с производительностью, у этого нового "чуда"?
Повторяться не хочется, однако для соблюдения формальностей мы позволим себе еще раз обратить внимание читателей на статью "AMD Opteron: "А вместо сердца -- пламенный мотор", которая опубликована в этом номере журнала. Архитектура нового процессора, его особенности и даже "развернутое сравнение" с другими 64-битными CPU присутствуют там в довольно большом количестве, поэтому наше вступление будет кратким и по сути сведется к формулировке основной задачи. Что мы хотели бы видеть в тестовом материале про Opteron? Производительность в "родном" 64-битном режиме? Безусловно. Быстродействие в "старых" 32-битных приложениях? Разумеется! Хоть один пример тестирования настоящей серверной системы? Наверняка да. Может, не все получилось так, как задумывалось, но без ложной скромности заметим, что получилось очень многое, даже сам процесс проведения тестов и написания статьи был чрезвычайно интересным для всей нашей Тестовой лаборатории без исключения. Надеемся, что в итоге читать материал вам будет как минимум не менее интересно, чем нам было его писать.


Экспериментальная часть

Конфигурации систем

Аппаратная часть была представлена тремя серверами пьедестального исполнения производства компании Entry: на платформах AMD Opteron, AMD Athlon MP и Intel Xeon соответственно. Все системы были оснащены двумя CPU (Opteron 242, Athlon MP 2600+, Xeon 2,4 GHz), оперативной памятью объемом 2 GB (ECC DDR266, 4 512 MB DIMM) и дисковой подсистемой в виде RAID 5 на базе Ultra160 SCSI RAID-контроллера Adaptec и трех SCSI-винчестеров с частотой вращения 10000 об/мин.


"1С:Предприятие" + Microsoft SQL Server

Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Это действительно был смелый эксперимент, так как ранее нам вообще не приходилось сталкиваться с данной программой -- и не только в тестах, но даже просто в процессе работы. Однако "1С:Бухгалтерия" и "1С:Предприятие", несомненно, являются одними из самых распространенных в "родных пенатах" вариантов "базы данных общего пользования", и если уж делать такой тест, то почему мы должны ориентироваться на лидеров западного рынка, когда у нас есть ярко выраженный "местный"?

Разумеется, мы не стали создавать методику тестирования "с нуля" собственными силами, а пригласили соответствующих специалистов. Поэтому использованную в данном материале методику можно считать "совместной разработкой" Тестовой лаборатории ITC и компании Wizzard Ltd., занимающейся развертыванием и сопровождением продуктов "1С".

Заметим, что данная группа тестов является единственной в этом материале, где применялись процессоры Intel Xeon 2,4 GHz (а не 2,8 GHz). Причина этого, в общем-то, достаточно банальна: учитывая то, что тестированию подвергались именно готовые, собранные серверы, нам приходилось, соответственно, ориентироваться на ассортимент, имеющийся в данный момент у конкретного поставщика готовых решений. Во всех прочих тестах, проводившихся позднее и уже в рамках нашей Тестовой лаборатории, были использованы процессоры Intel Xeon 2,8 GHz.

Программная часть состояла из операционной системы Microsoft Windows 2000 Server (Service Pack 3), Microsoft SQL Server 2000 (Service Pack 1) и собственно основного "инструмента" -- программы "1С:Предприятие 7.7". Хотелось бы подчеркнуть, что в тестировании использовалась не "синтезированная", а совершенно реальная база данных, представляющая собой продукт жизнедеятельности одного из крупных украинских предприятий. Программа "1С:Предприятие" запускалась физически на той же машине, что и SQL Server, поэтому, разумеется, полной имитацией работы пользователей Windows Terminal Server проведенный эксперимент назвать нельзя -- из него исключена "сетевая составляющая". Однако мы решили, что с точки зрения основного предмета тестирования 100%-ной "реалистичностью" можно пренебречь, тем более что все три сервера были поставлены в абсолютно одинаковые условия.

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

  • Загрузка или выгрузка базы данных формата DBF и SQL -- т. е. восстановление БД из архива и проверка целостности с восстановлением всей убранной в процессе архивирования информации, а также обратная по смыслу операция.
  • Тестирование базы данных SQL. В данном случае имитировалось некорректное завершение работы программы, после которого вся БД проверяется на предмет целостности и корректности данных.
  • Два типовых отчета: взаиморасчеты с контрагентами и оборотная ведомость, а также отчет о движении товарно-материальных ценностей (ТМЦ) в двух режимах -- "однопользовательском" (один виртуальный пользователь дает команду на формирование одного отчета) и "многопользовательском" (четыре пользователя одновременно запрашивают тот же отчет).
Результаты тестов оказались достаточно интересными. Итак, обратим внимание на первую диаграмму -- загрузка БД. Четко прослеживается лидерство обеих платформ AMD, но далее следуют "нюансы" -- если на формате DBF Opteron и Athlon MP продемонстрировали примерно одинаковое быстродействие (разницу в 3% вряд ли стоит считать существенной), то в случае с форматом SQL разница намного ощутимее -- уже почти 12%. Нам кажется, что связано это, скорее всего, с частотой работы процессорного ядра. Разумеется, есть задачи, где большой объем кэша второго уровня (у Opteron он равен 1024 KB -- сравните с "несчастными" 256 KB у Athlon MP!) очень "помогает", но встречаются и такие, где основным параметром при приблизительно одинаковой архитектуре является частота. У Athlon MP 2600+ она составляет 2133 MHz, а вот у Opteron 242 -- всего 1600 MHz. Таким образом, при работе с БД SQL частота оказалась решающим аргументом. Правда, не для Xeon -- он проиграл во всех тестах, несмотря на свои 2400 MHz. Что ж, видимо, у российских программистов до оптимизации под новую архитектуру руки еще не дошли...

А вот на выгрузке БД формата DBF и тестировании "поврежденной" SQL-базы Opteron воистину продемонстрировал все, на что он способен. Разница по быстродействию между лучшим и худшим результатом в 64% -- этого нам при сравнении аналогичного в общем-то класса систем не доводилось видеть уже давненько. И опять в проигрыше именно процессор Intel... Нет, кажется, "1C: Предприятие" -- определенно "не его" приложение.

В генерации типовых отчетов обращает на себя внимание опять-таки вырвавшийся вперед сервер на базе процессоров Opteron -- две другие системы пришли к финишу практически одновременно. Довольно забавно отразились на результатах архитектурные различия конкурентов -- "с точки зрения" как AMD Athlon MP, так и Intel Xeon создание отчета по взаиморасчетам с контрагентами является более сложной задачей, чем составление оборотной ведомости, а вот Opteron "считает" с точностью до наоборот.

В тесте на составление отчета о движении ТМЦ мы решили исследовать производительность систем несколько более детально, что и можно заметить на диаграммах. В данном случае, кроме тестирования серверов в "собранном", двухпроцессорном виде, они также были подвергнуты разборке и извлечению одного CPU с целью оценить масштабируемость трех представленных SMP-архитектур. Весьма интересна первая ТМЦ-диаграмма, где отчет формируется для одного клиента. Обратите внимание -- системы на базе Opteron и Xeon при добавлении второго CPU "не испытывают большого воодушевления" -- результаты одно- и двухпроцессорных конфигураций практически идентичны. В это же время Athlon MP реагирует на добавление второго CPU весьма бурно, увеличивая производительность на 51%. Как нам кажется, наиболее логичным будет такое объяснение: для первых двух систем эта задача не является сложной, поэтому на то, чтобы выполнить ее с максимально возможной скоростью, хватает и одного процессора. А вот Athlon MP, судя по всему, отчет о движении ТМЦ дается с трудом -- чем и вызвано повышение быстродействия сервера при добавлении второго процессора. Теперь еще одно наблюдение: заметьте -- практически индифферентен к количеству CPU оказался Opteron, чуть более, но все-таки не очень значительно -- Xeon, и сильнее всего -- Athlon MP. Подсказка: кэш второго уровня у Opteron -- 1024 KB, у Xeon -- 512 KB, у Athlon MP -- всего 256 KB. Дальнейшее, как говорится, и объяснять не стоит...

В случае с четырьмя одновременно обрабатываемыми запросами ситуация, разумеется, совершенно другая. Тут уже ни один процессор не остается без дела, поэтому и прирост скорости от его установки получают все системы без исключения. Любопытно другое: посмотрите, как интересно "легли" столбики. Фактически мы наблюдаем, что однопроцессорная система одной архитектуры по быстродействию оказывается иногда почти эквивалентна двухпроцессорной системе другой архитектуры! Так, отличился однопроцессорный сервер на Opteron, почти догнавший двухпроцессорный Xeon, и, кстати, однопроцессорный Xeon, под большой нагрузкой практически идентичный по производительности дуальному Athlon MP. Но абсолютный лидер все равно один -- Opteron. Опять-таки, обратим внимание на существенность различий -- лучший и худший показатели двухпроцессорных систем в этом тесте отличаются на 91% -- почти в два раза! А ведь внешне "коробочки" (серверы) выглядят ну просто как близнецы-братья...

Подведя итог, можно сказать следующее: основной герой материала в данной группе тестов продемонстрировал превосходные показатели, и по общему зачету является абсолютным чемпионом, причем вырвавшимся довольно далеко вперед. А вот результаты системы на базе Xeon, честно говоря, несколько удивили -- под большой постоянной нагрузкой она ведет себя очень неплохо, а вот в режиме обслуживания одного активно работающего пользователя то ли "ленится", то ли, что называется, "разогнаться не успевает". Впрочем, архитектура NetBurst, на основе которой разработаны процессорные ядра Pentium 4 и Xeon, известна своими достаточно своеобразными предпочтениями в плане алгоритмов, используемых в различных программах. И вполне вероятно, что алгоритмика "от 1С" просто "не пришлась ей по вкусу".

Hyper-Threading в системе с двумя CPU: не совсем очевидные тонкости

О том, что в определенных ситуациях использование Hyper-Threading может не только повышать быстродействие в приложениях или оставлять его без изменений, но и понижать, в свое время была масса разговоров, но, в общем-то, практика показала, что в случае корректно написанных программ данное явление почти не наблюдается. Однако оказалось, что один нюанс все же имеется. Проявляется он исключительно на двухпроцессорных системах с включенным Hyper-Threading (т. е. при эмуляции наличия четырех процессоров) и на операционных системах, не делающих различия между "виртуальными" и "реальными" CPU. К слову, именно при тестировании связки из "1С:Предприятия" и Windows 2000 Server мы и столкнулись первый раз с тем, что "четырехпроцессорный" сервер на базе дуального Xeon (результаты которого даны на диаграммах) показывал несколько худшие результаты, чем "честный двухпроцессорный" (с отключенным Hyper-Threading). Проявляется данный нежелательный эффект в тех случаях, когда одновременно работают два активных потока или однопоточных приложения.

Что происходит? Просто-напросто ОС, не ведая о том, что CPU1+CPU2 -- это на самом деле один процессор, в то время как второй -- это CPU3+CPU4, "раскидывает" два потока... правильно -- на первый и второй CPU, которые в действительности не что иное, как один физический процессор. Второй же физический CPU ("третий" и "четвертый" с точки зрения ОС) в это время попросту "отдыхает". Судя по документации Microsoft, обладает подобными особенностями поведения только Windows 2000 (как Server, так и Professional), в более поздних ОС данная ошибка исправлена.


SuSE Linux Enterprise Server для платформы AMD64

Второй "совместный тестовый проект", и на этот раз -- с компанией Gala.Net, чей персонал по нашей просьбе производил установку и настройку ОС и ПО для имитации функционирования систем в качестве Web-сервера. Также это единственный тест в данном материале, в котором AMD Opteron работал с 64-битными приложениями и под управлением 64-битной операционной системы.

Легко заметить, что на диаграммах представлены только две системы из трех -- сервер на базе AMD Opteron и его основной конкурент -- Intel Xeon. И опять причина очень простая -- этот раздел относится к разряду тех, что обычно даются под заголовком "пока верстался номер". Новая платформа AMD все-таки еще очень "молода", поэтому наши планы относительно возможного состава тестов постоянно "корректировались" чисто внешними факторами -- чего-то еще нет, что-то "будет скоро", а что-то -- вообще неизвестно, успеет ли к сдаче статьи или нет. SuSE Linux Enterprise Server для платформы AMD64 "успел", но под самый конец, в результате чего список тестовых платформ пришлось волевым решением сократить до двух, потенциально самых интересных. Также заметим, что на 32-битных конфигурациях (Xeon) использовался другой дистрибутив Linux -- не SuSE, а Debian (версии 3.0). Это объясняется прежде всего тем, что, по словам специалистов компании Gala.Net, SuSE Linux у нас, в общем-то, -- не самый распространенный Linux-дистрибутив, поэтому "экзотикой" в данном случае был он, а не Debian. С другой стороны, с точки зрения компании AMD, именно дистрибутив от SuSE является наилучшим из доступных на данный момент Linux для платформы AMD64.

Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Apache 1.3.26 + PHP 4.2.2. Именно это ПО в комбинации со стандартным, идущим в поставке с Web-сервером Apache бенчмарком, использовалось нами для имитации работы настоящего Web-сервера на каждой из тестируемых систем. Имитация нагрузки реализовывалась по следующей схеме: давалась команда на выполнение 1000 запросов от 50 виртуальных "посетителей" к страничке http://localhost/index.php, которая в ответ "отдавала" динамически генерируемую с помощью PHP графическую диаграмму. Информация о быстродействии по завершении работы скрипта приведена в двух формах, одинаковых по смыслу, но разных по представлению -- время исполнения скрипта и количество отрабатываемых за секунду запросов. Также в данном тесте мы поэкспериментировали не только с одно- и двухпроцессорными вариантами систем, но и с включением/выключением поддержки Hyper-Threading у системы на базе Intel Xeon. Все-таки исследование поддержки этой технологии именно ОС Linux ранее не являлось предметом нашего внимания, поэтому любопытство было вполне естественным.

Итак, результаты. Во-первых, сразу же бросается в глаза, что двухпроцессорность -- вполне востребованный ресурс с точки зрения данного теста. Так, при задействовании второго процессора производительность системы на базе Opteron выросла на 74% (не в два раза, конечно, но тоже очень неплохо), а быстродействие сервера на базе Intel Xeon, соответственно, увеличилось на 95% (вообще почти "идеальный" результат!). Кроме того, виден и прирост от использования HyperThreading на Xeon -- в случае с одним процессором ("виртуальная двухпроцессорность") он составил 13%, а на двухпроцессорной системе ("виртуальная четырехпроцессорность") -- 11%. С одной стороны, конечно, это не поражающие воображение цифры, но с другой -- если вспомнить, что даются они фактически "даром" -- очень даже неплохой эффект. По абсолютным показателям однопроцессорная система на Opteron 242 выигрывает у однопроцессорного же Xeon 2,8 GHz (с включенной поддержкой Hyper-Threading) около 27%, разница же между двухпроцессорными системами составляет, соответственно, 13% (ох и зачастила в данном разделе эта "счастливая цифра"...). Выигрыш не ошеломляющий, но и маленьким его тоже не назовешь, так что мы можем констатировать, что Opteron еще раз показал себя с наилучшей стороны. Благодаря чему -- то ли своему быстродействию "вообще", то ли поддержке 64-битности со стороны ОС и ПО -- сказать пока трудно.

Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
MySQL 3.23.52. Еще один довольно популярный сервер баз данных, кстати, также нередко используемый на Web-серверах (в частности, именно на комбинации из Apache, PHP и MySQL работает Web-проект "Издательского дома ITC" -- сайт ITC Online, www.itc.ua). Исследование быстродействия систем производилось с помощью опять-таки стандартного MySQL Bench, на диаграммах представлены три наиболее интересных подтеста -- Alter-Table, Insert и Select. Легко заметить, что какие-либо данные относительно количества CPU в системах или поддержки Hyper-Threading отсутствуют. Объясняется это тем, что, как оказалось, собственно MySQL, работающий "в одиночестве", совершенно индифферентен к количеству процессоров в системе. А поскольку "клиентом" в данном случае выступал простенький скрипт, то второй процессор большую часть времени просто-напросто оставался незадействованным. Результаты же снова в пользу AMD Opteron -- он выигрывает в двух тестах из трех, причем с довольно большим отрывом.

Кроме того, нами был проведен еще один тест с использованием "родного" 64-битного кода для AMD64, и также под управлением 64-битного SuSE Linux. Однако его мы вынесли в более соответствующий ему мультимедийный раздел, так как касается он кросс-платформенного MP3-кодека LAME.


Стандартная часть

Ну, вот мы и переходим к "более или менее стандартной" части нашей тестовой методики. "Стандартной" -- потому что далее будет рассматриваться привычная нашим читателям комбинация из обычной 32-битной пользовательской ОС Microsoft Windows XP Professional (Service Pack 1) и столь же привычного 32-битного ПО. "Более или менее" -- потому что по сравнению с предыдущими материалами наша методика была несколько изменена и в некоторых аспектах довольно сильно "выросла".


Подсистема памяти: Cache Burst 32

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

Итак, чтение и запись из/в кэш первого уровня (L1). Первой бросается в глаза просто-таки "сумасшедшая" скорость чтения из L1 у Intel Xeon при использовании инструкций SSE. А если сделать допущение (смелое, конечно, но все-таки...), что на самом деле блоки SSE у всех процессоров имеют одинаковую производительность, но при разной частоте работы ядра она растет строго пропорционально? Посмотрим... Получается, что у Athlon MP скорость чтения из L1-кэша при функционировании ядра на частоте, аналогичной Xeon, должна равняться 15724 (2800/2133)@20641 MBps. Сравниваем с 40495 MBps у Xeon... Нет, не получается. В чем тут дело -- то ли в самом кэше, то ли в быстродействии блока -- вопрос открытый, но искомой закономерности мы не обнаружили.

C Opteron ситуация полностью аналогичная: 11695 (2800/1600)@20466 MBps, что от цифр Xeon отстоит также довольно далеко. Следовательно?.. Пока что ограничимся осторожным комментарием, констатирующим только голые факты: скорость чтения из кэша у Xeon при использовании набора SIMD-инструкций SSE является "маленьким чудом" и находится вне конкуренции. А вот на наборах инструкций MMX и стандартных x86 результат вообще "загадочный" -- Athlon MP, работающий отнюдь не на самой высокой частоте, стабильно обгоняет как Xeon, так и Opteron. Как говорилось в одной сказке, "чем дальше -- тем страньше"... Запись в кэш первого уровня у Athlon MP вообще самая быстрая, но здесь уже можно хотя бы найти какие-то ожидаемые сходства и различия у процессоров разных производителей и архитектур: у Intel Xeon набор MMX быстрее, чем x86, а SSE, соответственно, быстрее MMX, в то время как у Athlon MP и Opteron скорость чтения с помощью инструкций MMX и SSE практически одинакова.

Переходим к кэшу второго уровня (L2). И вот тут-то... Да... Плачевная ситуация для процессоров AMD, весьма плачевная. Только на стандартном наборе инструкций x86 они могут как-то конкурировать с Xeon в скорости записи/чтения, при переходе же на MMX и SSE процессор Intel "уходит в далекий отрыв". Причина тому одна: Xeon (равно как и Pentium III Coppermine, и Pentium 4) имеет шину L2-кэша шириной в 256 (!) бит, в то время как у процессоров AMD ее ширина равна всего 64 битам. Что примечательно -- 64-битная шина L2-кэша присутствует даже у Opteron, который, в отличие от Athlon MP, оснащен 128-битной (большей ширины!) шиной памяти.

Диаграммы с результатами скорости доступа к ОЗУ преподносят нам еще один сюрприз: здесь вы можете заметить изменения в "составе участников" -- Opteron представлен как в одно-, так и в двухпроцессорном режимах. Связано же это с тем, что скорость доступа к основной памяти в этих двух случаях у систем на базе Opteron действительно существенно отличается. Причина опять-таки проста -- это обусловлено архитектурой данных систем. Напомним, что контроллер памяти у AMD Opteron встроен в процессор, но в то же самое время в дуальной системе память обоих CPU представляется как единый, непрерывный массив. Таким образом, когда процесс обращается к памяти, физически подключенной к тому CPU, на котором он работает, скорость доступа получается максимально возможной, но в другом случае процесс вынужден обращаться к контроллеру памяти "не своего" процессора, что приводит к уменьшению скорости и увеличению задержек. На практике же оказывается, что даже относительно небольшой 16-мегабайтовый линейный массив (который мы указываем использовать Cache Burst 32), по всей видимости, никогда не бывает расположенным исключительно в той области памяти, которая "принадлежит" одному процессору. Соответственно, скорость доступа к ОЗУ у одно- и двухпроцессорных систем действительно различная. Правда, "все не так плохо" -- если в случае чтения у дуальной системы скорость ниже, то в случае записи она выше! Почему? Элементарно -- ведь запись в память тоже кэшируется! И получается, что "в распоряжении" процесса, выполняющего запись в области памяти, физически подключенные к разным CPU, оказывается фактически удвоенный объем L2-кэша! Что же касается абсолютных показателей скорости, то тут наблюдается относительный паритет Opteron и Xeon на фоне... безнадежно отстающего Athlon MP. Это, в общем-то, понятно: в распоряжении Opteron находится 128-битный контроллер памяти, встроенный в процессор, у Xeon -- чипсет с двухканальным контроллером DDR266 и "толстая" 533-мегагерцевая процессорная шина, а вот Athlon MP лишен как одного, так и другого...

Тесты латентности представлены тремя диаграммами: латентность при чтении с маленьким и большим шагом и стандартный, знакомый нашим читателям по предыдущим материалам Memory Walk. Следует заметить, что в те времена, когда K8 (он же Hammer, он же ныне Opteron) был еще только "в глубокой бете", -- еще тогда AMD особенный упор делала на то, что встраивание контроллера памяти в процессор позволит кардинальным образом снизить латентность. Полученные нами результаты подтвердили предположения AMD, что называется, "на 200%" -- латентность систем на базе Opteron при чтении из памяти с большим шагом и в тесте Memory Walk меньше, чем у ближайшего конкурента (Xeon), как минимум в два раза. Ну а результаты другого процессора от той же компании -- Athlon MP -- еще раз доказывают, что дело тут именно во встроенном контроллере памяти. Что ж, по крайней мере одна очень сильная сторона Opteron нам уже доподлинно известна -- задержки при доступе к ОЗУ у этого процессора самые маленькие в масштабах всей архитектуры x86.


Вычислительная производительность ядра: CPU RightMark 2

К независимому тесту с открытыми исходными текстами CPU RightMark мы приглядывались относительно давно. Когда же в нем наконец-то появилась поддержка многопроцессорных систем (SMP), доводы в пользу его использования стали очевидными.

Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Для на чала немного о сути самого теста. Цитируя авторов: "Тест CPU RM предназначе н для объективного измерения производительности современных и будущих CPU в различных вычислительных задачах, таких, как: численное моделирование физических процессов и решение задач из области трехмерной графики". Фактически тест состоит из двух блоков: расчета физической модели (авторы используют термин "решатель") и отображения сцены (модуль рендеринга). При этом доступны результаты как совокупной скорости работы обоих блоков (задания модулю рендеринга поступают, очевидно, от решателя), так и каждого модуля в отдельности. Модуль решателя поддерживает как стандартные инструкции x87 FPU, так и расширенные -- SIMD-набор SSE2 (ныне его поддержка присутствует не только у процессоров Intel на ядре NetBurst, но и у AMD Opteron), и является однопоточным. Модуль рендеринга поддерживает три различные оптимизации: FPU + General MMX (процессоры Intel Pentium MMX, AMD K5), FPU + EMMX (MMX Extensions, AMD Athlon/Duron) и SSE + Enhanced MMX (Intel Pentium III/4, Celeron, AMD Athlon XP, а теперь, соответственно, и Opteron), и является многопоточным. Доступен выбор режима работы: один, два или четыре потока.

На результатах диаграммы общей производительности CPU RM сосредоточены лучшие показатели каждой платформы -- соответственно, в случае с Xeon и Opteron в модуле решателя применялась оптимизация под SSE2, а в модуле рендеринга -- SSE+EMMX, в случае же с Athlon MP модуль решателя работал с командами FPU. Первая часть теста -- работа модуля рендеринга в "однонитевом" (1 Thread) режиме -- никакой зависимости от количества процессоров и задействования HyperThreading не продемонстрировала, что, в общем-то, естественно. Ситуация складывается не в пользу Opteron -- даже наличие поддержки SSE2 не помогло этому процессору, он оказался на последнем месте. Причина, скорее всего, банальна -- самая низкая частота у Opteron среди всех участников тестирования ("великанскому" объему L2-кэша данный тест, видимо, просто не нашел должного применения).

Более интересна следующая итерация -- с распараллеливанием процесса рендеринга на два потока. Легко заметить, что все без исключения дуальные системы продемонстрировали достаточно серьезный прирост производительности, и даже не только в случае "честного SMP", но и в режиме эмуляции двухпроцессорной системы на одном процессорном ядре (одиночный Xeon с Hyper-Threading). А вот как раз дуальной системе на Xeon Hyper-Threading, наоборот, мешает! Почему? Здесь мы не будем останавливаться на этом факте более подробно, так как он детально расписан во врезке "Hyper-Threading в системе с двумя CPU: не совсем очевидные тонкости". Что интересно -- система на базе Opteron получила от добавления второго CPU несколько большее ускорение, чем две другие. Так, прирост производительности от установки второго процессора у Xeon (в наилучшем из случаев) и Athlon MP составляет примерно 32%, в то время как у Opteron это значение выше -- порядка 39%. Включение режима с четырьмя потоками помогло только системе на базе Xeon -- что естественно, ибо только она (в дуальной конфигурации и со включенной технологией Hyper-Threading) может "эмулировать" такое большое количество CPU. Впрочем, прирост невелик -- всего 4%. Общее же распределение мест по результатам всех четырех подтестов таково: Xeon на первом месте, Athlon MP -- на втором, и лишь на последнем -- "герой дня". Что ж, иногда частота оказывается решающим доводом, и об этом тоже нелишне помнить.

На следующей диаграмме (скорость рендеринга при использовании FPU) мы наблюдаем картину, которую условно можно назвать "что происходит с Pentium 4/Xeon, если их загнать в жесткие рамки неоптимизированного ПО". Блок FPU у этих процессоров, чего греха таить, слабоват, и не спасает даже частота. А вот как соотносится производительность блока FPU у двух процессоров AMD? Казалось бы, по результатам тестов Athlon MP выигрывает у Opteron. Однако давайте-ка опять займемся "арифметикой в рамках начальной школы" и посчитаем некую гипотетическую величину быстродействия "Opteron 242, работающего на частоте Athlon MP 2600+". Вдруг будет интересный результат?... Итак, наш "гипотетический Opteron" должен продемонстрировать производительность 59 (2133/1600)@79 кадров в секунду. Сколько у Athlon MP? Семьдесят семь. Практически "в точку"! Проверяем на дуальной системе: 59*(2133/1600)@136 кадров в секунду. У дуального Athlon MP 2600+ -- результат 139, опять практически идеальное попадание! Что ж, похоже, можно констатировать, что по крайней мере в рамках стандартного 32-битного кода тесты свидетельствуют об очень большом сходстве между блоками FPU Athlon MP (и Athlon XP, соответственно) и Opteron. В общем-то, AMD и не скрывала того, что K8 представляет собой "расширенный K7", но все равно приятно получить эмпирическое подтверждение этого факта.

А вот на третьей диаграмме из этой серии тестов, где блок рендеринга работает уже с оптимизацией под набор инструкций SSE, ситуация совершенно другая. Даже в однопроцессорной конфигурации Xeon смог чуть-чуть обогнать всех своих конкурентов, ну а когда процессоров два, да еще и Hyper-Threading, да еще и четырехпоточный рендеринг -- процессору Intel удается уйти довольно далеко. В чем, с другой стороны, в общем-то, никто и не сомневался...

На двух последних диаграммах этой серии тестов можно видеть результаты измерения производительности блока "решателя" -- и поскольку он в данном тесте однопоточный, мы не стали приводить показателей многопроцессорных систем -- они были в точности такими же, как и у однопроцессорных. Ситуация вполне очевидная: да, FPU у AMD очень "сильный" -- но использование SSE2 все равно выводит Xeon вперед. А что у нас с SSE2 на Opteron? В общем-то, для 1600 MHz довольно неплохо, можно даже посчитать "КПД" и порассуждать на тему "более совершенной архитектуры", но... по "голой производительности" процессор Intel уверенно берет свое. Да, разумеется, скорее всего -- именно за счет частоты. Но ведь ядро NetBurst и проектировалось для того, чтобы "гнать мегагерцы" быстрее, чем конкуренты, не так ли?


Реальные приложения

Ну вот и подошла к концу "синтетическая" часть нашей методики, пора бы рассмотреть производительность систем в реальных приложениях. Традиционно наш набор тестов для high-end-систем состоит из программ для сжатия данных (архиваторы и различные кодеки), программ рендеринга, как правило, весьма неплохо использующих ресурсы многопроцессорных систем, и вынесенного в отдельную подгруппу (за популярность и повсеместное использование в качестве стандарта де-факто) пакета для работы с растровой графикой Adobe Photoshop. Коснемся вкратце основных изменений, которые претерпела наша методика в этой части.

Набор архиваторов, ранее включавший в себя 7-zip (за поддержку многопоточности) и RAR (также претендующий на роль одного из стандартов, особенно на территории экс-СССР), пополнился еще одним -- BZip2. Основная задумка (пока не реализованная в полном объеме, но "мы над этим работаем") состоит в том, что BZip2 -- архиватор с открытыми исходными текстами и, таким образом, хорошо подходит для проведения кросс-платформенных тестов. Ну а пока что, в рамках данной статьи, его результаты можно рассматривать в качестве справочных -- "а есть вот еще и такая цифра". Блок кодеков обновился только в плане версий -- как и раньше, он включает в себя MP3-кодек LAME и Windows Media Encoder, только теперь уже 9-й версии. Обновился "версионно" и список программ рендеринга -- 3ds max теперь представлен версией 5.1, при этом в качестве подсистемы рендеринга использовалась Brazil Rendering System, обладающая, по словам профессионалов, более широкой функциональностью, чем стандартная подсистема 3ds max. Наибольшим изменениям подвергся скрипт для Adobe Photoshop (кстати, тоже обновленного до версии 7.0). После консультаций с профессиональными дизайнерами из скрипта были убраны все "специфические" фильтры и оставлены только те действия, которые являются действительно универсальными и наиболее часто используемыми в процессе работы всеми без исключения: операции поворота изображения на произвольный угол, преобразования цветовых моделей (RGB/CMYK/Lab), изменения размера изображения, свободного преобразования (Free Transform); из фильтров же были оставлены только Unsharp Mask и Smart Blur. Что, кстати, не замедлило сказаться в первую очередь на результатах, продемонстрированных SMP-системами: как оказалось, подавляющее большинство вышеуказанных функций в Adobe Photoshop достаточно умело используют ресурсы второго процессора.

Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Архиваторы. 7-zip последней версии (2.30 beta 31) стал еще лучше работать со вторым CPU, в результате чего эффект от его задействования в некоторых случаях приблизился к идеальному (и практически недостижимому в рамках SMP-архитектуры) пределу "ровно в два раза быстрее". Масштабируемость всех без исключения систем довольно высока, но все-таки отличается: у Xeon она равна 75%, у Athlon MP -- 84%, у Opteron -- 79%. То есть, как ни странно, наилучшую масштабируемость продемонстрировала именно система на базе Athlon MP. Зато по абсолютной производительности явный лидер -- Opteron. Однако хотелось бы обратить внимание читателей еще на один факт: как резко "скакнула" у однопроцессорной системы на базе Xeon при включении Hyper-Threading. Пожалуй, это в некотором роде уникальный случай -- такого повышения быстродействия при появлении "виртуального второго CPU" мы еще не видели.

RAR, многопроцессорность не поддерживающий, демонстрирует явную тягу к системам с быстрой памятью: Xeon и Opteron, каждый из которых "в своем роде быстр" в данном аспекте, идут примерно наравне, а вот Athlon MP существенно отстал. Впрочем, не будем забывать и про то, что у него самый маленький L2-кэш. Что более интересно -- дуальная система на Opteron показала несколько меньшее быстродействие, чем однопроцессорная. Впрочем, для тех, кто внимательно читал комментарии к результатам тестирования подсистемы памяти, ничего удивительного в этом уже нет.

Ну а новичок BZip2 пока ничем особенным не выделился -- картина на диаграмме практически полностью совпадает с показателями производительности в RAR, только времени на архивацию в абсолютных значениях уходит немного меньше. RAR с различным размером словаря также не преподнес сюрпризов -- чем больший размер кэша установлен на процессоре, тем более "гладкая" у него линия.


Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Аудио и видео. Тесты на скорость преобразования WAV®MP3 и AVI®WMV (Windows Media Video) особых сюрпризов не принесли. Разве что интересен парадоксально низкий результат Opteron при тестировании под Windows XP... однако нам удалось "скрасить" его результатами использования того же кодека, скомпилированного под SuSE Linux в "нативном" 64-битном режиме. Кстати, довольно забавно, что даже на Xeon тест в LAME под Linux выполняется немного быстрее, хотя, казалось бы, алгоритм (да и сама программа) полностью одинаковые...

А вот Windows Media Encoder 9, кажется, наконец-таки научился понимать, что SSE есть не только у процессоров Intel. Это не замедлило отразиться на результатах: Xeon (для простоты, если брать однопроцессорную конфигурацию, можно смело сказать "он же -- Pentium 4") уже отнюдь не такой недосягаемый, как раньше. Наоборот -- Opteron его вполне успешно "досягает", а Athlon MP даже немного обгоняет. Что ж, довольно приятный "подарок от Microsoft" владельцам AMD-систем. Кстати, это лишнее подтверждение того, что "теория масонского заговора Intel и Microsoft" не имеет под собой никаких оснований -- да, ошибка с определением наличия SSE у процессоров AMD действительно была, но ее успешно исправили, и программа стала работать так, как ей и положено. А вот у двухпроцессорного Xeon со включенной поддержкой Hyper-Threading наблюдаются явные "нелады". И хотя мы использовали последнюю доступную версию десктопной ОС от Microsoft, "нелады" эти могут быть связаны именно с тем явлением, которое описано во врезке про "нюансы Hyper-Threading". Странно -- вроде обещали, что в Windows XP таких "фокусов", как в Windows 2000, уже не будет...


Opteron "бархатная революция" от AMD
Opteron "бархатная революция" от AMD
Рендеринг. Программы трехмерного моделирования демонстрируют практически полное единодушие: и 3ds max, и LightWave очень неплохо задействуют второй CPU, причем как реальный (Athlon MP, Opteron), так и "виртуальный" (Xeon + Hyper-Threading). Правда, в последнем случае присутствуют небольшие нюансы -- в LightWave производительность при включении Hyper-Threading растет как у одно-, так и у двухпроцессорной системы, а вот 3ds max (в комбинации с Brazil R/S) появление "четырех CPU" вместо двух уже почти не чувствует. Забавно, что большему размеру кэша второго уровня у Opteron удалось поразительно точно "откорректировать" его же проигрыш по частоте -- в целом все системы продемонстрировали практически идентичное быстродействие, различия минимальны. Выделить можно только безусловного лидера среди однопроцессорных систем -- им является Xeon, да и то ему удалось "уйти в отрыв" только в одной программе -- LightWave.


Opteron "бархатная революция" от AMD Adobe Photoshop 7.0 SE. В данном тесте особо отличилась только система на базе Athlon MP -- своим отставанием от остальных. Xeon и Opteron идут практически "ноздря в ноздрю" -- разрыв между ними колеблется в диапазоне 5--9% (однако, заметим, всегда в пользу последнего). Прирост быстродействия при установке второго процессора стал заметнее (мы уже писали выше, что, скорее всего, это произошло из-за изменений в тестовом скрипте), но все равно отнюдь не ошеломляет. Приведем показатели масштабируемости для тех, кому лень брать в руки калькулятор: Xeon -- 19%, Athlon MP -- 16%, Opteron -- 23%. Они тоже находятся примерно в одном диапазоне. Но Photoshop практически полностью "игнорирует" Hyper-Threading -- только на однопроцессорной Xeon-системе заметен эффект от его включения, да и то совершенно мизерный.


Выводы

Вот и подошли к концу тесты. Что же у нас в сухом остатке? Не так уж и мало. Де-факто в большинстве тестов производительности новый процессор либо опережает, либо вплотную приближается к одному из флагманских процессоров конкурента -- Xeon DP 2,8 GHz. Разумеется, не стоит забывать о том, что самым мощным в линейке он уже не является -- просто Xeon 3,06 GHz еще не успел добраться до нашего рынка. Но "сигнальчик" все равно весьма тревожный. Однако хоть и обещали мы "оставить рынок маркетологам", но затронуть рыночную тему хотя бы краешком все равно придется.

Итак, у AMD есть процессор. Хороший процессор, даже, можно сказать, отличный. Быстрый, с интересной и потенциально весьма удачно масштабируемой архитектурой. Стоимость?.. Вот тут, пожалуй, и возникает первое "но". Стоить системы на базе AMD Opteron будут, скорее всего, как минимум не меньше, чем их аналоги (по скорости) на базе Xeon. Казалось бы -- ну и что? В общем-то, с точки зрения чистой логики -- совершенно ничего крамольного. Однако кто же у нас этой чистой логикой руководствуется? В большинстве своем пользователи (а они есть не только у ПК -- серверами тоже кто-то пользуется) привыкли к тому, что "AMD -- это хорошая производительность при низкой цене". Удастся ли компании за короткий период времени "переучить" их на лозунг "AMD -- это отличная производительность при такой же цене, как у конкурентов"? Вопрос весьма неоднозначный...

А поддержка индустрией? Платы для основного конкурента Opteron -- Intel Xeon -- выпускает не один десяток производителей. Платы для Opteron -- пока только двое (в нашем тесте принимала участие система на базе платы от Tyan). Техническая и маркетинговая поддержка, компиляторы, ПО (по-хорошему надо бы "родное", 64-битное), операционные системы... Да, несомненно, производительность Opteron даже в 32-битном режиме заслуживает всяческих похвал, однако если не развивать собственно саму архитектуру AMD64 -- то, как говорится, зачем было огород городить?

Поэтому пока наши выводы будут оптимистичными, но и осторожными одновременно. Процессор AMD Opteron -- продукт, безусловно, удачный. Повторимся -- как с точки зрения архитектуры, так и с точки зрения производительности, причем не только в "родном" 64-битном коде, но и в привычном большинству пользователей 32-битном ПО. Это -- шанс. Шанс AMD повторить успех, который сопутствовал в свое время выходу первого, еще "слотового" Athlon, но впоследствии, чего греха таить, был частично "растерян" и "размазан" далекой от совершенства маркетинговой политикой компании. Сегодня этот шанс есть у AMD снова. Сумеет ли она им воспользоваться -- время покажет.


Вместо P.S., или "А на том ли поле копья ломаем?"

"Ну вот, опять "Intel vs. AMD" -- скажет кто-то. И будет прав -- честно говоря, этот "бесконечный бразильский сериал" уже изрядно поднадоел всем без исключения, в том числе и нам. Некоторые дискуссии с аналогичным наименованием на популярных онлайновых ресурсах достигли уже такого возраста и величины, что впору памятные медали раздавать. И что забавно -- сводится все, как правило, к одному: "А вот такой-то процессор AMD в SYSmark показал столько-то "попугаев", а такой-то Intel -- столько-то, вот какая у моего любимца замечательная производительность, а у вашего -- меньше". Или наоборот -- в зависимости от цифр, предпочтений и разновидности ПО. Хотя какая там "разновидность"! В качестве тестовой платформы в 99% случаев выступает система под управлением одной из версий Microsoft Windows, ну и ПО, соответственно, "соответствующее". А почему, собственно? Как ни странно, именно сравнение AMD Opteron с его "собратьями по 64-битному цеху" в упомянутой в начале этого материала статье наводит на одну простую мысль: разве его выход не является прекрасным шансом для "анти-mainstream-коалиции" поднять голову высоко, как никогда? Относительно дешевый и потенциально массовый "настоящий 64-битный" процессор -- какой прекрасный шанс для стремящихся подвинуть с пьедестала "всемогущий альянс Wintel"! Sun, Apple, SGI, так любящее направо и налево заявлять о своей "продвинутости" Linux-сообщество -- почему бы им не договориться и не попытаться вместе, координированными усилиями "поднять флаг" новой архитектуры? Вот только что-то не шибко верится... нет, не в желание -- в "координированные усилия". А ведь "поднимать" в этом случае нужно быстро, очень быстро... Пока флагшток не сломали...


Краткие конфигурации и ориентировочные цены использованных в тестировании серверов производства компании Entry

Процессор AMD Opteron 242 AMD Athlon MP Intel Xeon
Тактовая частота 1,6 GHz 1,4 GHz 2600+ (2133 MHz) 2,8 GHz 2,4 GHz
Число процессоров 2 2 2
Оперативная память 2 GB Registered DDR266 с ECC (4 x 512 MB)
Чипсет AMD-8000   AMD-760MPX Intel E7501  
Дисковая подсистема 3 жестких диска 36 GB Ultra160 SCSI 10000 об/мин, Ultra160 SCSI RAID-контроллер Adaptec, RAID 5
Ориентировочная розничная стоимость, $ 4348 3546 3320 3760 3200

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+11
голос

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT