Производительность в high-end рабочих станциях
Следующая наша группа тестов - Ziff Davis' Dual Processor Inspection Tests, которые являлись частью High-End Winstone 99. Эти тесты состоят из трех приложений: MicroStation SE (CAD), Photoshop 4.0 (редактирование изображений) и Visual C++ (разработка приложений). Все эти тесты были специально разработаны с учетом многопроцессорности. Таким образом, мы сможем получить информацию о том, как будет работать наша двухпроцессорная система на Xeon с приложениями, которые были специально разработаны для многопроцессорных систем.
Microstation SE является пакетом моделирования/CAD и очень сильно нагружает FPU. Мы уже делали вывод о том, что FPU на Xeon (и Pentium 4) очень плохо выполняет неоптимизированный x87 код, который наличествует в этом тесте. Это позволяет Athlon-у, известному своим сильным FPU, превосходить не только однопроцессорную систему на Xeon, но и двухпроцессорные системы на Xeon и Pentium III.
Даже система на Pentium III 933 МГц превосходит Xeon 1,7 МГц, так как она лучше справляется с неоптимизированным x87 кодом, который используется в большинстве современных "тяжелых" приложений. Для того чтобы Xeon показал здесь свою мощь, приложение должно поддерживать SSE2 инструкции.
Ситуация резко меняется в тесте Photoshop. Самое интересное, что переход к двум процессорам позволяет получить Xeon 46% увеличение производительности.
58% увеличение производительности в Visual C++ также впечатляет.
Если мы посмотрим на общий прирост производительности, то получим 26% увеличение от перехода к двум процессорам. Как и в случае с SYSMark 2001, ложкой дегтя служит один из тестов, в котором Xeon показывает очень плохую производительность. К сожалению, мы можем продемонстрировать производительность нашей платформы только в различных тестах, так что уже вам самим придется решать, какие тесты больше учитывают приложения, используемые вами.
Редактирование изображений в Photoshop
Последний патч 6.0.1 к Photoshop добавляет улучшенную поддержку архитектуры Netburst, так что мы решили протестировать и этот программный продукт. К сожалению, из-за патча наша двухпроцессорная платформа на Pentium III 993 МГц не прошла тест преобразования полярных координат, так что мы не учитываем ее в сводных результатах.
|
Два Intel Xeon 1,7 ГГц |
Один Intel Xeon 1,7 ГГц |
Два Intel Pentium III 933 МГц |
Один Athlon-C 1,2 ГГц |
Фильтр/действие |
Время на выполнение в секундах (меньше - лучше) |
Поворот 90 |
7.9 |
7.8 |
6.8 |
10.0 |
Поворот 9 |
10.9 |
13.8 |
10.7 |
13.5 |
Поворот .9 |
11.1 |
13.0 |
10.3 |
12.4 |
Gaussian Blur 1 пиксель |
6.3 |
6.6 |
5.1 |
7.0 |
Gaussian Blur 3.7 пикселя |
10.5 |
11.8 |
11.4 |
15.2 |
Gaussian Blur 85 пикселей |
10.9 |
12.6 |
12.4 |
16.7 |
50%, 1 пиксель, 0 level Unsharp Mask |
4.4 |
5.3 |
4.4 |
5.5 |
50%, 3.7 пикселя, 0 level Unsharp Mask |
10.7 |
12.2 |
11.7 |
16.5 |
50%, 10 пикселей, 5 level Unsharp Mask |
10.9 |
12.7 |
11.9 |
16.1 |
Очистка от мусора (Despeckle) |
6.7 |
9.5 |
7.1 |
8.1 |
RGB-CMYK |
26.6 |
26.5 |
26.7 |
21.9 |
Уменьшение размера 60% |
2.8 |
3.3 |
3.2 |
4.1 |
Lens Flare |
12.6 |
16.0 |
14.4 |
17.6 |
Color Halftone |
30.1 |
30.8 |
3.3 |
19.1 |
NTSC Colors |
8.6 |
8.4 |
9.4 |
8.5 |
Accented Edges Brush Strokes |
25.1 |
25.7 |
28.3 |
24.7 |
Pointillize |
26.2 |
42.1 |
29.7 |
43.6 |
Акварель |
54.1 |
54.4 |
58.5 |
48.9 |
Полярные координаты |
17.3 |
28.1 |
Не прошел |
24.9 |
Радиальное размытие (Radial Blur) |
57.5 |
101.8 |
70.2 |
108.1 |
Эффекты освещение (Lighting Effects) |
6.4 |
7.7 |
8.4 |
15.7 |
Двухпроцессорная система на Xeon показала на 80% лучший результат в применении фильтров чем один Xeon. Еще одна любопытная деталь: с новым 6.0.1 патчем Athlon-C 1,2 ГГц показывает такие же хорошие результаты, как и Pentium 4/Xeon на 1,7 ГГц.
Производительность под Linux
Для тестирования производительности под Linux мы использовали стандартный тест по компиляции ядра. В этом тесте вы можете указать число одновременно запущенных процессов, так же как и ограничить пропускную способность процессора и памяти. Xeon с его учетверенной FSB должен эффективнее использовать пропускную способность памяти по сравнению с Pentium III, что, собственно, и было продемонстрировано.
Этот тест вы легко можете повторить и на своей машине. Мы использовали последнюю редакцию ядра Linux 2.4.4, с опциями по умолчанию, установленными программой 'make menuconfig' и выходом из нее без изменения параметров. Вы можете также набрать 'make config' и удерживать клавишу ввода для получения такого же результата. Для указания числа одновременно запущенных процессов во время компиляции, используйте флаг -j. Например, команда 'make -j 2 vmlinux' задействует два процесса.
Для ограничения количества времени, отводимого на использование диска, мы дважды проверили установки диска Red Hat и настроили их на 32-битный ввод/вывод и UltraDMA mode 4. Для этого мы использовали следующую команду:
hdparm -c1 -d1 -k1 -X68 /dev/hda
Следует заметить, что время на ввод/вывод все еще будет сказываться на результатах теста, но так как мы использовали один и тот же жесткий диск на всех машинах, оно не должно существенно повлиять на сравнительный результат. Также 512 Мбайт памяти должно быть достаточно для того, чтобы make, gcc и другие файлы ядра постоянно находились в кэше файловой системы Linux.
После того, как мы закончили тесты под Athlon, мы начали тестирование Xeon, и неожиданно возникла проблема. Ни установленное ядро Red Hat 7.1, ни установочный диск не загружались. Равно как и ядро 2.4.4. Нам помогло обновление до версии 2.4.4-ac9, и мы использовали ее для тестирования. Поэтому, имейте в виду, что результаты получены при компиляции двух разных версий ядра.
Что самое интересное, ядро 2.4.4, которое мы скомпилировали, уже содержало поддержку процессоров класса Pentium 4. Xeon слишком незначительно отличается от него для такой ошибки, да и i860 является лишь немного модифицированным i850. Впрочем, мы тестируем совершенно новое оборудование, и, наверное, слишком наглым будет требование работоспособности не самого свежего ядра с первого раза.
Тесты по компиляции ядра Linux |
Процессор/платформа |
Время компиляции в минутах (меньше - лучше) |
1 процесс |
2 процесса |
3 процесса |
Два Intel Xeon 1,7 ГГц |
4.12 |
2.465 |
2.467 |
Два Intel Pentium III 933 МГц |
5.09 |
3.12 |
3.135 |
Один AMD Athlon-C 1,2 ГГц |
4.85 |
4.9 |
4.91 |
При сравнении платформ взята за основу производительность Athlon. Как можно заметить, производительность одного процессора Athlon не повышается при увеличении числа одновременно запущенных процессов. Это связано с тем, что процессор может обрабатывать только один процесс в единицу времени. Поэтому увеличение числа процессов результату никак не помогает. Было бы интересно посмотреть на сравнение двухпроцессорных систем на базе AMD и Intel, впрочем, это тема для будущей статьи.
В сравнении с Pentium 4 и Athlon, Pentium III демонстрирует нехватку пропускной способности FSB и шины памяти, которая ограничена 1 Гбайт/с. Вообще-то мы предполагали, что Xeon покажет большее преимущество при переходе к двухпроцессорной системе по сравнению с Pentium III. Однако здесь мы видим, что и Pentium III, и Xeon получают почти 60% прирост по сравнению с одни процессором. Это говорит нам о том, что компиляция ядра недостаточно нагружает FSB и память для появления узкого места Pentium III.
Тестирование Xeon на серверных задачах
Те результаты, которые были показаны выше, весьма впечатляют, но они все же отражают использование Xeon в рабочих станциях. Как мы знаем, семейство Xeon также и нацеливается на рынок серверов. Если раньше большой кэш L2 (до 2 Мбайт) улучшал производительность серверов баз данных, то с новой архитектурой (Netburst) процессор должен стать еще более привлекательным.
Если посмотреть на обычные компьютеры, то архитектура Intel NetBurst не очень впечатляет. Такое отсутствие энтузиазма объясняется тем, что реальную пользу архитектура приносит в нишевых приложениях, типа кодирования видео. Проблема заключается в относительно небольшом количестве приложений, требовательных к пропускной способности. Поэтому Pentium 4 и Xeon не станут столь привлекательными, пока они не увеличат тактовую частоту.
Если же мы обратим свой взор на серверы, то они используют приложения с высокими требованиями к пропускной способности. На вашем рабочем компьютере никогда не будет программы, которая бы требовала нескольких компьютеров для нормальной работы, а на серверах такие приложения - обычная практика, называемая кластеризацией.
Для того чтобы измерить серверную производительность процессора Intel Xeon мы создали ситуацию, очень близкую к реальности. Вместо запуска большого количества синтетических тестов для симуляции серверной нагрузки, мы фактически заменили тестовой системой один из серверов на сайте Anandtech.
Форумы на сайте Anandtech страшно набирают популярность за последние годы. Сегодня в них существует около 56 000 зарегистрированных пользователей, обычно в один момент времени с сервером работает 600 пользователей. Кроме этого, существуют тысячи гостей, которые просматривают форумы и не учитываются нашей статистикой зарегистрированных пользователей. Форумы организованы на базе FuseTalk, движка, использующего базу данных, который был разработан Джейсоном Кларком (Jason Clark) и затем продан сайту Anandtech его компанией e-Zone Media.
Если в форум AnandTech помещается сообщение, FuseTalk перехватывает его и записывает в базу данных. Если пользователь желает прочитать сообщение (или ветвь сообщений), то они извлекаются из базы данных и динамически выводятся через Cold Fusion. В форуме не используется статических HMTL файлов, все работает через динамические страницы. Конечно, это имеет свои плюсы и минусы. Самый большой плюс заключается в цельности системы, в ней легко производить поиск и поддерживать ее рабочее состояние. Ну а самый большой минус заключается в том, что полностью динамические и основанные на базе данных форумы оказывают существенную нагрузку на сервер баз данных, который выдает всю информацию.
Объем текущей базы данных форумов Anandtech равен 3 Гбайт. Она содержит 3,1 миллион доступных для чтения сообщений, организованных в 357 000 ветвей. База данных также хранит и 1,3 миллиона личных сообщений, которыми 56 000 пользователей обмениваются друг с другом.
Сервер баз данных запущен на двухпроцессорной системе Intel Pentium III 800 МГц с 1,5 Гбайт PC133 SDRAM памяти, однако нельзя сказать, что процессора здесь хватает с избытком. Процессор очень легко становится узким местом системы благодаря операциям ввода/вывода: процессор и вся остальная система ждут, пока данные считаются с жестких дисков, и только потом могут обрабатывать полученную информацию. Для преодоления этого узкого места в системе установлен четырехдисковый RAID 10 массив из дисков Quantum Atlas 10K II (10 000 об/мин, буфер 8 Мбайт).
Нам было очень интересно посмотреть, как со всем этим справится процессор Intel Xeon. Для получения достоверных результатов мы записывали лог всех транзакций сервера баз данных за период в 30 минут. Записывались все операции чтения и записи в базу данных форумов Anandtech, то есть вся та информация, которая была помещена, редактирована, процитирована или послана в течение 30 минут.
Потом по этому логу запускались те же самые транзакции на тестовой системе в режиме без остановок. Если вы знакомы с нашими прошлыми тестами, то такой режим очень похож на 'timedemo' под Quake III Arena. Единственное отличие от нашего теста заключается в том, что в Quake III Arena в качестве характеристики производительности мы получали количество кадров в секунду, а здесь мы получаем время, которое ушло на выполнение всех операций. Если лог записывался в течение 30 минут, то он должен "проигрываться" существенно быстрее, так как здесь уже не учитывается время ожидания ввода данных от пользователя, поэтому все будет обрабатываться с максимально возможной скоростью.
Для еще большего уменьшения узких мест, связанных с операциями ввода/вывода, тестовая система была не только оснащена четырьмя дисками Quantum Atlas 10K в массиве RAID 0, но и 1 Гбайт памяти. Кстати, такой массив обеспечивает большую скорость записи, но такую же скорость чтения, что и наш RAID 10 массив на сервере форумов.
Во время 30-минутной записи произошло: 105267 операций выбора, 4984 операций обновления, 701 операций добавления и 5 операций удаления в базе данных. Если быть точным, то операция выбора означают чтение, обновления - чтение и запись, добавления - запись и удаление - просто удаление (редкое событие).
Первое, что здесь нужно заметить - тест значительно нагружает базу операциями чтения, таким образом, узкие места, связанные с вводом/выводом не так выступают, как при нагрузке базы операциями записи. Чтение всегда происходит быстрее чем запись, следовательно, наш тест больше зависит от производительности платформы, а не от узких мест операций ввода/вывода.
Если же ваше приложение больше нагружает базу данных операциями записи, то результат сравнения нескольких процессоров по своей форме не изменится, однако разница между ними уменьшится, так как система ввода/вывода при переходе от одного процессора к другому не меняется.
Природа базы данных форумов такова, что она задействует совсем немного интенсивных вычислительных операций, в основном используются функции прямого чтения и записи. Таким образом, скорость главным образом зависит от производительности всей платформы, а не от мощности вычислительных блоков процессора. Как уже было сказано раньше, Xeon бесспорно является лучшей платформой в этом классе, поэтому он должен хорошо себя показать.
Итак, давайте, наконец, перейдем к результатам тестирования. Если в обычных приложениях Pentium 4 на 1,7 ГГц не всегда значительно превосходил Pentium III, то как же обстоит дело с серверами баз данных?
Тестирование сервера баз данных |
Процессор/платформа |
Время прохода 30-минутного лога транзакций на максимальной скорости (меньше - лучше) |
Один Intel Xeon 1,7 ГГц |
22 минуты 31 секунда 532 мс |
Два Intel Xeon 1,7 ГГц |
14 минут 49 секунд 47 мс |
Два Intel Pentium III 933 МГц |
22 минуты 34 секунды 625 мс |
Один AMD Athlon-C 1,2 ГГц |
18 минут 6 секунд 437 с |
Из результатов следует несколько важных выводов. Во-первых, очевидно, что высокая пропускная способность FSB и шины памяти на платформе Xeon пригодилась очень кстати в этом тесте. Даже однопроцессорная конфигурация Xeon 1,7 ГГц прошла тест быстрее, чем двухпроцессорная система Pentium III 933 МГц.
Во-вторых, двухпроцессорная система Intel Xeon 1,7 ГГц прошла тест за 64% времени по сравнению с одним Xeon 1,7 ГГц или двумя Pentium III 933 МГц.
Но не один Xeon обладает высокой пропускной способностью. Обратите внимание, что один Athlon-C превзошел один Intel Xeon на 19%. Было бы очень интересно посмотреть, как пара Athlon-C 1,2 ГГц пройдут этот тест.
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.