Тестирование технологии Hyper-Threading

Сергей Пахомов

Тест 1. MUSICMATCH Jukebox 7.5 и Novalogic Comanche 4

Тест 2. MUSICMATCH Jukebox 7.5 и DroneZmark

Тест 3. MUSICMATCH Jukebox 7.5 и Unreal Tournament 2003

Тест 4. MUSICMATCH Jukebox 7.5 и VirtualDub 1.4.10+DivX 5.02

Тест 5. RazorLame 1.15+

Тест 6. RazorLame 1.15+ ame 3.92

Тест 7. WinZip 8.01 и DrWeb v.4.29

Тест 7. LazorLame 1.1.5+ Lame 3.92 и DrWeb v.4.29

Тест 8. VirtualDub 1.4.10+ DivX 5.02 и DrWeb v.4.29

Тест 9. Adobe Distiller и DrWeb

Тест 10. Adobe Distiller+Photoshop 7.0

Выводы

 

О новой технологии Hyper-Threading, разработанной корпорацией Intel, написано уже немало, в том числе и на страницах нашего журнала. Однако тестировать процессоры с поддержкой этой технологии еще не доводилось, и главным образом потому, что до сих пор речь шла о серверных процессорах Intel Xeon. Но после того, как в ноябре этого года был анонсирован процессор Intel Pentium 4 3,06 ГГц с поддержкой технологии Hyper-Threading, появился повод всерьез заняться тестированием новых систем.

В этой статье мы подробно рассмотрим результаты тестирования нового процессора Intel Pentium 4 с тактовой частотой 3,06 ГГц и поддержкой технологии Hyper-Threading. Однако тем, кто еще не знаком с особенностями этой новой технологии, рекомендуем предварительно прочитать статью «Новый процессор Intel Pentium 4 c тактовой частотой 3,06 ГГц и поддержкой технологии Hyper-Threading», опубликованной в этом номере журнала.

Для тестирования мы собрали стендовый ПК следующей конфигурации:

  • Процессор: Intel Pentium 4 3,06 ГГц (Hyper-Threading)
  • Материнская плата: Intel D850EMV2
  • Версия BIOS: MV85010A.86A.0057.P20
  • Видеокарта: Albatron GeForce 4 Ti4200 4x AGP
  • Жесткий диск: IBM Deskstar 120 GXP IC35L020AVER07-0 (20 Гбайт)
  • Файловая система: FAT32

В качестве операционной системы применялась ОС Windows XP Professional (English) c Service Pack 1. В случае использования процессора с поддержкой технологии Hyper-Threading необходимо при установке ОС с загрузочного диска в самом начале нажать клавишу F5 и выбрать режим установки для мультипроцессорной системы с поддержкой ACPI.

Кроме того, для получения максимальных результатов при тестировании отключалась опция System Restore и все визуальные эффекты (использовалась настройка Adjust for best performance). Дополнительно устанавливалась утилита обновления чипсета Intel Chipset Software Installation Utility v 4.04.1007 и акселератор Intel Application Accelerator 2.2.2.2150.

Для видеокарты использовался видеодрайвер nVIDIA Detonator driver 40.41, а все тесты производились при разрешении экрана 1024×768, глубине цвета 32 бит и частоте строчной развертки 75 Гц. Вертикальная синхронизация VSync отключалась как для приложений OpenGL, так и для DirectX.

Учитывая, что технология Hyper-Threading может быть активизирована через настройки BIOS, для выяснения эффекта от использования технологии тестирование проводилось как с активизацией Hyper-Threading (когда в системе было два логических процессора), так и без нее (в этом случае в системе присутствовал один обычный процессор).

Первый вопрос, с которым пришлось столкнуться при тестировании нового процессора,  — это выбор тестовых утилит. В общем-то, с самого начала было подозрение, что традиционный тестовый «букет», который используется для тестирования процессоров, в данном случае явно не подойдет. Нет, дело, конечно, не в том, что с этими бенчмарками процессор не будет работать. Однако ожидать, что при активизации Hyper-Threading существенно изменятся результаты, вряд ли стоит. Все дело в данном случае в том, что сами по себе традиционные тестовые пакеты для домашних компьютеров рассчитаны на однопроцессорные системы. Какая-либо оптимизация под мультипроцессорность отсутствует, что, в общем-то, до сих пор было вполне оправданно, так как мультипроцессорность — удел серверов, а не ПК. В то же время современные бенчмарки и без того достаточно хорошо оптимизированы под процессор Intel Pentium 4 и ожидать выигрыша от реализации многопоточности на уровне приложения (то есть когда несколько потоков позволяют более эффективно загрузить исполнительные блоки процессора) также не приходится.

