Полезность многоядерности в контексте энергоэффективных вычислений

Полезность многоядерности в контексте энергоэффективных вычислений

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

Итак, низковольтный многоядерный чип кажется довольно привлекательным. Однако, если двухъядерный чип будет иметь вдвое большее (минимальное) энергопотребление, чем одноядерный чип, я мог бы вместо этого выбрать одноядерный с более высокой максимальной тактовой частотой. Могут ли многоядерные процессоры временно отключать одно или несколько ядер, чтобы снизить энергопотребление?

Каков типичный штраф за энергопотребление при добавлении ядра (или 3 ядер для четырехъядерных чипов)? И, напротив, каков типичный минимальный штраф за энергопотребление при увеличении скорости обработки на ядро? Под «минимальным» я подразумеваю, что я хотел бы, чтобы машина использовала как можно меньше энергии, когда процессор(ы) масштабируются до минимальной частоты.

решение1

В настоящее время процессорные технологии действительно продвинуты. Когда вам нужно одно ядро, вы можете просто запустить его на одном ядре и припарковать другие (по крайней мере, на процессорах Intel).

Причина многоядерных вычислений заключается в том, что для данной архитектуры (например, Core i7), данного процесса (например, 45 нм), данного выхода годных, если вы увеличиваете частоту, на верхнем конце спектра мощность будет увеличиваться гораздо больше, чем линейно.

e.g. i3 processor: (**system** peak power)
i3-530 @ 2.93 GHz = 127 Watt
i3-530 @ 3.3 GHz = 133 Watt
i3-530 @ 4.4 GHz = 171 Watt

Обратите внимание, что измеряется пиковая мощность системы, а не пиковая мощность ЦП. Взяв мощность бездействия системы (80 минус ~5-7 Вт мощности бездействия, потребляемой ЦП), вы получите около 54-100 Вт пиковой мощности ЦП. Переход с 2,9 ГГц до 4,4 ГГц означает разгон на ~50%, но мощность почти удваивается.

Для большинства продаваемых сегодня процессоров потребительского уровня частота находится на довольно низком уровне (например, 2,93 ГГц и выше), поэтому скромный разгон, как правило, не приводит к значительному увеличению пиковой мощности, но в верхнем конце спектра (рынок процессоров для энтузиастов) вы попадаете в более крутую часть кривой.

Многоядерные процессоры обеспечивают относительно линейный прирост производительности (обычно 0,6–0,7x на каждое дополнительное ядро) при обычно меньшем бюджете мощности.

В целом, меньшая масштабируемость частоты и большее количество ядер, как правило, даст вам лучшую производительность в хорошо распараллеленной задаче.

ps <rant>Если у вас возникла проблема, вам нужно подумать о ее распараллеливании, чтобы она работала разумно. Возможно, портативный ПК не станет решением. А как насчет подключения к домашнему компьютеру с большим потреблением энергии для удаленного выполнения вычислений?</rant>

решение2

В настоящее время вряд ли существуют одноядерные процессоры. Если вы посмотрите наСпециализатор Intel, вы увидите, что Core 2 Solo потребляет значительно меньше энергии (посмотрите на максимальный TDP), чем четырехъядерный i7, но низковольтный двухъядерный Core i7 UM потребляет лишь немного больше, чем Core 2 Solo, и будет значительно быстрее. Одноядерные процессоры в наши дни не стоят того.

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

Связанный контент