ЭНЕРГОСБЕРЕГАЮЩЕЕ ПЛАНИРОВАНИЕ ПОТОКОВ И ДИНАМИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ ПРОЦЕССОРОВ

1. Способ уравновешивания производительности и энергосбережения вычислительного устройства, имеющего несколько ядер, содержащий этапы, на которых:
задают, какие ядра (202, 204) используются для выполнения работы;
определяют политику мощности (210, 214, 406), чтобы запустить план производительности и энергосбережения как для заданных, так и незаданных ядер; и
переводят в режим ожидания по меньшей мере одно из незаданных ядер (222) на основе политики мощности.
2. Способ по п.1, в котором этап, на котором определяют политику мощности, дополнительно включает в себя этапы, на которых:
создают маску (202) перевода в режим ожидания ядер;
определяют привязку (210) потока к процессору;
обеспечивают по меньшей мере часть плана производительности и энергосбережения для ядер путем объединения маски перевода в режим ожидания ядер и масок (214) привязки потока к процессору, чтобы создать набор доступных процессоров (220); и
вычисляют, какие ядра переводятся в режим ожидания или работают, на основе набора доступных процессоров и ядер, которые активно выполняют работу (222).
3. Способ по п.2, в котором этап, на котором определяют политику мощности, совершается динамически в виде итеративного процесса (210, 214, 220).
4. Способ по п.1, дополнительно содержащий этап, на котором масштабируют по меньшей мере одно из заданных ядер на основе политики мощности (512).
5. Способ по п.4, в котором этап, на котором масштабируют по меньшей мере одно из заданных ядер, включает в себя этап, на котором регулируют по меньшей мере одно из эффективности ядра или состояния питания (p-состояния) ядра, чтобы увеличить энергосбережение (512).
6. Способ по п.1, в котором этап, на котором переводят в режим ожидания по меньшей мере одно из незаданных ядер, включает в себя этапы, на  которых:
определяют, включает ли в себя работающий блок ядер переведенное в режим ожидания ядро (316(2)); и
переводят в режим ожидания по меньшей мере одно работающее ядро в работающем блоке ядер, если определяется работающий блок ядер, имеющий переведенное в режим ожидания ядро (320).
7. Способ по п.1, дополнительно содержащий этап, на котором изменяют политику мощности с использованием по меньшей мере одного из:
эвристические правила (708) ядра и системы;
отношение (710, 714, 718) зависимости процессора; и
параметры политики ядра для перевода в режим ожидания (706) ядер.
8. Способ, содержащий этапы, на которых:
контролируют активность ядер в многоядерной системе (402);
извлекают политику мощности для многоядерной системы (406), причем политика мощности уравновешивает энергосбережение и производительность обработки у каждого ядра в многоядерной системе; и
переводят в режим ожидания по меньшей мере одно ядро в ответ на активность ядер на основе политики мощности (412).
9. Способ по п.8, в котором этап, на котором переводят в режим ожидания ядро, включает в себя этап, на котором уменьшают состояние питания ядра до состояния простоя процессора с минимальной мощностью (C-состояние) (524).
10. Способ по п.8, дополнительно содержащий этап, на котором регулируют состояние питания у по меньшей мере одного работающего ядра в многоядерной системе (520).
11. Способ по п.8, в котором этап, на котором переводят в режим ожидания по меньшей мере одно ядро в ответ на активность ядер, запускается динамически с заранее установленной частотой (502, 524).
12. Способ по п.8, в котором этап, на котором контролируют активность ядер в многоядерной системе, совершается в течение заранее установленного периода (402) времени, и в котором этап, на котором переводят в режим ожидания по меньшей мере одно ядро в ответ на активность ядер, совершается динамически в ответ на возможность энергосбережения, обнаруженную с помощью контролируемой активности (210, 214, 220) ядер.
13. Способ по п.8, в котором этап, на котором переводят в режим ожидания по меньшей мере одно ядро в ответ на активность ядер, включает в себя этап, на котором переносят работу на работающее ядро, которое разрешено маской сходства, ассоциированной с планом (712, 714) программ.
14. Способ по п.8, дополнительно содержащий этапы, на которых
изменяют контролируемую активность ядер для создания измененной активности (508) ядер;
возобновляют работу по меньшей мере одного ядра в ответ на измененную активность ядер на основе политики (512) мощности; и
перераспределяют по меньшей мере один поток по меньшей мере одному работающему ядру (514).
15. Система с несколькими логическими процессорами, содержащая:
множество процессоров (104); и
контроллер (106), соединенный с множеством процессоров, предназначенный для:
реализации плана производительности;
реализации политики энергосбережения; и
уравновешивания плана производительности и политики энергосбережения путем перевода в режим ожидания одного или нескольких из множества процессоров.
16. Система по п.15, в которой контроллер принимает команды от диспетчера (114) питания ядра, находящегося в системной памяти, чтобы реализовать политику энергосбережения.
17. Система по п.15, в которой политика (702) энергосбережения включает в себя маску (202) перевода в режим ожидания ядер, причем маска перевода в режим ожидания ядер объединяется с графиками программных модулей для определения результирующего набора процессоров, на котором нужно планировать работу (116, 220).
18. Система по п.15, в которой множество процессоров включает в себя по меньшей мере один блок ядер, имеющий несколько ядер (300).
19. Система по п.18, в которой уравновешивание плана производительности и политики энергосбережения включает в себя создание приоритизации перевода в режим ожидания ядер для работающего ядра в блоке ядер, имеющем по меньшей мере одно переведенное в режим ожидания ядро (318, 714).
20. Система по п.15, дополнительно содержащая регулирование состояния питания у по меньшей мере одного работающего ядра (520).