Первые же эксперименты с традиционными тестовыми утилитами подтвердили наши опасения. Разница в производительности при активизации Hyper-Threading и без нее была несущественной (речь идет о тестах 3DMark2001 SE, MadOnion SySmark 2002), поэтому мы оставили попытки дальнейшего тестирования с помощью традиционных тестовых программ. Конечно, на этом можно было бы и закончить, провозгласив в качестве вывода, что новая технология — это просто рекламный трюк и никаких преимуществ она в действительности не дает. Ну что ж, мы уверены, что еще немало подобных выводов будет сделано, тем более что есть компания, которой это очень выгодно. Но… не будем опускаться до уровня дилетантских суждений, а лучше задумаемся над тем, какие нужно создать условия, чтобы выявить преимущества (а возможно, и недостатки) новой технологии.

Итак, ситуация примерно такая же, что была в первые месяцы после выхода процессора Intel Pentium 4: процессор есть, а приложений, реально использующих его возможности,  — нет. Однако давайте вспомним, что технология Hyper-Threading создает в системе два логических процессора из одного физического. Многопроцессорные системы идеально подходят для многозадачных сред. Поэтому, чтобы создать новому процессору «родную стихию», необходимо запускать на нем одновременно несколько разных приложений. Именно такой подход и был положен в основу тестирования процессора с Hyper-Threading.

Итак, в качестве тестовых утилит мы использовали различные современные приложения, такие как кодировщики аудио- и видео-файлов, Photoshop, Adobe Acrobat Reader, игровые приложения, антивирусные программы и архиваторы. Приложения запускались как последовательно, так и параллельно в различных комбинациях друг с другом. Единственным измеряемым критерием в данном случае являлось время выполнения задач, при этом измерялось время выполнения каждой задачи:

  • в отдельности с отключенной Hyper-Threading;
  • в отдельности с включенной Hyper-Threading;
  • при их одновременном выполнении с отключенной Hyper-Threading;
  • при их одновременном выполнении с включенной Hyper-Threading.

Кроме того, задачи подбирались таким образом, чтобы сроки выполнения каждой из них в отдельности были бы приблизительно одинаковыми. Анализ этих показателей и позволял судить о преимуществах или недостатках новой технологии. Итак, обо всем по порядку.

Тест 1. MUSICMATCH Jukebox 7.5 и Novalogic Comanche 4

Используемое программное обеспечение:

  • конвертор аудиофайлов MUSICMATCH Jukebox 7.5;
  • игровой бенчмарк Novalogic Comanche 4.

В первом тесте мы использовали игровой популярный бенчмарк Novalogic Comanche 4 совместно с кодировщиком аудиофайлов MUSICMATCH Jukebox 7.5. С помощью кодировщика в фоновом режиме производилось кодирование WAV-файла размером 623 Мбайт в MP3-файл.

Все настройки кодировщика и игрового бенчмарка использовались по умолчанию.

При выполнении каждой из задач в отдельности (рис. 1) использование технологии Hyper-Threading практически не позволяет получить преимущества. Общее время выполнения обеих задач (последовательно, друг за другом) при активизации Hyper-Threading составляет 114 с, а без Hyper-Threading — 117 с.

При одновременном исполнении двух задач (рис. 2) ситуация несколько меняется. Общее время выполнения в данном случае определяется временем выполнения последней задачи, а время совместной работы обоих приложений определяется как время выполнения первой задачи. При активизации Hyper-Threading обе задачи выполняются практически за равное время — 100 с (конвертация аудиофайла составляет 99 с, а игровой бенчмарк выполняется за 100 с). В то же время при отключении Hyper-Threading общее время выполнения двух задач составляет уже 127 с, при этом совместно программы работают 85 с (время игрового бенчмарка), затем еще в течение 42 с происходит конвертация аудиофайла.

Итак, выигрыш по времени в данном случае составляет 21%, что само по себе уже существенно. Однако хочется обратить внимание и еще на одно обстоятельство. При отключении Hyper-Threading процесс конвертации аудиофайла сильно притормаживает. Действительно, ведь после окончания игрового бенчмарка процесс конвертации длится еще 42 с и при этом процессор выполняет только одну задачу. Но при выполнении одной задачи конвертации требуется всего 57 с. Следовательно, за время совместного выполнения задач процесс конвертации выполняется лишь на 26%.

Итак, вывод данного теста однозначен. Hyper-Threading позволяет не только сократить время одновременного выполнения задач, но и создать условия для их действительно параллельного выполнения.

В начало В начало

Тест 2. MUSICMATCH Jukebox 7.5 и DroneZmark

Используемое программное обеспечение:

  • конвертор аудиофайлов MUSICMATCH Jukebox 7.5;
  • игровой бенчмарк DroneZmark.

Во втором тесте процесс кодирования в фоновом режиме WAV-файла в MP3-формат мы совместили с игровым бенчмарком DroneZmark (настройки игрового бенчмарка использовались по умолчанию).

Как и в предыдущем случае, при выполнении каждой из задач в отдельности (рис. 3) использование технологии Hyper-Threading не позволяет получить преимуществ. Общее время выполнения обеих задач при активизации Hyper-Threading составляет 114 с, а без Hyper-Threading — 115 с.

При одновременном выполнении двух задач (рис. 4) с активизацией Hyper-Threading обе задачи выполняются за 120 с (что, кстати, лишь немного меньше времени, необходимого для их последовательного выполнения). При отключении Hyper-Threading общее время выполнения двух задач составляет уже 115 с, а время совместной работы программ, равное времени выполнения игрового бенчмарка, — 58 с. Нетрудно заметить, что время выполнения игрового бенчмарка при параллельном запуске программ в данном случае такое же, как и в случае последовательного запуска программ. Это может свидетельствовать о том, что во время запуска игры кодировщик MUSICMATCH Jukebox 7.5 простаивает и начинает процесс конвертации только после окончания игрового бенчмарка. По всей видимости, игра DroneZmark имеет наивысший уровень приоритета и, если не использовать технологию Hyper-Threading, любое другое приложение не просто притормаживает, а простаивает.

Использование Hyper-Threading позволяет (несмотря на разные уровни приоритета) выполнять оба приложения одновременно. Хотя по совокупному времени одновременного выполнения обеих задач использование Hyper-Threading несколько ухудшает результат, тем не менее достигается параллельность выполнения на уровне приложений.

В начало В начало

Тест 3. MUSICMATCH Jukebox 7.5 и Unreal Tournament 2003

Используемое программное обеспечение:

  • конвертор аудиофайлов MUSICMATCH Jukebox 7.5;
  • игровой бенчмарк Unreal Tournament 2003 (скрипт botmatch-antalus.bat).

Единственным отличием от предыдущего теста является использование в качестве игрового бенчмарка демо-скрипта botmatch-antalus.bat игры Unreal Tournament 2003. Однако, как выяснилось, данный игровой бенчмарк как нельзя лучше подходит для многозадачной среды.

При выполнении каждой из задач по отдельности использование Hyper-Threading не позволяет получить выигрыш по времени (рис. 5).

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

В начало В начало

Тест 4. MUSICMATCH Jukebox 7.5 и VirtualDub 1.4.10+DivX 5.02

Используемое программное обеспечение:

  • конвертор аудиофайлов MUSICMATCH Jukebox 7.5;
  • конвертор видеофайлов VirtualDub 1.4.10 с установленным кодеком DivX 5.02.

В следующем тесте мы совместили процесс конвертации WAV-аудиофайла в MP3-формат с процессом конвертации VideoCD DAT-файла в AVI-формат.

Для конвертации WAV-файла использовалась уже упоминавшаяся программа MUSICMATCH Jukebox 7.5, а для преобразования VideoCD DAT-файла (размером 524 Мбайт) в AVI-формат — программная оболочка VirtualDub 1.4.10 с установленным кодеком DivX 5.02. При этом в настройках кодека устанавливалась оптимизация SSE2, то есть оптимизация под процессор Intel Pentium 4. Результирующий AVI-файл имел размер 796 Мбайт.

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

Итак, прежде всего остановимся на фоновой конвертации видеофайла. Поскольку задача конвертации видеофайла размером 524 Мбайт занимает существенно больше времени, чем конвертация аудиофайла размером 623 Мбайт, чтобы немного уравнять сроки выполнения этих задач, мы использовали при конвертации аудиофайла не один, а два файла, общий размер которых составлял 1243 Мбайт.

При последовательном выполнении задач конвертации аудио- и видеофайлов активизация Hyper-Threading позволяет получить лишь незначительный выигрыш по времени (рис. 7).

При активизации Hyper-Threading общее время выполнения задач уменьшается до 486 с против 531 с в режиме с отключенной Hyper-Threading (рис. 8). То есть выигрыш по времени составляет 10,5%. Интересно также отметить, что общее время последовательного выполнения задач, составляющее 535 с при отключении Hyper-Threading, приблизительно равно времени выполнения этих задач одновременно (531 с).

При фоновой конвертации аудиофайла ситуация меняется. Прежде всего, при фоновой конвертации аудиофайла мы использовали файл размером 623 Мбайт, так что время выполнения аудио- и видеоконвертации по отдельности существенно различалось (рис. 9). Однако именно это обстоятельство позволило нам сделать времена конвертации приблизительно равными при параллельном выполнении задач. По всей видимости, конвертация видеофайла имеет больший приоритет, и за время видеоконвертации конвертация аудиопотока притормаживается как при активизации Hyper-Threading, так и без нее. В действительности, время выполнения конвертации видеопотока приблизительно одинаково в случае как последовательного, так и параллельного выполнения задач, то есть выполнение конвертации аудиофайла в фоновом режиме мало отражается на активной задаче (рис. 10).

Влияние Hyper-Threading в данном случае не столь существенно. Время выполнения задач уменьшилось всего на 10 с.

В начало В начало

Тест 5. RazorLame 1.15+

Lame 3.92 и VirtualDub 1.4.10+DivX 5.02

Используемое программное обеспечение:

  • конвертор аудиофайлов RazorLame 1.15 c установленным кодеком Lame 3.92;
  • конвертор видеофайлов VirtualDub 1.4.10 с установленным кодеком DivX 5.02.

Данный тест напоминает предыдущий, за исключением того, что в качестве конвертора аудиофайлов используется оболочка RazorLame 1.15 c установленным кодеком Lame 3.92.

Еще одно отличие от предыдущего теста заключается в том, что в случае использования данного набора ПО оказывается невозможно одновременное выполнение двух программ без использования Hyper-Threading. При этом неважно, какая из этих задач выполняется в фоновом режиме, а какая — активна. И в том и в другом случае первоначально выполняется задача конвертации видеофайла и только после этого активизируется конвертация аудиофайла. По всей видимости, это связано с различными уровнями приоритетов обеих программ (рис. 11).

Поэтому, когда мы говорим о параллельном выполнении обеих программ без использования Hyper-Threading, на самом деле речь идет об их последовательном выполнении, несмотря на то, что задачи запускаются одновременно (рис. 12).

Использование Hyper-Threading в данном тесте позволяет получить не только существенный выигрыш по времени выполнения задач, но, что самое главное, заставить работать оба приложения действительно параллельно.

В начало В начало

Тест 6. RazorLame 1.15+ ame 3.92

Используемое программное обеспечение:

  • конвертор аудиофайлов RazorLame 1.15 c установленным кодеком Lame 3.92.

Неплохой демонстрацией возможностей Hyper-Threading может служить тест одновременного запуска двух копий одной и той же программы RazorLame 1.15 с кодеком 3.92.

В данном случае при последовательном выполнении задач использование технологии Hyper-Threading не позволяет получить преимущества (рис. 13), однако ситуация кардинально меняется при параллельном выполнении задач (рис. 14). Применение Hyper-Threading приводит к существенному выигрышу по времени (время выполнения задач становится на 25% меньше).

В начало В начало

Тест 7. WinZip 8.01 и DrWeb v.4.29

Используемое программное обеспечение:

  • архиватор WinZip 8.01;
  • антивирусная программа DrWeb v.4.29.

В данном тесте мы использовали задачу архивации директории с большим количеством файлов с помощью архиватора WinZip 8.01 при одновременном фоновом сканировании жесткого диска C:\ на наличие вирусов с помощью антивирусной программы DrWeb v.4.29.

Время выполнения каждой из задач в отдельности приблизительно одинаково (рис. 15).

Если же осуществляется одновременное выполнение обеих задач, то использование Hyper-Threading не только не позволяет получить выигрыша в производительности, но наблюдается даже значительный проигрыш по времени (рис. 16). Интересно отметить, что в данном случае последовательное выполнение задач занимает меньше времени, чем их одновременное выполнение как при активизации Hyper-Threading, так и без нее.

В начало В начало

Тест 7. LazorLame 1.1.5+ Lame 3.92 и DrWeb v.4.29

Используемое программное обеспечение:

  • конвертор аудиофайлов RazorLame 1.15 c установленным кодеком Lame 3.92;
  • антивирусная программа DrWeb v.4.29.

В следующем тесте использовалась конвертация WAV-файла в MP3-формат с помощью кодека Lame 3.92 при фоновом сканировании жесткого диска посредством антивирусной программы DrWeb v.4.29.

