2004 г
Мультипроцессинг сегодня
Валентин Седых
«Экспресс-Электроника» #7(116)/2004
Долгие годы корпорация Intel оставалась
единственным игроком на рынке CPU
архитектуры х86 для мультипроцессорных систем. Однако с появлением
линейки AMD Athlon
MP компания получила весьма достойного
конкурента. Тогда — лишь технологического. Сегодня пошатнуть
рыночные позиции Intel в сфере серверов
призваны новые процессоры AMD линейки
Opteron. Но не уготована ли им судьба
предыдущего поколения чипов, которые, по сути, так и остались всего
лишь альтернативой?
Но для начала сделаем небольшой экскурс и напомним основные принципы
параллельных вычислений, а также определимся с понятиями.
Если пользоваться классификацией процессорных архитектур, данной еще
в 1966 году американским инженером-электриком Майклом Флинном
(Michael Flynn), выяснится, что возможны только четыре способа,
позволяющих компьютеру оперировать данными и инструкциями. Среди них
способы, при которых данные или инструкции посылаются на обработку
строго последовательно, единичными порциями при операциях чтения и
записи, а также группой. Каждый из способов имеет сегодня множество
реализаций. Например, в компьютерах с последовательной архитектурой
осуществляется поток единичных инструкций и единичных данных (single
instruction stream/single data stream — SISD). К этому классу
относятся, прежде всего, классические последовательные машины, или
машины фон-неймановского типа, например, текстовые процессоры. В
таких машинах есть только один поток команд, и все они обрабатываются
последовательно, таким образом, что каждая команда инициирует одну
операцию с одним потоком данных.
Остальные три реализации архитектур требуют параллельного выполнения
команд, а потому имеют самое непосредственное отношение к теме нашего
материала. Так, архитектура, обрабатывающая одиночный поток команд и
множественный поток данных (single instruction stream/multiple data
stream — SIMD) подразумевает сохранение одного потока команд,
но включающего в отличие от предыдущего класса поток векторных
команд. Это позволяет выполнять одну арифметическую операцию сразу
над многими числами (данными) – элементами вектора или
массивами. Обычно для этого применяются многоэлементные процессоры,
именуемые в современной практике матричными или векторными.
При схеме multiple instruction stream single data stream (MISD) -
множественный поток команд и одиночный поток данных, подразумевается
наличие многих процессоров, обрабатывающих один и тот же поток
данных. Однако ни Флинн, ни другие специалисты в области архитектуры
компьютеров до сих пор не смогли представить убедительный пример
реально существующей вычислительной системы, построенной на данном
принципе. Хотя на практике представить такую систему не сложно.
Достаточно вообразить крупную базу данных, которая, будучи подана на
все имеющиеся процессоры, одновременно обрабатывается ими в поиске
различных необходимых значений.
И наконец, последняя – наиболее гибкая, но одновременно и самая
сложная для программирования и реализации архитектура –
множественный поток команд и множественный поток данных (multiple
instruction stream/multiple data stream — MIMD) предполагает,
что в вычислительной системе есть несколько устройств обработки
команд, объединенных в единый комплекс и работающих каждое со своим
потоком команд и данных. Особенность такой системы в том, что она
требует дополнительного набора инструкций для координирования работы
всех процессоров. Впрочем, эффективность MIMD-архитектуры при
моделировании сложных многофакторных процессоров переоценить
достаточно трудно, равно как и ее теоретическую привлекательность.
Особенности параллельной обработки
Само по себе понятие «параллельная обработка»
подразумевает такое выполнение программы, при котором несколько
инструкций исполняются сразу несколькими процессорами, (кстати, вовсе
необязательно центральными процессорами). Скажем, обработка данных
будет параллельной и в том случае, если компьютер одновременно ведет
расчет и производит запись на жесткий диск. В этих условиях работает
и центральный, и периферийный процессоры (контроллер жесткого диска
набора системной логики), а время выполнения программы в целом
существенно сокращается.
Еще одним шагом на пути увеличения общей производительности систем в
свое время стало появление мультизадачных операционных систем,
которые могут функционировать с одним центральным процессором. Такая
ОС каждой из задач, с учетом ее приоритетности, выделяет квант
процессорного времени, из-за чего у пользователя создается
впечатление, что выполнение задач распараллеливается.
Как не трудно догадаться, мультипроцессорные системы на базе
мультизадачных ОС гарантируют максимальный прирост быстродействия. В
этом случае борьба приложений за ресурсы значительно упрощается, в
результате данные каждого из приложений могут быть обработаны более
оперативно.
Идея создания мультипроцессорных мультизадачных вычислительных
комплексов отнюдь не нова, она будоражила головы создателей едва ли
не со времен первых ЭВМ. Еще в ранних мультипроцессорных системах
конструкторы пытались организовать мультипроцессорные комплексы таким
образом, чтобы связь между процессорами осуществлялась по принципу
«главный – подчиненный». В этих условиях главному
процессору ставилась задача управления всеми подсистемами
вычислительного комплекса, тогда как «подчиненные»
процессоры выполняли лишь те задания, которые им адресовал «главный».
Разумеется, эффективность и скорость работы такой системы из-за
весьма высоких «административных» задержек была не столь
высокой, как хотелось бы. Кроме того, на начальном пути развития
мультипроцессорных систем техника их эффективного программирования
была неразвита до такой степени, чтобы предоставить программам
возможность задействовать ресурсы кооперативно. Решение описанной
проблемы и привело к созданию симметричных мультипроцессорных систем
(Symmetric Multiprocessing
– SMP), которые сегодня превратились
в самую распространенную мультипроцессорную архитектуру.
Пифагоровы штаны — на все стороны равны
Как следует из названия, главная особенность данной технологии в том,
что все процессоры имеют одинаковые приоритеты для доступа ко всем
системным ресурсам и управлению ими. На практике получается: все
процессоры симметричной системы «видят» ее ресурсы
одинаково, не подозревая о существовании «коллег». Роль
«администратора» в вопросах распределения задач между
процессорами отводится операционной системе, самостоятельно решающей,
какой из ветвей задачи нагрузить тот или иной процессор.
Поскольку оперативная память для процессоров также является
разделяемым ресурсом, доступ к ней от процессоров должен
осуществляться по единой шине. Необходимо сразу заметить, что
симметричность системы относительно памяти — весьма важное
преимущество SMP-систем, ведь в таком
случае на всех процессорах может выполняться только одна копия
операционной системы. И если все процессоры, которые разделяют
системную память, разделяют и единый образ этой памяти (то есть
используют одни и те же «координаты» данных), говорят о
когерентной (согласованной) памяти. Так, если все процессоры читают
байт по одному и тому же адресу, они получают одинаковое значение
этого байта. В процессорах со встроенной кэш-памятью ее содержимое
также должно быть согласовано с системной памятью. Существует целый
ряд механизмов, позволяющих поддерживать когерентность данных на всех
уровнях.
Что касается соединения процессоров и контроллера памяти, наиболее
распространенным решением является использование одной системной
шины. Впрочем, подобная архитектура плохо масштабируется, ведь при
увеличении числа процессоров шина становится узким местом. Для
преодоления данного ограничения были разработаны другие решения.
Среди них наиболее распространена архитектура с иерархией шин. В этом
варианте несколько процессоров объединяются одной шиной в узел, а
узлы подключаются к общей шине, соединяющей их с контроллером памяти
и другими контроллерами набора системной логики. Существует также
решение, позволяющее объединять множество процессоров. Оно
подразумевает использование коммутируемой памяти, при которой каждый
процессор получает доступ к требуемому участку памяти по
коммутируемому каналу. Когерентность памяти для коммутируемой
архитектуры обеспечивается проще, чем для шинной, поэтому такие
системы лучше масштабируются. Однако их стоимость возрастает линейно
с числом процессоров, а большое число коммутаторов снижает общую
производительность системы.
Intel Symmetric Multiprocessing
1993 год можно смело считать датой рождения SMP-систем на базе
процессоров Intel. Именно тогда корпорация опубликовала спецификацию
Multiprocessor Specification (MPS), в которой описала будущее
мультипроцессорных систем на базе своих процессоров. Необходимо
сказать, что главной особенностью этой спецификации стало стремление
создать стандартный интерфейс для мультипроцессорной платформы,
который бы позволил не только получить решения более
производительные, чем однопроцессорные, но и сохранить 100-процентную
совместимость с ними. Другая особенность SMP по Intel — система
перестает быть симметричной при процессе загрузки и выключения. В эти
моменты один из процессоров назначается процессором загрузки
(BootStrap Processor), тогда как остальные – процессорами
приложений (Application Processors). В итоге BootStrap Processor
несет ответственность за инициализацию системы и загрузку ОС, после
чего переименовывается в Application Processor и активирует остальных
«собратьев».
Проблема обеспечения корректной работы с аппаратными прерываниями в
среде систем Intel решается с помощью усовершенствованных
программируемых контроллеров прерываний (Advanced Programmable
Interrupt Controller — APIC), которые встраиваются в каждый
элемент системы, предусматривающий генерирование сигнала прерывания.
Кроме внешних устройств сигналы прерывания используются процессорами
для межпроцессорных коммуникаций (InterProcessor Interrupts —
IPI). Все контроллеры APIC объединяются выделенной шиной
межпроцессорных коммуникаций Interrupt Controller Communications bus
(ICC bus). И следует понимать, что вовсе не процессоры являются
«сердцем» SMP-системы. Куда более важную роль в
организации правильной и эффективной работы системы играет набор
системной логики. Самыми распространенными на сегодня решениями,
способными обеспечить дуальную конфигурацию для процессоров Intel,
являются два чипсета – Intel E7500/7501 и ServerWorks GC-LE.
Оба чипсета состоят из трех микросхем — два стандартных южных и
северных моста, а третья микросхема организует доступ к шине PCI-X.
Чипсеты не поддерживают горячую замену PCI-устройств (PCI Hot Plug).
Оба набора логики могут работать только с регистровой памятью с
коррекцией ошибок DDR200 максимальным объемом 16 Гбайт. Имеется
технология Chipkill — защита от отказов отдельных микросхем и
многоразрядных сбоев в модулях памяти, а также возможность выделения
модулей памяти в так называемый резервный массив. Чипсеты способны
поддерживать только двухпроцессорные конфигурации и не имеют
поддержки шины AGP, то есть представляют собой классическое серверное
решение.
Набор логики Intel E7500/7501 состоит из трех микросхем. В данном
случае можно говорить о классической хабовой архитектуре чипсета,
позволяющей присоединять к Memory Controller Hub (MCH) до трех 64-бит
PCI/PCI-X-контроллеров P64H2 с поддержкой двух независимых 64-бит
PCI-X-интерфейсов и по два стандартных PCI-контроллера (с поддержкой
горячей замены). В сумме плата на чипсете Intel E7500 может иметь до
шести 64-битных PCI-X-интерфейсов, работающих в режимах 133/100/66
МГц. Однако на практике число микросхем P64H2 не превышает двух —
пока поддержка большого количества PCI-X не актуальна.
Интересен и тот факт, что чипсет Intel E7500 «полностью»
синхронный. Мало того что память и процессор работают на одной
частоте (100 МГц Quad Pumped Bus и 200 МГц PC1600 DDR SDRAM), так и
пропускная способность вокруг MCH тоже составляет 3,2 Гбайт/с
относительно контроллера ввода-вывода (ICH3-S). Контроллер памяти
используется двухканальный — 2х1,6 Гбайт/с и 3х1,066 Гбайт/с —
при установке одновременно трех PCI-X-контроллеров P64H2.
Функционирование стандартной шины PCI 32-бит 33 МГц и контроллера
ATA/100, USB 1.1, AC’97, а также Fast Ethernet обеспечивается
микросхемой южного моста ICH3-S.
Чипсет ServerWorks GC-LE имеет ряд отличительных особенностей. Его
структура также трехчиповая. Говоря об отличиях обоих наборов логики,
следует отметить хотя бы то, что чипсет производства ServerWorks
способен обеспечивать работу лишь двух чипов-контроллеров PCI-X
(против трех у Intel E7500) — это дает возможность организации
четырех интерфейсов PCI-X. Кроме того, пропускная способность у
каждого чипа CIOB-X2 составляет по 3,2 Гбайт/с, то есть вдвое больше,
нежели у контроллера Intel при максимальной комплектации. Стандартная
шина PCI 32-бит 33 МГц обслуживается, как и в случае с Intel E7500,
южным мостом — CSB5. А вот поддержки AC’97 и Fast
Ethernet в нем нет. И в самом деле, присутствие звукового кодека в
сервере излишне. Различаются чипсеты и списком поддерживаемых
процессоров: для Intel E7500 это Xeon и Xeon MP, а для ServerWorks
GC-LE — Xeon и Pentium 4.
Своеобразным симбиозом лучших характеристик серверного набора Intel
E7500/7501 и набора для рабочих станций Е7205 стал чипсет Intel
E7505. От первого он унаследовал современный ICH4 с поддержкой AGP
3.0/8х, а от второго — канал Hub Interface 2.0 1 Гбайт/с, к
которому подключается контроллер PCI-X. Максимальный объем
поддерживаемой памяти 16 Гбайт и поддержка мультипроцессорных
конфигураций с чипами Xeon делает чипсет весьма привлекательным для
продвинутых решений среднего класса.
AMD Symmetric Multiprocessing. Step 1
Многие специалисты справедливо считают, что привлекательность
серверов на базе процессоров от компании AMD
во многом предопределена очень удачной архитектурой чипсетов,
выпускаемых для серверного рынка Взять хотя бы первую серверную
платформу AMD – AMD-760MPX (или более раннюю версию AMD-760MP),
обладающую двумя важными функциями, благодаря которым
двухпроцессорные системы на их базе имеют высокую производительность.
Во-первых, это системная шина с топологией «точка-точка»,
во-вторых – поддержка особого SMP-реализующего
протокола – MOESI.
Если представить работу стандартной SMP-системы на базе любых
современных процессоров Intel, то для обеспечения нормального
функционирования содержимое их кэшей, как и у многих других
многопроцессорных архитектур, должно динамично дублироваться. На
практике данная задача не так просто решается, как может показаться
на первый взгляд, ведь в общем случае оба процессора все время должны
вести мониторинг запросов друг друга на предмет обращений к памяти.
Если один из процессоров изменяет таблицы данных кэша, то чипсет
незамедлительно копирует новое содержимое кэша в оперативную память,
и после этого направляет содержимое его кэша на второй процессор. В
результате не только теряется несколько циклов работы, но и
существенно загружается шина памяти.
В своих серверных процессорах для уменьшения задержек на стеке
«процессор – чипсет – оперативная память»
компания Intel использует специальный механизм определения важности
данных на базе MESI-протокола. Аббревиатура MESI образована от слов,
обозначающих состояние строки данных, хранимых в кэше, —
Modified, Exclusive, Shared или Invalid. Состояние Modified означает,
что данные в строке кэша были модифицированы и другой процессор не
имеет их в своем кэше. Состояние Exclusive говорит о том, что данные
уже направлены в оперативную память, и вскоре наступит состояние
Shared, когда содержимое кэшей процессоров идентично. Соответственно,
состояние Invalid сигнализирует о наличии сбоя в механизме протокола
или неправильных данных в кэше.
Что касается подхода компании AMD к снижению задержек при уравнивании
содержимого кэшей процессора, он выглядит куда более оправданным.
Так, каждый процессор SMP-системы на базе Athlon МР обладает своей
отдельной шиной, связующей его с северным мостом. Ширина каждого
такого канала составляет 2,1 Гбайт/с, и на первый взгляд может
показаться нерациональной избыточностью, ведь пропускная способность
шины памяти PC2100 DDR SDRAM не превышает 2,1 Гбайт/с. Однако это не
так. Описанный подход к реализации топологии системной логики
объясняется тем, что инженеры AMD предложили отказаться от ненужных
пересылок данных из кэша одного процессора в другой, используя
оперативную память путем исключения в механизме обмена данными
последней. А увеличение ширины процессорного канала позволяет это
легко реализовать. За основу нового принципа дублирования данных взят
усовершенствованный протокол MOESI, который, как и многие другие
технологии в архитектуре процессоров К7, были позаимствованы из
архитектур Sun и Alpha.
Отличие протокола MOESI от MESI заключается в ведении дополнительного
состояния – Owned, которое инициируется в случае, если строка
состояния кэша первого процессора имеет статус Modified и второй
процессор обращается к ней. В итоге, данные пересылаются из кэша
первого процессора напрямую в кэш второго через северный мост (минуя
оперативную память), а строка данных процессора принимает состояние
Owned, а в кэше второго процессора – Shared. Таким образом,
существенно разгружается шина памяти.
Об остальных особенностях чипсета AMD-760MPХ можно узнать, взглянув
на возможности мостов, из которых он состоит:
AMD-762 (system comptroller)
поддержка
FSB 200/266 МГц;
максимальный
объем оперативной памяти — 4 Гбайт PC1600/PC2100 Registered
DDR SDRAM;
возможность
установки до четырех разъемов DIMM;
поддержка
AGP 2.0 1х/2х/4х;
поддержка
шины PCI 2.2, 33/66 МГц в 32- или 64-битовом режиме; реализация
66-битной шины является основным отличием AMD-760MPX от AMD-760MP;
поддержка
1–2–процессорных конфигураций.
AMD-766
межмостовая
связь посредством 64-битной 66-мегагерцевой шины PCI с максимальной
скоростью 266 Мбайт/с;
двухканальный
EIDE-контроллер с поддержкой UATA 33/66/100;
USB-контроллер
на четыре порта;
встроенный
IOAPIC;
сериализация
IRQ;
поддержка
функций ACPI и Microsoft PC’99;
поддержка
шин LPC (Low Pin Count) и
SM-Bus.
AMD Symmetric Multiprocessing. Step 2
Новая эра
мультипроцессинга от
AMD началась с
появлением процессоров
линейки Opteron. Мы специально не
вдавались в архитектурные особенности процессоров Intel
Xeon, не будем этого делать и для AMD
Opteron. Во-первых, достоинства и
недостатки этих процессоров хорошо известны, а во-вторых, их отличия
от «настольных» версий минимальны. Кроме того,
привлекательность многопроцессорной системы определяет в первую
очередь платформа, на чьей базе она создана. Поэтому, говоря,
например, о сервере, прежде всего, стоит обращать внимание на чипсет,
на базе которого он построен.
Необходимо отметить, что в плане предложенной для новых процессоров
платформы AMD смогла удивить многих. Если чипсет AMD-760MPX, несмотря
на всю свою оригинальность, имел одно важное ограничение – он
не мог обслуживать больше двух процессоров одновременно, то новая
архитектура, заложенная в процессоры восьмого поколения, решила эту
проблему. Как известно, их основная особенность, во-первых,
использование интегрированного контроллера памяти, а во-вторых,
отсутствие Front Side Bus как таковой. Вместо привычной FSB,
связывающей оперативную память и процессор, архитектура K8
подразумевает наличие особой топологии шины типа «точка-точка»
– своеобразное развитие решения, примененного еще в AMD-760MPX,
– шина HyperTransport, известная многим по набору логики NVIDIA
nForce и nForce 2.
Шина HyperTransport характеризуется высокой пропускной способностью,
простым варьированием своей топологии, несложной физической
реализацией (имеется несколько комбинаций количества проводников),
низкой латентностью и достаточно простым способом задания ширины
каналов, несущих данные. В частности, максимальная скорость передачи
данных HyperTransport составляет 6,4 Гбайт/с в одну сторону, однако
ее можно достаточно легко варьировать, изменяя разрядность шины (2,
4, 8, 16 и 32 бита) и частоту работы (400, 600, 800, 1000, 1200 и
1600 МГц), получая нужные скорости передачи (от 100 до 6400 Мбайт/с в
каждую сторону). В процессорах Opteron используется HyperTransport,
тактующаяся на частоте 800 МГц.
Нестандартная организация узла «процессор–память»
предполагает отличную от устоявшихся принципов построения системной
логики. Чипсет под Opteron – AMD-8000, не содержит привычных
северного и южного моста. Он состоит из так называемых
тоннелей-контроллеров, которые имеют на входе одну полосу
пропускания, а на выходе - другую, при этом разница пропускных
способностей может использоваться для своих целей. Набор логики
позволяет соединение «в цепочку» произвольного количества
тоннелей, что позволяет получать системы различной сложности и с
различными характеристиками. Используя возможности шины
HyperTransport, AMD-8000 может стать решением для 1-, 2- и
8-процессорных систем.
Сам чипсет AMD-8000 представлен тремя типами микросхем, количество
которых различно в зависимости от уровня решения. Главный компонент
любого решения на базе AMD 8000 – микросхема AMD-8111
HyperTransport I/O Hub, исполняющая роль южного моста. Среди ее
функциональных особенностей: шестиканальный кодек AC'97, поддержка
шины PCI 2.2, Ethernet 10/100, шесть портов USB 2.0,
ATA/133-контроллер. Для реализации поддержки 64-битных карт PCI-X с
режимами работы вплоть до 133 МГц на платы устанавливается микросхема
AMD-8131 HyperTransport PCI-X Tunnel. Для поддержки порта AGP
3.0 может применяться микросхема AMD-8151 HyperTransport AGP 3.0
Graphics Tunnel.
Тестовая часть
Наш рассказ был бы далеко не полным без тестирования платформ.
Поэтому мы решили собрать несколько двухпроцессорных SMP-систем,
на базе доступных на рынке комплектующих. В итоге нам удалось создать
сразу три мощных компьютера с потенциально близким уровнем
производительности. В частности, мы задействовали все наиболее
современные процессоры архитектуры х86 – Intel
Xeon DP 2,8 ГГц,
Opteron 248 и Athlon
MP 2800+. В качестве системных плат мы
выбрали продукты на основе чипсетов, описанных выше. Кроме того, было
решено не ограничивать систему в возможностях и оснастить ее большим
объемом оперативной памяти (2 Гбайт), профессиональной видеокартой, а
также скоростной дисковой подсистемой. В итоге получились следующие
конфигурации:
Процессоры:
Intel
Xeon DP 2,8 ГГц
(L2-кэш 512 кбайт);
AMD
Opteron 248 2,0 ГГц (L2-кэш
1 Мбайт);
AMD
Athlon MP 2800+
(2100 МГц, L2-кэш 512 кбайт).
Наборы системной логики и материнские платы:
i7505
– Supermicro
X5DA8;
AMD-8000
– TYAN Tiger K8W;
AMD-760MPX
— TYAN Tiger MPX.
Оперативная память:
Жесткий диск –
WD740GD.
Видеокарта – ATi FireGL X1 PRO, 128 Мбайт.
ОС – Windows XP
SP1.
Перед тем как перейти к тестированию, отметим, что мультипроцессорные
конфигурации изначально создаются для задач, в которых необходима
высокая производительность, то есть для рабочих станций, кластерных
систем, а с началом эры всеобщей информатизации и для сервисных, а
также обслуживающих компьютеров, или серверов. Конечно, полноценное
тестирование платформ требует изучения работы систем на их базе
абсолютно во всех перечисленных ипостасях, однако едва ли это
возможно. Согласитесь, собрать тестовый кластер задача не из легких,
равно как и имитация загрузки даже небольшого сервера – и то и
другое имеет свою не воспроизводимую специфику. С другой стороны,
сымитировать работу рабочей станции не сложно, ведь набор выполняемых
ею задач хорошо известен. Именно поэтому в настоящем тестировании вы
не увидите диаграмм, демонстрирующих скорость отклика системы на
сетевой запрос или просчет атомных реакций. Зато задачам,
характеризующим систему как высокопроизводительный компьютер, мы
посвятим немало внимания. Во-первых, это позволит нам протестировать
процессоры в качестве компонентов для потенциальных систем на их
базе, а во-вторых – выяснить общий уровень производительности
систем в целом. Именно поэтому в список тестовых пакетов вошли:
Скрипт
под Adobe Photoshop
SC;
SPECapc for 3D Studio Max;
SolidWorks
2001 – CAD-тест с использованием
конструкторских приложений (на основе тестов SPEC);
рендеринг
сцен в Maya 5.1;
рендеринг
сцен в 3ds max 5.1;
кодирование
медиаданных при помощи Windows Media
Encoder 7.0 (AVI
в WMV).
Результаты тестирования
При тестировании в Adobe Photoshop SC мы
использовали скрипт, который имитировал и замерял скорость обработки
не только фильтров или других функциональных возможностей редактора,
но и открытие/запись полученного изображения, его поворот на 270
градусов, то есть весьма близко имитировал реальную работу. Как
видно, по итогам этого теста в общем зачете лидирует система на базе
AMD Opteron 248.
С минимальным отрывом за ней следует рабочая станция на процессорах
Intel Xeon DP 2,8 ГГц. Из общего ряда выбиваются лишь результаты
тестирования при использовании функций регулирования Lighting и
Unsharp Mask, входящих в общий скрипт, из-за чего мы и отразили их
результаты отдельно. Здесь лидерство переходит к платформе Intel Xeon
DP 2,8 ГГц. Это, вероятно, можно объяснить весьма простым алгоритмом
данных задач, на котором наилучшим образом проявляются особенности
«потокоориентированной» технологии NetBurst. Что же
касается результатов платформы с использованием двух AMD Athlon MP
2800+, ее низкие результаты можно объяснить тем, что данный тест,
скорее всего, показывает производительность системы в целом, то есть
обобщенно, в наибольшей степени загружая не только процессор, но и
подсистему памяти. В этих условиях современные Intel Xeon DP и AMD
Opteron 248 оказываются в гораздо более выгодных условиях, так как
содержат двухканальный контроллер памяти, недоступный набору логики
AMD-760MPX.
Для тестирования скорости работы систем в приложениях трехмерного
моделирования мы использовали тесты компании SPEC (Standard
Performance Evaluation Corporation), которые наиболее адекватно
отражают производительность в пакетах, подобных 3ds max. Кроме того,
мы замерили скорость рендеринга одной из сцен, прилагаемых к пакету
3ds max в качестве примера. Производительность в Maya 5.0 замерялась
аналогичным образом, с применением рендера mental ray.
Как видно, лидером этого испытания стала система на базе процессоров
Intel Xeon DP, с явным преобладанием в Maya 5. В приложениях,
подобных 3ds max, наблюдается паритет, видно, что не один из
процессоров не смог нагрузить использованную профессиональную
видеокарту должным образом, тогда как в Maya 5 на первый план вышла
как раз производительность процессора.
Критериев определения скорости работы в тесте конструкторских
приложений компании SPEC существует несколько, однако мы опубликовали
лишь результаты в общем зачете (Composite Score) и собственно
скорости процессора (CPU Score), оставив за рамками статьи тесты
графической подсистемы, поскольку преследовали иные цели.
Безоговорочный лидер в данном тестировании – новый процессор
AMD в дуальной конфигурации, что еще раз подтверждает правильность
выбранного компанией пути переноса всевозможных контроллеров прямо в
процессор.
Приложение Windows Media Encoder 7.0 входит в состав Pentium 4
Application Launcher и предназначено для кодирования
аудиовидеоданных. Данный тест оптимизирован под SSE/SSE2 инструкции и
приведен для выявления «КПД SSE2», ведь в процессорах AMD
Athlon такие инструкции не реализованы. Как и следовало ожидать –
явные лидеры в этом тесте Intel Xeon и AMD Opteron, которые выходят
вперед за счет реализации поддержки инструкций SSE2, разница же в
производительности между ними минимальная.
Выводы
Как ни странно, впечатления остались двоякие, хотя, конечно же, явный
лидер в большинстве тестов – система на базе двух процессоров
AMD Opteron. С другой стороны, конкурирующий чип от Intel,
имея частоту на 800 МГц выше, идет если не вровень с фаворитом, то
показывает себя более чем достойно. А ведь существуют версии Xeon
DP и с кэшем третьего уровня объемом 1 или
2 Мбайт, который смог бы совершенно иначе расставить акценты в
тестировании.
Стоит отметить прекрасную стабильность решения от AMD.
Говорить о том, что в процессе тестирования все системы вели себя
наилучшим образом, мы не будем (с этим у платформ все нормально), а
вот популярность систем на базе процессоров Opteron,
многократно возросшую со времен анонса Athlon 64, отметить
необходимо. В силу своего «экспериментального» характера
набор логики AMD-760MPX вылился в реальные продукты, пожалуй, только
у Tyan, зато
дуальные решения на базе AMD-8000 и
аналогичных чипсетов от NVIDIA и VIA
представили почти все ведущие производители материнских плат.
Еще один факт. Ни Intel Xeon, ни Athlon MP, ни тем более Opteron
как решение для однопроцессорной системы не имеют абсолютно никакой
выгоды, поскольку их настольные аналоги полностью ее исключают. Все
протестированные процессоры в плане производительности (на сегодня)
являются лишь SMP-аналогами десктопных версий, если не считать
предохранительные механизмы повышения надежности работы в Intel Xeon,
которые настольному компьютеру ни к чему.
В любом случае, на лицо два приятных факта. Первый — AMD
сделала удачный шаг в классе высокопроизводительных SMP-систем.
Второй — на это раз ценовое позиционирование решений от AMD
проходит на равных с Intel, и говорить о
процессорах AMD как об «альтернативе»
все-таки язык не поворачивается. Безусловно, они имеют ряд
особенностей, среди которых в первую очередь стоит выделить поддержку
64-разрядных вычислений, пока еще недоступную, но уже заявленную в
продуктах Intel. Конечно же, до появления 64-разрядной версии Windows
XP эта особенность процессоров остается в большей степени
маркетинговым ходом, нежели реальной необходимостью. Впрочем,
поддержка данной технологии может оказаться весьма необходимой в
64-битном Linux и 64-разрядных БД Oracle. С другой стороны, решения
эти скорее эксклюзивные, поэтому вряд ли сделают погоду на массовом
рынке.