Сучасні інженерні прилади— від портативних медичних моніторів до промислових датчиків Інтернету речей—вибагливі операційні системи, які роблять більше, ніж керувати завданнями; вони повинні ретельно проявляти кожну мілівату. Як апаратні усадки та очікування продуктивності, ОС стала центральним арбітром споживання енергії. Проектування ОС, яка мінімує потужність, без компромізації чуйності або надійності є складним, але важливим дисципліною. Ця стаття вивчає основні принципи, методи та стратегії, які визначають енергоефективний дизайн ОС для інженерних додатків.

Роль операційної системи в енергоефективності

Операційна система, що відображає апаратні ресурси, і її рішення безпосередньо впливають на використання електроенергії. На відміну від оптимізації рівня додатків, ОС має системну видимість: він контролює частоти процесорів, свічкові стани, розподіл пам'яті та периферичної активності. Добре розроблена енергія-програма OS може зменшити загальну потужність системи на 30–50% порівняно з ойвою реалізацією, особливо в пристроях з змінними навантаженнями. Для інженерних пристроїв, які повинні працювати протягом років на одному акумуляторі або збиральній енергії з навколишнього середовища, ця різниця є критичною.

OS також має анотація управління від розробників додатків. Замість того, щоб кожен програм керувати апаратними станами сну, ядро забезпечує механізми політики (керівники, блокування живлення, пристрій runtime PM), які адаптуються до умов реального часу. Цей поділ політики від механізму дозволяє система інтеграторів, щоб налаштувати енергомережу без рерайтингу програмного забезпечення.

Основні методи проектування енерго-ефективних ОС

Динамічне напругу та частотне засобічення (DVFS)

DVFS залишається кутовим стразом управління потужністю OS. За допомогою регулювання напруги процесора і частоти годинників у відповідь на попит на робоче навантаження, продуктивність операційних операцій для економії енергії. Сучасні DVFS-власці — так як Linux ондеменд], консерватив, і schedutil]—використовувати метрики процесора для вибору оптимальних операційних точок. Чотирикутні зв'язки між напругою і живленням, що навіть скромні частоти зменшення може призвести до 100%.

Однак ефективність DVFS залежить від гранульованої продуктивності робочого навантаження. Короткі лопці обчислення можуть не скористатися від зміни частоти через перехідний накладний. ОС повинна прогнозувати майбутні вимоги або реагувати в межах мікросекунди. Останні роботи у використанні лічильників продуктивності обладнання та специфікацій завдань покращили точність DVFS. Для отримання більш докладнішої інформації про здійснення торгових точок див. Linux Частота Scaling документації.

Розширені Сонце-Пласти та Управління Сонце

Коли процесор не має готових завдань, ОС повинна переходити до низької потужності свічкового стану. Сучасні процесори пропонують кілька станів сну (C-статей) з різними пізніми частотами пробок і економіям потужності. Оператор OS свічок вибирає найглибшу відповідну стан на основі передбачуваної тривалості свічок. Для інженерних пристроїв, які витрачають більшість часу, чекаючи на вхід датчика або мережеві пакети, ефективний менеджмент свічок переважає економію енергії.

За межами процесора, ОС повинна керувати компонентами системи-на-чип (СоК): контролери пам'яті, міжключення та периферії можуть кожен ввести самореші або силові стани. Концепція управління часом дозволяє ядеру призупинити окремі пристрої, коли вони не використовуються, навіть тоді як основний процесор залишається активним. Цей тонкозернований контроль є важливим для пристроїв з багатьма периферійними засобами, такими як вбудований контролер з Wi-Fi, Bluetooth, і декількох датчиків. Поєднання цих станів без розриву гарантії реального часу є постійним завданням.

Завдання аспросвітлення для оптимізації енергоресурсів

Традиційні алгоритми планування передвиходом вигоди або пропускної здатності. Графіки енергопрограми додають потужності як планування завдання. До послуг відносяться:

  • Race-to-idle: Повний робочий процес якомога швидше, потім введіть глибокий сон. Це добре працює для роздягання робочих навантажень, де живлення сну дуже низька.
  • Вибір енергозберігаючих частот:. Графікатор забирає найнижчу частоту, яка відповідає термінам виконання завдань в режимі реального часу.
  • Cluster міграції: На гетерогенних архітектурах (наприклад, ARM big.LITTLE), ОС мігрує нитки до високоефективних ядер для легкої роботи та великих ядер для важкого навантаження.

Енергозберігаючі засоби також повинні враховувати для термозбірки між ядерами та зображеннями доступу до пам'яті. Наприклад, переміщення завдання до ядра ближче до його даних в кеші ієрархії зменшує потужність пам'яті. Linux Energy-Aware Scheduling документації] забезпечує поглиблений вигляд, як ці політики реалізуються на практиці.

Управління конфіденційності та управління активами

Пам'ять (DRAM) споживає значне живлення, особливо під час активного доступу. ОС може зменшити енергію пам'яті через:

  • Електронний ресурс: Розповсюдження доступу до банків пам'яті, щоб уникнути конфліктів банку і дозволяють зберігатися в режимах низької потужності довше.
  • Page Compaction and кластеризація: Grouping active page in someer information region, щоб невикористані регіони можна розмістити в самовідновленні.
  • NUMA-Aware scheduling: На багатосупутних системах, зберігаючи нитки і дані на одному з вершин, щоб мінімізувати віддалений трафік пам'яті.

Для I/O ОС використовує такі методи, як вугільні мережі переривання, пакетування диска пише, і вимкнення невикористаних контролерів через ACPI. Завдання підтримують чуйність: затримка переривання через кілька мілісекундів може врятувати потужність, але може порушити датчик читання термін.

Виклики в реальних умовах та вбудованих систем

Енергоефективний дизайн ОС особливо вимогливий до інженерних пристроїв, які повинні відповідати на жорсткі строки реального часу — наприклад, контролер двигуна в робототехнічній руці або системи збору даних в рекордері. Тут економія енергії не може приходити за вартістю пропущених термінів. Реагнітивні графіки, як Монотонічний або графіест Мертвдін, повинні бути розширені з електромережею при збереженні витратних випробувань.

Один підхід полягає в тому, щоб використовувати час ламки: після завдання завершується рано, решта ламка використовується для зменшення частоти або введення сну. Це вимагає точного аналізу часу і низького рівня. Ще один виклик полягає в тому, що глибокі стани сну мають великі пізніх пробок. Якщо завдання повинна реагувати в межах 100 мкм, ОС не може ввести C-стату з 500 мкм вихідний опір. ОС повинна бути тому, щоб вибрати глибину сну на основі найкоротшого періоду свічки, який відбудеться до наступного терміну.

Взаємодія з експлуатації також впливає на енергію. Деякі мікроконтролери дозволяють OS перенести перерву до наступного висхідного кліща, що дозволяє довше запускати періоди. Але це додає Джіттеру. Інженери повинні зважити торговий пункт між економіями та затримкою точності для кожного конкретного застосування.

Технології та перспективи

Машинне навчання для попереднього управління електромережами

Традиційне управління живленням OS спирається на фіксовані герстики (наприклад, утилізація порогів). Машинне навчання пропонує потенціал адаптувати політики для виконання шаблонів, які змінюють час. Наприклад, нейромережа може прогнозувати попит майбутнього процесора на основі минулих заходів і сенсорних спусків, що дозволяють ОС проактивно встановлювати частоти або свічкові стани. Ранні експерименти показують 10-20% додаткових енергозбереження над кращими статичними губернаторами.

Однак, запуск ML-моделі на енергоспоживаннях пристроїв, які споживають потужність. ОС повинна або перевантаження на спеціальну низькопотужну акселератор або використовувати легкі моделі (наприклад, рішення дерева), які підходять в ядрі. дослідний папір "Learning-Based Power Management для багатоядерних процесорів" ] забезпечує ретельну оцінку таких підходів. Як вбудований ML апарат стає більш поширеним, ми можемо очікувати менеджерів з живлення OS, щоб включити вчені політики як стандартна функція.

Синергетика обладнання низького живлення

OS не може досягати максимальної енергоефективності без жорсткої інтеграції з апаратним забезпеченням. Emerging SoCs пропонує дрібнозернистих доменів, регуляторів напруги, необоротної пам'яті, яка зберігає стан під час глибокого сну. OS повинна піддаватися цим можливостям через рамки управління живлення при обробці апаратних помилок і варіацій.

Технології, як поблизу порогових обчислень (NTC) дозволяють процесорам працювати на дуже низьких напругах, але вони чутливі до температурних і технологічних варіацій. ОС повинна контролювати датчики на дюймах і регулювати запас напруги - завдання, яке вимагає в режимі реального часу контрольних петель. Крім того, гетерогенні архітектури (наприклад, ARM big.LITTLE, x86 гібридні ядра) дозволяють OS призначити завдання найбільш енергоефективним ядром для кожного робочого навантаження. архітектурою ARM big.LITTLE є відомим прикладом того, як апаратне гетерогенність може бути використаний для використання енергосистема OS.

Ще одним перспективним напрямком є використання енергозберігаючих пристроїв, які збирають потужність від сонячної, вібрації або джерел радіочастот. Ці пристрої мають міжмітентне джерело живлення; ОС повинна керувати обчисленням по циклах живлення, економити стан до нездійснювальної пам'яті до виходу з ладу потужності. Ця "зимова обчислювальна система" вимагає контрольно-вимірювальних механізмів на рівні ОС, парадигм з безперервної роботи потужності.

Висновок

Проектування операційних систем для енергозберігаючих інженерних пристроїв є багатовимірним завданням, який охоплює DVFS, управління свічками, планування, пам'яті та оптимізації I / O, і в реальному часі обмеження. Успішні конструкції інтегрують ці методики в когерентну політику, яка адаптує до робочого навантаження, обладнання та умов навколишнього середовища. Як машинне навчання та нові апаратні можливості зрілі, OS буде грати ще більшою роль у витисканні останнього падіння енергії з кожного пристрою—понадання більшого терміну служби акумулятора, менших факторів форми та ширше розгортання автономних систем від дистанційних екологічних моніторів до медичних імплантатів. Інженери, які опанують ці принципи, на передові технології.