Диета для серверного процессора
Жил был сервер на Supermicro X5DAL с 2 физическими процессорами Intel Xeon 2.8 GHz в сокетах 604. Ко мне попал он в 2008 году, будучи немного б/у. Работал под 2003 Server, да вот беда: гудел сильно (как самолет). Гудел и грелся (ватт на 400 примерно). Замедлить вентиляторы (2 на процессорах и 2 в блоке питания) нельзя — перегревался.
Время шло, производительности стало не хватать. Заменил его «самосбором» на i7. Но выбрасывать такую железку было жаль. А почему бы не понизить напряжение питания процессоров? Известно, что потребление процессора пропорционально тактовой частоте и квадрату напряжения питания.
Штатное Uпит=1.5V (так и написано на процессоре). Надо бы его понизить. В BIOSе такой опции нет, значит, надо браться за паяльник.
Контроллер питания на оба процессора один, 4-фазный (на фотографии видны 4 дросселя), HIP6311. У процессора есть 5 специальных выводов с названиями VID0-VID5, некоторые замкнуты на землю (GND) (соответствуют лог.0), некоторые висят в воздухе (соответствуют лог.1). Этот код пятью отдельными проводками с одного из процессоров подается на одноименные выводы HIP6311, и последняя стабилизирует на выходе схемы желаемое напряжение питания. В datasheet есть таблица соответствия.
Таблица продолжается и дальше, но этой части пока достаточно.
Источник достаточно мощный: каждый процессор потребляет около 90 Вт, соответственно, источник обеспечивает ~200 Вт, а при 1.5 В это ток 133 А.
Для испытания достаточно одного процессора. Радиатор просто лежал сверху на термопасте (оригинальный крепеж надежный и сильный, но трудоемко каждый раз его одевать-снимать).
Отпаивая ножки микросхемы HIP6311, я замыкал некоторые на GND, выбирая напряжения питания меньше заданного, но минимизируя количество паек. Естественно, все переключения и пайки производились на выключенной системе.
Отпаивая очередную ножку, слышу: искрит. Оказывается, паяльник был заземлен, а вот блок питания был включен через самодельный измеритель мощности, тогда еще без заземляющего контакта. 110VAC с конденсаторов блока питания искрили на паяльник через ножку HIP6311. Понятно, микросхема не выдержала электрошока. Процессор перед пайкой извлекал — хорошо.
Опять же, выкидывать жаль. Думал-думал… Ebay! Заказал, пришло, перепаял. Отогнул ножки, удлинил проводами — все стало проще. Можно было dip-switch приделать, но и так получилось. В итоге CPU заработал на 1.15V.
Для индикации использовал 3х-разрядный мини-вольтметр. В штатной конфигурации он измерял 0.0-33.0V, точности 0.1V маловато. Удалил у него нижний резистор делителя (зарисовав схему и прикинув коэффициент делителя) — получился вольтметр 0.00-3.30V, правда, точку без перепрошивки не изменить. 1.15V отображались как 11.5, но это не так страшно. (можно было, конечно, и тестер припаять, но вольтметр я потом использовал и для ремонта AGP-видеокарт).
Процессоры запустились, работали стабильно и грелись реально меньше. Вывел +питания вентиляторов из БП, соединил с +питания вентиляторов процессоров.
Думал сделать для них отдельный регулируемый импульсный стабилизатор на LM2596, но оказалось достаточным просто подать на них +5V. Контроль нагрева при длительной нагрузке — на выдуве +40 градусов. Отлично! Шум стал тихим (и с приятным тембром, но это, конечно, на любителя).
Разочарований 2:
1) процессоры не поддерживают аппаратную виртуализацию. А я-то хотел сделать сервер виртуальных машин…
2) Windows XP Home, наклейка которой была на корпусе, поддерживает только 1 физический процессор. Выяснил уже после активации.
Видеокарту поставил GF5500 (у нее сгорал стабилизатор, заменил его на KIS-3R33S с изменением напряжения до 1.2V). Не очень новые игрушки идут.
Для осмысленной деятельности поставил CentOS 6.5.
Понятно, перед запуском такого сервера в продакшн следует некоторое время подумать, но особых проблем на первый взгляд не видно (кроме необходимости тестирования надежности и самого факта вмешательства паяльником в материнскую плату): самое главное, уменьшилась тепловая и электрическая нагрузка на все компоненты. Напряжение понижено практически штатным способом. В современных матплатах напряжение питания процессоров можно регулировать из BIOS, увеличивая для разгона, например, и уменьшая для экономии энергии и снижения шума.
Не хватает цифр по потребляемой мощности, но измеритель сейчас переделываю (подключаю USB-интерфейс и аналоговые датчики для даталоггинга).
www.intersil.com/content/dam/Intersil/documents/hip6/hip6311.pdf
http://habrahabr.ru/post/218469/
|