`

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

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

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

Человек года

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

Продукт года

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

 

Двухпроцессорные серверы на двухъядерных CPU: Opteron и Xeon

Статья опубликована в №45 (564) от 28 ноября

+11
голос

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

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon
Разъем Socket F для новых моделей Opteron. Он же будет использован и для четырехядерных процессоров следующего поколения от AMD

Современные процессоры развиваются настолько быстро, что момент перехода изделий из разряда новейших разработок в сектор массового производства можно и не заметить. Более того, постепенно исчезают различия между десктопными, мобильными и серверными чипами: фактически принято говорить о положенном в их основу ядре, его микроархитектуре и примененных технологиях. Кажется, что еще совсем недавно обсуждались преимущества и недостатки Hyper-Threading, но уже незаметно появились первые CPU с четырьмя ядрами на одном кристалле, а двухъядерными оснащают типовые конфигурации даже в настольных ПК. В этом материале мы решили протестировать последние двухъядерные модели серверных процессоров от AMD и Intel, не преследуя цели выяснить превосходство какой-либо из этих платформ. Основная задача – проследить, что же изменилось в архитектурах каждого из них по сравнению с предшественниками. Кроме того, немалый интерес представляло и выяснение пригодности существующих отработанных методик тестирования применительно к современным вычислительным системам. Забегая вперед, скажем, что результаты получились весьма интересные, но обо всем по порядку.

Intel Xeon 5100

Все CPU семейства Xeon 5100, за исключением модели 5160 (частота 3,0 GHz, 85 Вт), обладают достаточно низким тепловым пакетом – 65 Вт. Проведенные исследования показывают, что энергопотребление всей системы в режиме отсутствия загрузки не превышает 136 Вт (замеры проводились путем включения измерительного комплекса в разрыв цепей питания). Для сравнения – почти такое же значение можно получить на настольной системе класса high-end, оборудованной одним двухъядерным процессором и мощным видеоакселлератором, где вторым по значимости потребителем электроэнергии будет графический чип. При высокой нагрузке серверу, оснащенному Xeon 5150, необходимо было около 237 Вт.

По формальным признакам ядро CPU этого семейства ближе к архитектуре мобильных Pentium M (Banias), однако при этом целый ряд технологий позаимствован и из Pentium 4. Разумеется, наиболее существенной переработке подверглось исполнительное ядро микропроцессора.

Так, в архитектуре Р8 шина данных между кэш-памятью L2/L1, в отличие от архитектуры Р6+ (Pentium M/Core Duo), имеет эффективную ширину 256 бит, а не 128. Тем самым она вплотную подошла к аналогичному значению для процессоров Р7 (Pentium 4/D). Это является одним из элементов технологии Advanced Smart Cache, суть которой заключается в том, что оба ядра имеют один общий блок динамически распределяемой кэш-памяти L2.

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

Самое главное преимущество – не требуется согласования содержимого кэш-памяти и обмена данными, с которыми работают оба ядра, через системную шину, как в случае с выделенным кэшем для каждого из них в отдельности. Такой подход позволил решить основную проблему – снижение производительности в результате конкуренции двух ядер за доступ к шине FSB при необходимости пересылок в/из ОЗУ. В нашем случае оба они работают напрямую с общим кэшем объемом до 4 МВ как со сверхбыстродействующей памятью по внутренней шине.

Информация из кэша L1 перед выполнением в функциональных блоках проходит стадии разметки (определения начала и окончания инструкции), декодирования (превращения во внутренние аппаратные инструкции для вычислительных модулей) и переупорядочивания.

На этапе разметки Core 2 (в отличие от предыдущих архитектур, где эффективно размечались и передавались на декодирование три команды) может обрабатывать до шести программных инструкций. Декодер в Core 2, в отличие от трех параллельных каналов в Core, состоит из четырех параллельных каналов, поэтому именно столько команд этот процессор может дешифровать за каждый такт. Данная технология получила название Wide Dynamic Execution.

Нельзя обойти вниманием и такую технологию, как многоуровневый интеллектуальный hardware prefetch, которая совместно с минимизацией задержек доступа к памяти за счет безопасного переупорядочивания операций загрузки и сохранения данных (memory disambiguation) в значительной степени повышает общую производительность всей системы. Оба этих новшества объединены под названием Smart Memory Access.

В Core 2 декодер способен в одном из каналов выполнять объединение часто встречающихся наборов, например из программной команды сравнения и следующей за ней команды перехода (традиционный цикл или выбор) в одну макрокоманду (так называемый Macro-fusion). Соответственно, по четырем каналам отправляется не четыре, а до пяти инструкций за каждый такт. Еще одна технология, Micro-ops fusion, решает почти те же самые задачи, что и Macro-fusion, но другими средствами: «быстрый» декодирующий модуль получает одну инструкцию x86, которая должна транслироваться в две микрооперации, и выдает смешанную пару, воспринимающуюся в буфере переупорядочивания как одна запись. После перехода в буфер резервирования две микрооперации (как правило, load и store) обрабатываются отдельно: либо параллельно через два порта, либо последовательно через один, в зависимости от конкретной ситуации.

Как известно, именно с использованием SIMD-инструкций из набора команд MMS/SSE/SSE2 современные процессоры архитектуры х86 достигают наивысшей производительности при работе с ОЗУ, а также в подавляющем большинстве потоковых задач. На их использовании базируется и основная часть пакетов обработки мультимедиаконтента, а также наиболее эффективная работа с алгоритмами шифрования (доступ к защищенным данным в Интернете, шифрование на жестком диске, VPN) и с базами данных.

Если ранее на такие инструкции процессоры тратили несколько тактов, то теперь 128-битовые SIMD-инструкции каждый функциональный модуль Core 2 исполняет в режиме «один такт – одна команда», за это отвечает технология Advanced Digital Media Boost. Кроме того, за один процессорный такт, при соответствующей оптимизации, три функциональных устройства Core 2 способны выполнить две сложные или две сложные и одну простую (итого – три) инструкции SSE.

Напоследок стоит упомянуть об ще одной интересной функции: Intelligent Power Capability, предназначенной для снижения уровня энергопотребления. Достигается это за счет технологической «разбивки» ядер на некоторое количество функциональных блоков, способных независимо отключаться при отсутствии загрузки. При необходимости активация какого-либо блока происходит безо всяких задержек.

AMD Opteron 2218 и линейка серверных процессоров с памятью DDR2

Для того чтобы лучше понять ситуацию в стане AMD, вспомним, что развитие линейки серверных процессоров на нынешнем ядре началось еще в 1999 г. с выходом первого Athlon (K7). Это было очень нелегкое время для компании, и разработчики вынуждены были пожертвовать гибкостью и динамичностью элементов архитектуры, в результате чего само ядро можно назвать условно простым. К примеру, в нем использовались относительно несложные механизмы предсказания ветвлений, а многие («сложные») операции требовали большого количества тактов на исполнение. Система очереди команд к исполнительным блокам и модуль переупорядочивания инструкций были максимально упрощены и сведены к трем очередям планировщика, жестко привязанным к конкретным исполнительным блокам.

Зато инженеры AMD, проявляя чудеса изобретательности, увеличили производительность и при этом добились снижения сложности процессора. Усилия разработчиков были сосредоточены в первую очередь на ускорении выполнения некоторых инструкций и увеличении объема кэш-памяти. Одним из самых существенных нововведений стал механизм «объединения микроопераций», когда команды арифметики и адресного обращения объединяются на этапе дешифрации в одну общую микрокоманду (Load-Op, Op-Store, Load-Op-Store).

В 2003 г. появилась следующая реинкарнация этого ядра в образе Athlon 64 (K8) и его серверный вариант Opteron. Новое микроядро отличалось большим объемом кэш-памяти, 64-разрядным режимом адресной и целочисленной арифметики, встроенным в процессор контроллером оперативной памяти и шиной HyperTransport.

Был также улучшен блок предсказания ветвлений, расширился набор команд х86, дешифруемых как «простые» (порождающие за один такт во всех трех модулях дешифрации не 2–6, а всего одну микрооперацию), удлинились очереди микроопераций к исполнительным блокам в планировщике, расширена вдвое шина между кэшами L1–L2, добавлены режимы SSE2 и SSE3, на уровне ядра реализована поддержка двухъядерности и межпроцессорных соединений без использований чипсета. Но структурно архитектура ядра принципиально не изменилась.

В чипе K8 одним из основных факторов повышения производительности оказался именно встроенный контроллер памяти, позволивший за счет низкой латентности обращений к ОЗУ существенно увеличить быстродействие в операциях с интенсивным обращением к различным сегментам памяти.

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

Это означает, что по-прежнему за один такт во все три очереди планировщика записывается строка команд на исполнение, и отнюдь не всегда она содержит все три инструкции. Например, «сложная» х86 команда попадает в блок дешифрации не первой, а второй, а может дешифроваться только в первом из модулей дешифрации и встать в очередь только начиная с первой позиции. Тем самым повышаются и требования к длине очередей (за счет необходимости вставки «пустых мест»), и вероятность простоя одних блоков при перегрузке других. Сюда же относится и невозможность выбрать простаивающим узлом команды на исполнение из очереди к другому функциональному устройству – получаем снижение общей эффективности использования модулей.

Следующим проблемным местом архитектуры являются крайне слабая, по нынешним временам, система предсказания ветвления и переходов, отсутствие переупорядочивания обращений к памяти (особенно в плане спекулятивного считывания недавних результатов обработки непосредственно из очереди на запись), слабый механизм предвыборки из ОЗУ в L2 и отсутствие предвыборки в L1 из L2, малая ассоциативность кэшей команд и данных (что заметно снижает их эффективность).

В некоторой степени к недостаткам архитектуры (по крайней мере, теоретически и на примере нынешней реализации в K8) можно отнести эксклюзивную организацию кэш-памяти L1 и L2, так как она по определению более медленная, чем инклюзивная. Кэш-память с эксклюзивной организацией обладает большим временем доступа (выше латентность) и в некоторой степени ограничивает скорость выборки. Да и объем 1 МВ для L2-кэша невелик. Хотелось бы видеть если не 4 МВ, как у архитектуры Core 2, то хотя бы по 2 МВ на ядро. Зато с точки зрения общей емкости кэш-памяти эксклюзивная организация хороша, поскольку суммарная ее емкость равна сумме L1 и L2, а не L2 в инклюзивной.

В то же время для серверных платформ пока более привлекательно выглядит раздельный L2-кэш для разных ядер, как это реализовано в архитектуре от AMD, чем общий объемом 4 МВ, как в Intel Xeon 5100. В этом случае при интенсивной загрузке обоих ядер (согласитесь, типичная ситуация для любого сервера) эффективно используется только по 1,25 МВ на каждое ядро, а время доступа к остальному объему сравнимо со временем доступа к оперативной памяти.

Отдельным штрихом в архитектуре надо выделить встроенный контроллер памяти и переход к DDR2. Учитывая, что и Intel уже анонсировала планы по производству в 2008 г. процессоров со встроенным контроллером памяти, сама по себе идея, впервые реализованная именно компанией AMD, – очень правильная. Но вот с переходом к DDR2 произошло как бы «загрубление» данного механизма и потеря части его преимущества – низкой латентности обращений к ОЗУ. Как следствие – снижение производительности в многопотоковой среде и меньшие потери скорости с повышением нагрузки и увеличением количества обрабатываемых потоков инструкций (что мы можем на данный момент наблюдать у серии Intel Xeon 5100).

В этом контексте весьма перспективным выглядит внедрение в серверных платформах от AMD более скоростной памяти (DDR2-800 или даже 1033), которую можно было бы использовать не как высокоскоростную, а как обладающую более низкой латентностью.

Ну и наконец, вспомним, что на данный момент AMD применяет техпроцесс с детализацией 90 нм в отличие от 65 нм у Intel. Так что есть надежда, что с переходом на новый старое ядро с увеличенным объемом L2 и более высокими частотами сможет поднять еще выше планку производительности в многопотоковых средах до выхода следующего модернизированного ядра К8L. Но это уже тема для другой статьи.

Результаты и комментарии

Как и прежде, тестирование проводилось по методике с использованием тестового приложения платформы «1С: Предприятие 7.7» в комплекте с MS SQL Server 2000. Внесенные в нее на этот раз изменения практически несущественны, а о более значимых из них будет упомянуто ниже.

Итак, все конфигурации для сравнения были разделены на три группы:

1. Intel Xeon 5150 (2,66 GHz, 4 MB L2) + FB-DIMM и Intel Xeon 3,2 Нz (1 MB L2) + DDR2;

2. AMD Opteron 2212 (2,0 GHz) + DDR2 и AMD Opteron 270 (2,0 GHz) + DDR;

3. Intel Xeon 5150 (2,66 GHz) + FB-DIMM и AMD Opteron 2218 (2,6 GHz) + DDR2.

Конечно, интерес представляет не только «попарное» сравнение, но и рассмотрение того, как влияют характеристики применяемого типа памяти на производительность, в том числе у платформ на процессорах от одного разработчика.

В проведенном исследовании также было принято решение попытаться полностью исключить влияние дисковой подсистемы: для всех платформ применялась одинаковая ее конфигурация (RAID 0, 4 HDD) для обеспечения максимальной производительности в тестовых приложениях.

Блок «сервисных» тестов

Выгрузка БД

Стандартная операция архивирования, довольно регулярно (по крайней мере, так должно быть) выполняемая администратором. Ее особенностью являются плохое распараллеливание задачи и потоковый характер. Далее приведены результаты по группам.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

В первой паре хорошо заметен прирост производительности, достигающий 25% при меньшей частоте, во второй паре – едва ощутимое (на доли процента) отставание системы с памятью DDR2 относительно системы на DDR. Фактически такое расхождение укладывается в рамки погрешности измерений и не является показательным. В третьей паре также наблюдается превосходство Xeon над Opteron на доли процента, и оно опять-таки может считаться несущественным.

Результаты показывают ощутимое увеличение производительности процессоров Intel Xeon нового поколения, а применение нового типа памяти для платформы AMD практически никак не отразилось на показателях. Отдельно стоит отметить практически линейную масштабируемость по частоте систем от AMD.

Загрузка БД

Стандартная операция, применяемая для восстановления из архива или для создания копии БД. Из особенностей – плохое распараллеливание задачи и частые обращения к различным сегментам памяти.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

В первой группе наблюдается прирост производительности новой платформы от Intel почти на 55% – результат был нами перепроверен, и его пришлось принять в связи с отличной повторяемостью. Вторая группа: на этот раз система с DDR2 на те же доли процентов отработала быстрее системы c памятью предыдущего поколения. А в третьей – превосходство Intel Xeon 5150 небольшое, на уровне 5%, но уже не попадающее под погрешность измерения.

Для современных процессоров прирост производительности в 10% уже можно считать неплохим показателем, поэтому 55% – это приятный сюрприз от Intel.

Тестированиеи исправление БД

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

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

В первой группе фиксируем рост производительности новой платформы от Intel, но уже на уровне 70%. Во второй – обе системы с памятью как DDR2, так и DDR, показали одинаковый результат. Разницу в несколько секунд на тесте длительностью в часы вряд ли стоит учитывать. А вот в третьей – довольно интересная ситуация. «Морально устаревший» Opteron более чем на 20% обошел «революционный» Xeon 5150. Учитывая, что это испытание исполняется в монопольном режиме – результат более чем неожиданный.

Блок тестов на выявление узких мест

Специализированная обработка «Тиражирование справочников»

Несложный тест, интересный прежде всего в многопользовательском режиме. Фактически это простейший вариант Insert для одной таблицы.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Монопольный режим. Прирост производительности новой платформы от Intel (из первой группы) составляет около 95%, т. е. почти в два раза. Система (из второй), оснащенная памятью DDR2, демонстрирует заметное повышение быстродействия, приблизительно на 10%, относительно системы с DDR. В третьей же ситуация, аналогичная предыдущему тесту, – Opteron почти на 14% быстрее Xeon 5150.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Многопользовательский режим. Имеем тот же рост производительности новой платформы от Intel – около 95%, только уже в многопотоковой среде (первая группа). Очень интересный результат.

Обе системы AMD, и с DDR2, и c DDR, показали абсолютно равную производительность. Судя по всему, здесь мы наблюдаем «эффект высокой латентности», когда более быстрая в потоковых операциях DDR2 за счет боóльших задержек по сравнению с DDR заставляет процессор тратить больше времени на ожидание данных в тех случаях, когда идет обработка сразу нескольких потоков данных.

Третья группа: и здесь, правда, всего лишь на 2%, Opteron оказался быстрее Xeon. Но в данном испытании есть момент, неприятный для платформ на базе Intel Xeon. Как и в тестах технологического образца в прошлый раз, сервер на Xeon «терял отклик» на системном уровне. Данное явление менее выражено, чем ранее (приблизительно на 4–6 с), при этом загрузка не была максимальной. При повышении нагрузки время отклика иногда достигало 8–10 с, что для серверов, выполняющих большое количество запросов, недопустимо.

Специализированная обработка «Тиражирование документов»

Технология выполнения данного теста, имитирующего все тот же Insert в потоковом режиме и по одной таблице, но при этом еще и производится Select по нескольким таблицам (буферизированного SQL сервером). Главная задача здесь – проверить, не блокируется ли одна из основных таблиц.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Монопольный режим. В первой группе рост производительности новой платформы от Intel составляет порядка 45%, что на фоне предыдущих показателей уже не так впечатляет. Хотя результат, несомненно, отличный. Во второй же обе системы AMD вновь продемонстрировали одинаковую скорость. А в третьей Opteron снова приблизительно на 23% быстрее Xeon 5150.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Многопользовательский режим. Здесь рост производительности новой платформы от Intel составляет приблизительно 35% (первая группа). Тут же впервые был замечен один своеобразный и пока не совсем понятный эффект – с увеличением количества потоков/задач прирост производительности (или фактически производительность системы) снижается.

Вторая группа. Система с DDR в данном тесте оказалась на 7% быстрее, чем в случае DDR2. Впечатляющий результат, демонстрирующий преимущество низкой латентности при повышении количества обращений к памяти (за счет тех самых Select) перед потоковой пропускной способностью. По крайней мере, в данном случае мы впервые в нашем тесте наблюдаем ухудшение, пусть и незначительное, показателей системы с переходом на «более совершенный» тип памяти.

Третья группа. На этот раз Opteron обогнал Xeon только на 5%. С ростом количества потоков Xeon 5150 в данном тесте обеспечивает лучшие показатели. Скрытого противоречия здесь нет: на самом деле в данной ситуации сказывается (исходя из специфики теста) влияние технологии Smart Memory Access с ее умением считывать обработанные данные до выполнения их записи в память. Так называемое memory disambiguation – одно из уникальных и наиболее серьезных преимуществ новой микроархитектуры от Intel – в сочетании с hardware prefetch.

Блок тестов на производительность

Специализированная обработка «Тиражирование последовательности документов с их проведением»

Это самый «жесткий» тест. Он наиболее интересен в многопользовательском режиме, потому что показывает способность системы справиться с множественными запросами к различным связанным таблицам одновременно, а также является показателем для режима импорта данных из других (к примеру, периферийных) БД в распределенной базе данных. Напомним, что в многопользовательском режиме в нашем исследовании применялась следующая методология: в первой и второй пользовательских сессиях запускался отчет «Движения партий», который очень интенсивно работает с регистром «Партии запасов», активно задействованным в проведении всех тиражируемых документов, а в третьей – сама обработка. Таким образом, удалось достичь «наибольшего уровня помех» для выполняющейся процедуры. Как уже упоминалось, одновременно обработать три потока в трех пользовательских системах по-прежнему не под силу ни одной из тестируемых аппаратных платформ. Но вот загрузка именно в этом режиме впервые за весь период проведения наших тестов не достигала постоянного «потолка» в 100% (что уже само по себе заставляет задуматься).

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Монопольный режим. Пожалуй, самый яркий результат в первой группе – прирост производительности Intel Xeon 5150 на новой микроархитектуре составляет около 450%, и это не опечатка (!). Во второй – опять отметим существенный проигрыш системы с DDR2 относительно системы с DDR приблизительно на 15%. А в третьей вновь еще одна «маленькая сенсация» от Intel Xeon 5150 – в этом тяжелейшем тесте он показал результат приблизительно на 51% лучший, чем Opteron. Комментировать здесь практически нечего.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Многопользовательский режим. Первая группа. Вновь отмечаем колоссальный рост производительности новой платформы от Intel, на этот раз «всего» на 300% (!). И опять обращаем внимание на весьма существенную разницу в приросте производительности у Xeon 5150 в одних и тех же тестах при переходе от монопольного к многопользовательскому режиму – с ростом количества потоков/задач он снижается.

Во второй группе в многопотоковом режиме платформа на DDR2 оказалась на 2% быстрее системы с DDR. Очевидно, что компания весьма своевременно перешла на DDR2 – все-таки в эпоху многозадачности (многопотоковости) иногда имеет смысл пожертвовать скоростью в однозадачном режиме в пользу повышения общей производительности в многозадачном.

Третья группа. В самом тяжелом и «жестком» тесте Xeon 5150 в многопользовательском режиме показал результат на 36% лучший, чем Opteron. Опять-таки – гигантский разрыв по меркам серверных технологий. Но отмечаем, что с ростом количества потоков превосходство Xeon 5150 уменьшилось на треть. Пока что просто запомним этот момент – для более точного заключения о причинах придется разработать новые методики измерения, потому что существующие не позволили сделать окончательный вывод.

Отметим, что в данном тесте мы опять наблюдали «недогрузку» CPU при «перегрузке» канала памяти. Очевидно, для определенного типа задач узким местом платформ от Intel является подсистема оперативной памяти на FB-DIMM, характеризующаяся высокой латентностью.

Восстановление последовательности с перепроведением

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Довольно тяжелый тест, имитирующий восстановление правильного учета по партиям к концу периода. Как правило, выполняется один-два раза в месяц, но очень уж «болезненная» это процедура. Работает только в монопольном режиме.

Прирост производительности Intel Xeon 5150 (из первой группы) на новой микроархитектуре – около 80%. Зато обе системы от AMD демонстрируют одинаковые результаты, вне зависимости от типа памяти – DDR2 или DDR. А в третьей – очередная впечатляющая победа Xeon 5150 с преимуществом в 32%. Много, но опять-таки в монопольном режиме.

Построение отчета «Взаиморасчеты»

Простой Select по одной таблице, зато он выполняется одновременно многими пользователями и очень часто.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Монопольный режим. Прирост производительности Intel Xeon 5150 составляет около 25%. Именно в данном тесте это – весьма существенный результат.

Система AMD с DDR2 демонстрирует, пусть и незначительный, рост производительности около 2% по сравнению с системой с DDR.

Третья группа. Intel Xeon 5150 приблизительно на 37% быстрее, чем Opteron.

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Многопользовательский режим. В данном тесте прирост производительности новой платформы от Intel увеличился на 95%. Опять-таки, учитывая важность работы в многопользовательском режиме – отличный результат.

Платформа AMD с DDR2 демонстрирует прирост производительности именно в многопользовательском режиме приблизительно на 5% относительно системы DDR.

Третья группа. В этом тесте Xeon 5150 в многопользовательском режиме показал результат на 25% лучше, чем Opteron. И вновь отмечаем, что с ростом количества потоков превосходство Xeon 5150 уменьшилось на треть.

Выполнение запроса в отчете «Движения партий»

Двухпроцессорные серверы на двухъядерных CPU Opteron и Xeon

Типичный Select по двум таблицам. Выполняется только в монопольном режиме ввиду ресурсоемкости и способности блокировать таблицу данных.

Прирост производительности Intel Xeon на новой микроархитектуре около 60%. А вот оба Opteron (вторая группа) демонстрируют почти одинаковые результаты c превосходством DDR над DDR2 менее чем на 1%. В третьей – вновь победа Intel Xeon 5150 с преимуществом в 17%. В данном случае существенно, но, опять-таки, это монопольный режим.

Что осталось «за кадром»

Для полноты картины остановимся на тех моментах, которые не всегда видны непосредственно в результатах тестов, но все же являются неотъемлемой частью любого тестирования. Пожалуй, главное из отличий AMD Opteron с DDR2 – заметно более высокая повторяемость измерений и существенно меньший разброс как по сравнению с Opteron + DDR, так и с Xeon 5150. Такая предсказуемость и работа без сбоев и отклонений производит положительное впечатление. Хотя по правилам нашего испытания два крайних значения отбрасываются, в случае с Opteron + DDR2 этот подход оказался не совсем применимым, так что мы брали среднее значение по пяти результатам вместо трех.

Анализируя тесты AMD Opteron с разными типами памяти, можно сделать вывод, что производитель перешел с DDR на DDR2 весьма своевременно. Это хорошо заметно при сопоставлении показателей Opteron в нагруженных тестах в многопользовательском режиме. В то же время очевидно и другое – из-за повышенной латентности оперативной памяти DDR2 процессор при работе с ОЗУ не всегда оказывается в режиме, оптимальном для выполняемой задачи. Исходя из накопленного опыта, можно предположить, что применение более скоростного типа ОЗУ (например, DDR2-800 и выше) при условии уменьшения ее латентности (пусть и за счет занижения частоты относительно расчетной), позволит добавить серверам на процессорах AMD Opteron около 3–7% производительности практически во всех задачах.

Системы на базе Intel Xeon 5150 характеризуются равномерным распределением нагрузки – как между процессорами, так и между ядрами. В ходе работы неоднократно отмечалось, что одно из ядер CPU загружено заметно больше другого, но эта «загрузка» непрерывно и плавно «перетекает» между ядрами (процессорами) приблизительно за 1–2 мин. При этом нередко оказываются нагруженными оба процессора, и у каждого из них «занято» одновременно только одно из ядер (бывает высокая загрузка и обоих ядер одного чипа, но это длится на протяжении 20–25% времени).

Для систем же на базе AMD такое поведение нехарактерно: нагрузка практически не «перетекает» между ядрами, особенно в тех задачах, которые не распараллеливаются искусственно. Процесс, стартовавший на одном ядре, с высокой степенью вероятности будет продолжаться на нем же. При этом существует высокая вероятность загрузки обоих ядер одного из процессоров. Справедливости ради стоит отметить, что по итогам тестов ощутимой разницы между выполнением многопотоковой задачи преимущественно на обоих ядрах одного процессора или на двух ядрах различных процессоров выявить не удалось.

Как уже упоминалось, процессор Intel Xeon 5150 достаточно необычно ведет себя при возрастании количества обрабатываемых потоков. Так, в тесте «Тиражирование последовательности документов» в монопольном режиме он превзошел AMD Opteron 2218 на 51%, а в многопотоковом – всего на 36%, в тесте «Взаиморасчеты» – на 37 и 25% соответственно. Причем такая закономерность отмечается именно в тех испытаниях, где Xeon 5150 является безусловным лидером, а прирост производительности в монопольном режиме относительно многопользовательского составил примерно 30% в обоих тестах, хотя они и довольно сильно отличаются по своей сути.

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

Выводы

Итак, совершенно неожиданно Core 2 Duo в серверной реинкарнации Woodcrest в некоторых тестах уступил, а кое-где и довольно существенно, AMD Opteron 2218 с его «морально устаревшим» ядром. По всей видимости, возложить ответственность за снижение результатов явно удачного ядра Intel придется на «задумчивую» подсистему памяти на базе FB-DIMM.

Весьма показателен также рост быстродействия внутри продуктовой линейки различных архитектур от Intel – у Core 2 по сравнению с NetBurst он весьма впечатляет. В таком разрезе AMD Opteron 2218 с DDR2 не мог не удивить, ведь в его основу положена архитектура почти четырехлетней давности, причем производятся такие процессоры по технологии 90 нм (тогда как Intel Xeon 5150 – 65 нм).

Тестирование выявило еще один момент: хотя созданная в 2000 г. методика оценки производительности по-прежнему показательна, ее возможности исчерпаны. «1С:Предприятие 7.7» на программном уровне не позволяет в полной мере задействовать всю мощь современных многоядерных процессоров. Так что следующие испытания будут выполнены на базе ПО «1С:Предприятие 8.0», а назначением нынешних станет «калибровка» для сохранения преемственности результатов.

Надо отметить: после выхода двухъядерных чипов AMD Opteron, а затем аналогичных процессоров серии Intel Xeon 5100 (уже анонсирован 5300 с четырьмя ядрами) мир стандартных двухпроцессорных серверов стал принципиально иным. Фактически исчезла целая ниша «мощных, двухпроцессорных, ориентированных на одну задачу» серверов, и началась эра «сверхпроизводительных многопроцессорных многоядерных систем» с явно избыточным потенциалом, которую на сегодняшний день надо задействовать.

Это означает, что и в области ПО на первый план будут выходить совершенно другие задачи и технологии – виртуализация в пределах одной аппаратной конфигурации для запуска нескольких серверных ОС и развитие технологий кластеризации для построения отказоустойчивых систем высокой производительности на базе все тех же недорогих двухпроцессорных серверов. И тесты для них также должны быть новыми, равно как и методы измерений и обработки данных.

+11
голос

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

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

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT