Мы неоднократно затрагивали тему снижения быстродействия процессоров Pentium 4 при перегреве (интересующиеся могут почитать архивные материалы «Тепловой режим процессоров Pentium 4 и Athlon XP» и «Разгон Intel Pentium 4 1,6A ГГц: мифы и факты влияния Thermal Monitor на производительность»). Но по-прежнему ходят самые разные мифы о Thermal Monitor и собственно технологии Thermal Throttling (это самое снижение). Поэтому, не углубляясь в теорию (ее с избытком хватает в указанных выше статьях), мы решили обновить свои практические знания в этой области. Для этого мы произвели очень простой эксперимент с двумя топовыми процессорами Pentium 4 3.2 ГГц на различных ядрах (Northwood и Prescott): отключили питание вентилятора на кулере при загрузке процессора в 100%, и отследили рост температуры и падение производительности во временной перспективе. Данный материал является отчетом о проделанном эксперименте и его результатах.
Тестовые стенды
- Процессоры:
- Intel Pentium 4 3.2 ГГц (Northwood)
- Intel Pentium 4 3.2E ГГц (Prescott)
- Материнские платы:
- Albatron PX875P Pro (i875P)
- Память:
- 2x512 МБ PC3200 DDR SDRAM DIMM TwinMOS (тайминги: 2-2-2-5)
- Видеокарта: Manli ATI Radeon 9800Pro 256 МБ
- Жесткий диск: Western Digital WD360 (SATA), 10000 об/мин
- Кулер: Thermaltake SPARK 6 (медный радиатор, 5500 об/мин)
- Термопаста: КПТ-8.
Для достижения 100% загрузки процессора (точнее, обоих виртуальных CPU, т.к. использованные нами Pentium 4 поддерживают технологию Hyper-Threading), использовался подтест CPU Stability из последней версии тестового пакета CPU RightMark т.к. он позволяет динамически отслеживать производительность процессора. Напомним, что частота работы ядра у Pentium 4 при включении Thermal Throttling не меняется , поэтому отслеживать следует именно производительность! Для измерения температуры, дабы не мудрствовать лукаво, и не завязываться на утилиты от конкретных изготовителей системных плат, была использована достаточно популярная программа Motherboard Monitor версии 5.3.6.0, окно которой («Dashboard», пользуясь терминологией авторов) было выведено рядом с окном CPU Stability Test (или даже поверх него).
Отдельно остановимся на выборе системной платы. Желая смоделировать типичный случай, мы специально взяли такую модель, которая не содержит в BIOS Setup функций управления Thermal Throttling. Т.е. была воспроизведена ситуация, когда контролировать процесс вручную возможности нет, и все работает в соответствии с установками по умолчанию. Тестирование
Дальнейшее повествование мы построим самым логичным для рассматриваемой ситуации образом: в виде скриншотов, иллюстрирующих стадии эксперимента в той последовательности, в которой все происходило в реальности, и комментариев к ним.
Pentium 4 3,2 ГГц «Northwood»
Исходное положение: система загружена и была в состоянии полного покоя в течение 10 минут. Температура «за бортом» 22 градуса, корпус тестового стенда открыт. Как легко заметить, температура процессора составляет 34 градуса Цельсия.
Запущен RightMark CPU Stability Test, время, приблизительно, 5 секунд после старта. Температура выросла на 8 градусов, в окне программы начал отрисовываться график производительности. График условно можно назвать гладким.
Заметим, что мы отключили в опциях Stability Test самый неточный из всех способов определения производительности Multimedia Timer, оставив только графики Performance Counter и Time Stamp Counter. Если присмотреться, то на скриншоте можно увидеть зеленую линию Multimedia Timer на уровне нуля по оси Y (нуля поскольку он отключен). Также можно заметить, что две линии красная Time Stamp и желтая Performance Counter, практически слились в одну.
6 минут после старта теста. Температура процессора окончательно стабилизировалась и составляет 50 градусов (время от времени возникают кратковременные всплески до 51-52 градусов). Линия графика ровная производительность не меняется, Thermal Throttling (в дальнейшем просто «троттлинг») не задействован.
После снятия скриншота (это, как-никак, еще одна дополнительная нагрузка на процессор, помимо создаваемой тестовым пакетом), график стал периодически незначительно «скакать». Однако вряд ли это троттлинг, скорее в определение производительности программой RightMark CPU Stability Test начали вмешиваться другие процессы, параллельно выполняющиеся в системе. Все-таки достигнуть идеальной стабильности результатов программных измерений в многозадачной ОС практически нереально. Мы приводим этот скриншот в основном для тех, кто захочет повторить наши эксперименты, чтобы они не пугались подобных всплесков — это нормально.
Состояние через минуту после отключения питания вентилятора на кулере. Температура выросла на 20 градусов (обратите внимание для этого понадобилась целая минута работы CPU при 100% загрузке с остановившимся вентилятором!). Троттлинг не включается процессор все еще пытается удерживать производительность на номинальном уровне.
Минута и 7-10 секунд после отключения питания вентилятора. Температура выросла еще на 4 градуса, и процессор начинает постепенно «сваливаться» в троттлинг. Обратите внимание на два первых зубца на графике робкие попытки вернуться к нормальному состоянию все же наблюдаются, но проходят довольно быстро.
Типичная картина сваливания в троттлинг. Этот скриншот снят в другой итерации т.к. снятие предыдущего скриншота сильно «расплескало» график. Впрочем, временные интервалы и температуры все равно повторяются с довольно высокой точностью плюс/минус 3-4 секунды и 1-2 градуса. В общей сумме, от начала сваливания в троттлинг до завершающего этапа (производительность замирает примерно на 50% от номинальной) проходит примерно 20-25 секунд. «Полный троттлинг» наступает при температуре процессора приблизительно 80 градусов.
Температура продолжает расти, график производительности стабилизировался. Самое время дождаться, что будет дальше, однако мы проведем перед этим еще один эксперимент: снова включим вентилятор...
Этот скриншот, опять-таки, снят не в процессе того же эксперимента, что и прошлый, однако суть от этого не меняется нам нужно лишь увидеть процесс выхода из троттлинга и засечь время. Northwood тратит на это около 5-7 секунд, возвращаясь к нормальной производительности так же «ступенчато», как и спускался вниз. График стабилизируется при той же температуре, при которой мы наблюдали стабильную работу без троттлинга с выключенным вентилятором около 70 градусов.
Вот и обещанный апофеоз: пара секунд до полной «смерти» системы, 94 градуса. В нашем случае (22 градуса в помещении, открытый корпус), троттлингу не удалось спасти процессор от перегрева, возник thermtrip, и процессор вместе со всей системой ушел в shutdown. Оставаясь при этом в живых, естественно. И это нельзя назвать случайностью, поскольку мы намеренно доводили наш тестовый стенд до такой ситуации раз 10 подряд. Температура «последнего вздоха» в случае с Pentium 4 3,2 ГГц Northwood колебалась в районе от 94 до 98 градусов по показаниям Motherboard Monitor.
Pentium 4 3,2E ГГц «Prescott»
Первое различие сразу бросается в глаза: температура покоя у Prescott в нашем случае составила 50 градусов (против 34 у Northwood). Разумеется, это всего лишь наш случай , однако, учитывая то, что кроме процессора на стенде ничего не менялось, данные цифры позволяют, как нам кажется, сделать вполне корректный вывод о величине относительной разницы между температурными режимами Prescott и Northwood.
Около 5 секунд после старта теста. Температура растет еще стремительнее, чем в случае с Northwood — практически, со скоростью 2 градуса за секунду.
А вот стабилизировалась она на 76 градусах, что также намного больше, Northwood'овских 50. Сравним: 34 покоя против 50 при 100% загрузке на Northwood: 47% прироста температуры. Prescott: 50 против 76 52%. Не то что бы очень большая разница, однако все-таки она есть, и снова не в пользу Prescott.
После снятия скриншота на графике опять начинают появляться характерные зубцы, но намного более глубокие и частые. И вот здесь уже труднее определить, о чем они свидетельствуют — о вмешательстве ли посторонних процессов, или о первых намеках на троттлинг. Почему? Во-первых, потому что зубцы намного более глубокие и примерно соответствуют 50%-ной потере производительности. А во-вторых — читайте следующий комментарий.
Итак, мы отключаем питание вентилятора. Уже через 5-6 секунд температура возрастает примерно до 80 градусов, и начинается «скачущий троттлинг» производительность то резко падает, то опять столь же резко возвращается к номинальному значению. Совершенно не похоже на более-менее плавное падение, которое мы наблюдали в случае с Northwood. И обратите внимание: если порог между нормальной рабочей температурой и началом троттлинга у Northwood составляет 74/50~=48%, то в случае с Prescott это всего лишь 80/76~=5%.
Всего 5% разницы между нормальной температурой при 100% загрузке и порогом, на котором начинает срабатывать троттлинг! Соответственно, мы можем также констатировать, что по времени между остановкой вентилятора и возникновением первой аварийной ситуации, Prescott обогнал Northwood на целую минуту.
Еще 6-8 секунд и процессор окончательно уходит в глухой троттлинг при температуре около 88-90 градусов. В принципе, кривую снижения производительности можно с большой натяжкой назвать плавной (в целом, так сказать), однако амплитуда колебаний намного больше, чем в случае с Northwood.
Кстати, сделаем небольшое разъяснение по поводу постоянно мелькающих в тексте «около», «приблизительно» и прочих синонимов, обозначающих отсутствие абсолютной точности. Дело в том, что приводить все скриншоты, полученные в процессе тестирования, никакого смысла нет — они примерно одинаковы. Поэтому мы ограничиваемся одним, наиболее характерным. А вот возможные интервалы значений, указанные в тексте статьи, базируются на данных нескольких реально проведенных однотипных экспериментов.
Включение вентилятора. Первое отличие от Northwood: примерно в течение 4-5 секунд не происходит вообще ничего. На графике это «ничего», понятное дело, увидеть невозможно. И только после этого температура достаточно резко (3-4 секунды) снижается до 85-83 градусов, и начинаются попытки выхода из троттлинга. Сам выход выглядит так же пилообразно, как и вход (снова вспомним достаточно плавную кривую на Northwood).
Приблизительно 30 секунд после включения вентилятора соответствует левой части графика (т.е. самой ранней). Видно, что даже после того, как график производительности в целом стабилизировался, его временами довольно сильно лихорадит. Продолжается это приблизительно 2 минуты.
...После чего мы снова возвращаемся к температуре 76-77 градусов, и график становится ровным. Выход из троттлинга полностью завершен, рабочая температура примерно такая же, как и до выключения вентилятора.
«Final Cowntdown» (C) Europe. Система с процессором Prescott аварийно завершает работу при несколько большей температуре, чем Northwood. Максимум для Northwood в нашем случае составил 98 градусов, Prescott же иногда доживал до 105, и никогда не выключался при температуре менее 101 градуса.
Выводы
Итак, обобщим результаты наших экспериментов:
- Механизм Thermal Monitor / Thermal Throttling в процессорах Pentium 4 на ядрах Northwood и Prescott присутствует, и функционирует в точности так, как он должен функционировать согласно документации производителя. Впрочем, как говорится, кто бы сомневался...
- Безусловно, полученные данные в плане абсолютных значений временных интервалов и некоторых температур, вряд ли могут быть применены к любой системе, ввиду различий в аппаратной части (частота процессора, связка кулер + термопаста, модель системной платы, температура окружающего воздуха, открытость / закрытость корпуса). Однако механизм функционирования самого троттлинга и закономерности его работы экспериментально выяснены (подтверждены).
- Гипотеза о том, что троттлинг может «вытянуть» любую систему в любом случае и предотвратить срабатывание аппаратного shutdown, не выдержала проверки. При стандартном значении снижения производительности (порядка 50%), этой меры иногда не хватает, чтобы предотвратить перегрев CPU, после которого следует автоматическое выключение с целью предотвратить его выход из строя. С другой стороны, пороговое значение температуры нам уже известно, поэтому основное направление работы над системным блоком — не допустить, чтобы оно было достигнуто. Грамотная вентиляция, корпусные кулеры... или, в конце концов, выставление более жестких опций троттлинга в BIOS Setup системной платы, если эта управляющая функция предусмотрена ее производителем.
- А вот сжечь процессор Pentium 4 с помощью остановки кулера (при наличии на CPU грамотно установленного радиатора с термопастой), похоже, то ли очень сложно, то ли вообще невозможно. По крайней мере, нам не удалось это сделать. И это притом, что температура в районе 100 градусов для такого сложного устройства — довольно серьезная угроза, тем более, когда она воздействует на CPU в течение отнюдь не микросекунд...
- Тепловой режим, в котором работают процессоры на ядре Northwood — гораздо более гладкий и щадящий, чем в случае с Prescott. Однако следует учесть то, что производитель (Intel) особенно не скрывает данного факта, апеллируя к необходимости тщательного подхода к организации системы охлаждения и ее более высокой «прецезионности». Иными словами, работа на грани троттлинга, по сути, декларируется как совершенно нормальное для Prescott явление, а задача интеллектуальной системы охлаждения как раз и состоит в том, чтобы в любых нормальных условиях процессор не переходил эту грань.
- В целом, технология Thermal Monitor / Thermal Throttling заслуживает похвалы. Даже как отдельно взятая технология, без учета всего остального. Сама идея, состоящая в том, чтобы в случае внештатной ситуации сначала попытаться приостановить (или хотя бы замедлить) рост температуры, а потом уже, в случае необходимости, применять крайнюю меру остановку процессора и отключение питания системы, выглядит более изящно и логично с инженерной точки зрения, чем просто остановка процессора по достижению им определенной температуры.