Как видно из рис. 17, при выполнении каждой из задач по отдельности выигрыша от использования Hyper-Threading в данном случае нет. Заметим, что общее время двух задач в последовательном режиме составляет 259 с.

При параллельном выполнении обеих задач (рис. 18) использование Hyper-Threading позволяет получить незначительный выигрыш по времени — 259 с против 276 с. Однако заметим, что даже при использовании Hyper-Threading время выполнения двух задач в параллельном режиме оказывается больше, чем при последовательном выполнении этих же задач.

В начало В начало

Тест 8. VirtualDub 1.4.10+ DivX 5.02 и DrWeb v.4.29

Используемое программное обеспечение:

  • конвертор видеофайлов VirtualDub 1.4.10 с установленным кодеком DivX 5.02;
  • антивирусная программа DrWeb v.4.29.

В данном тесте используется уже рассмотренная конвертация видеофайла с помощью программы VirtualDub 1.4.10 с установленным кодеком DivX 5.02 при фоновом сканировании жесткого диска антивирусной программой DrWeb v.4.29.

При выполнении каждой из задач по отдельности использование Hyper-Threadig позволяет получить лишь незначительный выигрыш и только на операции конвертации видеофайла (рис. 19).

Параллельное выполнение обеих задач (рис. 20) приводит к более значительному выигрышу по времени выполнения задач при использовании Hyper-Threading — 450 с против 489 с. Отметим также, что без использования Hyper-Threading время параллельного исполнения задач (489 с) примерно равно времени их последовательного выполнения (502 с).

В начало В начало

Тест 9. Adobe Distiller и DrWeb

Используемое программное обеспечение:

  • конвертор PDF-файлов Adobe Distiller;
  • антивирусная программа DrWeb v.4.29.

В данном тесте проводится конвертация PostScript-файла в PDF-формат с помощью утилиты Adobe Distiller. Для конвертации используется ps-файл размером 246 Мбайт, а для увеличения нагрузки при конвертации устанавливается качество Screen (наилучшая степень сжатия при наихудшем изображении). Кроме того, одновременно с конвертированием производится в фоновом режиме сканирование жесткого диска антивирусной программой DrWeb v.4.29.

В данном случае использование Hyper-Threading при выполнении каждой из задач по отдельности не дает преимуществ (рис. 21). В то же время использование Hyper-Threading при одновременном выполнении обеих задач позволяет получить значительный выигрыш по времени, составляющий 31% (рис. 22).

В начало В начало

Тест 10. Adobe Distiller+Photoshop 7.0

Используемое программное обеспечение:

  • конвертор PDF-файлов Adobe Distiller;
  • Photoshop 7.0.

В этом тесте на фоне уже рассмотренной операции конвертации ps-файла в PDF-формат воспроизводится обработка изображения в программе Photoshop 7.0.

Для получения изображения создавался новый файл с разрешением 600 точек на дюйм и размерами 21×29 см. После этого на созданное изображение накладывался гауссовский шум и последовательно применялось несколько фильтров, а также операция поворота. В результате был получен файл размером 143 Мбайт. Данная операция была записана в качестве скрипта и воспроизводилась в автоматическом режиме.

Выяснилось, что использование выбранных операций преобразования изображения не позволяет получить выигрыша по времени при использовании Hyper-Threading в случае выполнения задачи преобразования отдельно от конвертации ps-файла (рис. 23).

Если же обе задачи выполняются одновременно, то использование Hyper-Threading не только не улучшает ситуацию, но и приводит к проигрышу (рис. 24).

В начало В начало

Выводы

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

Прежде всего, выяснилось, что рынок пользовательских приложений пока еще не готов встретить новую технологию в том смысле, что большинство традиционных приложений просто не позволяют получить преимуществ от новой технологии. Поэтому можно говорить о том, что процессор имеет неплохие перспективы на будущее, если производители ПО реализуют его потенциальные возможности. В общем-то, это и понятно. Для успешного использования Hyper-Threading нужно создать определенные условия: должна применяться либо отдельная программа, но распараллеленная (условие многопоточности), либо много программ при одновременном исполнении (условие многозадачности). Распараллеливание софта на потоки пока не сильно распространено среди производителей ПО, но это дело времени. А вот многозадачность — это конкретные ситуации использования различных задач разными людьми.

Редакция выражает признательность представительству корпорации Intel в России и странах Балтии (www.intel.ru) за предоставление для тестирования процессора Intel Pentium 4 3,06 ГГц.

КомпьютерПресс 12'2002

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует