Назад | Перейти на главную страницу

Опасно ли для ядра процессора быть * всегда * загруженным на 100%?

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

Я никогда раньше не загружал свой компьютер на 100% постоянно каждый день. Это может быть опасно? Есть ли у процессора некий «ресурс» (очень большой конечно), после которого он может перестать работать?

Опасности нет (при использовании оборудования серверного класса).

Я запускал сотни HFT-систем, в которых мы назначали ядро ​​ЦП для запуска потока спин-блокировки (чтобы уменьшить прерывания) или имели стратегии, привязанные к конкретным ядрам ЦП на время торгового дня. Это то, для чего были разработаны процессоры. Могу сказать, что в этом контексте у меня никогда не было сбоев процессора.

В вашей ситуации вы используете подходящий сервер? Другими факторами, которые следует учитывать, являются охлаждение, резервные вентиляторы, блоки питания и т. Д. Но это стандартные элементы для любой производственной системы.

В общем, нет, хотя надо смотреть на нагрузку, а на температуру. Вы можете смоделировать нагрузку (возможно, с помощью superpi на окнах, Prime95 в Linux и Windows или в каком-либо другом приложении для стресс-тестов или в вашем реальном приложении) и запустите процесс до тех пор, пока температура не стабилизируется - аналогично тому, как это сделал бы оверклокер.

Вы хотите, чтобы эта температура была ниже максимальной номинальной температуры для этого процессора - поищите это в таблице данных. Затем посмотрите, подходит ли вам охлаждающий раствор, и, возможно, отрегулируйте его по мере необходимости. Я не могу предложить программное обеспечение для мониторинга, к сожалению, не зная ОС - обычные подозреваемые, такие как nagios, могут работать, но для первоначального `` прожига '' что-то вроде lmsensors или pcwizard может подойти для одной системы.

Большинство современных процессоров просто сбрасывают газ при перегреве - у Intel есть страница об этом. Было бы ужасно для вашего приложения, если бы производительность была критичной, но более вероятно, что система выключится или будет вести себя странно, а не сгорит. Это признак того, что процессор перегружен, и происходят плохие вещи - пересмотрите свой выбор охлаждения в этом случае.

Тысячи научных кластеров по всему миру считают неоптимальной (или плохой) ситуацией, когда есть ядра, не загруженные на 100% ЦП. Для этого созданы настоящие серверы с надлежащим оборудованием серверного уровня.