Table of Contents
Modernit tekniset laitteet. Kannettavista lääketieteellisistä monitoreista teollisiin IoT-antuureihin.Tarvitse käyttöjärjestelmiä, jotka eivät hallitse tehtäviä; niiden on säädeltävä tarkasti joka milliwatti. Koska laitteisto kutistuu ja suorituskyky-odotukset nousevat, käyttöjärjestelmästä on tullut energiankulutuksen keskussovitin. Käyttöjärjestelmän suunnittelu, joka minimoi tehonoton vaarantamatta reagointikykyä tai luotettavuutta, on monimutkainen mutta olennainen kurinalaisuus. Tässä artikkelissa tarkastellaan keskeisiä periaatteita, tekniikoita ja uusia strategioita, jotka määrittelevät energiatehokas käyttöjärjestelmän suunnittelu koneenrakennussovelluksia.
Käyttöjärjestelmän rooli energiatehokkuuden kannalta
Käyttöjärjestelmä orkestroi laitteiston resursseja ja sen päätökset vaikuttavat suoraan virrankäyttöön. Toisin kuin sovellustason optimointi, käyttöjärjestelmä on koko järjestelmän näkyvyys: se ohjaa CPU-taajuuksia, joutokäyntitiloja, muistinjakoa ja ääreistoimintaa. Hyvin suunniteltu energia-aware OS voi vähentää järjestelmän kokonaistehoa 30..50% verrattuna naiiviin toteutukseen, erityisesti laitteissa, joiden työmäärä vaihtelee. Teknisten laitteiden osalta, joiden on oltava käytössä vuosia yhdellä akulla tai sadonkorjuuenergialla ympäristöstä, tämä ero on kriittinen.
Käyttöjärjestelmän on myös abstrakti voimanhallinta sovelluskehittäjiltä. Sen sijaan, että pakotettaisiin kaikki ohjelmat hallitsemaan laitteiston lepotiloja, ytimessä on poliittisia mekanismeja (hallitsijoita, virrankatkaisua, laitteen runtime PM), jotka mukautuvat reaaliaikaisiin olosuhteisiin. Tämä politiikka ja mekanismi erottavat järjestelmän integroijat virittämään energiakäyttäytymisen ilman uudelleenkirjoitusta.
Energiatehokkaan käyttöjärjestelmän suunnittelun ydintekniikat
Dynaaminen jännite ja taajuusskaalaus (DVFS)
DVFS on edelleen OS-tason tehonhallinnan kulmakivi. Säätämällä prosessoria... jännite- ja kellotaajuus työmäärän kysynnän mukaan, käyttöjärjestelmä vaihtaa huipputehoa energiansäästön kannalta. Nykyaikaiset DVFS-ohjaimet. Kuten Linux []tilaus [[]], []konservatiivinen[], ja [schedutil[]].Käytä CPU-käyttömittareita optimaalisten käyttöpisteiden valitsemiseksi.Väri- ja tehosuhteen nelinkertainen suhde tarkoittaa, että jopa vaatimattomat taajuusvähennykset tuottavat merkittäviä energiaetuja. Esimerkiksi ydin 80 prosentin taajuudella 100% sijaan voi leikata tehoa lähes 36%, kun taas vain hieman lisää latenssia.
DVFS:n tehokkuus riippuu kuitenkin työmäärän rakeisuudesta. Lyhyet laskentakatkokset eivät välttämättä hyödy taajuusmuutoksista, jotka johtuvat siirtymän yleisyydestä. Käyttöjärjestelmän on ennakoitava tulevaa kysyntää tai reagoitava mikrosekunnissa. Viime aikoina työ laitteiston suorituskyvyn laskureiden ja tehtäväkohtaisten historioiden hyödyntämisessä on parantanut DVFS:n tarkkuutta. Lisätietoja täytäntöönpanosta vaihtotöiden osalta on []Linux-prosessoritaajuusskaalausdokumentaatio.
Advanced Leep States ja Idle Management
Kun prosessorilla ei ole valmiita tehtäviä, OS:n pitäisi siirtyä matalatehoiseen joutokäyntitilaan. Nykyaikaiset suorittimet tarjoavat useita lepotiloja (C-tiloja), joissa on erilaisia herätysviiveitä ja virransäästöjä. Käyttöjärjestelmän joutokäyntisäästäjä valitsee syvimmän sopivan tilan ennustetun joutokäyntiajan perusteella.
Suorittimen lisäksi OS:n on hallittava järjestelmän päälle -sirun (SOC) komponentteja: muistiohjaimet, yhdysjohdot ja oheislaitteet voivat kukin tulla itsetuoreiksi tai sähköistyneille olosuhteille. []-runtime-virranhallinta[[]] sallii ytimen keskeyttää yksittäisten laitteiden käytön, kun niitä ei käytetä, vaikka pääprosessori pysyy aktiivisena. Tämä hienoksi grainoitu ohjaus on välttämätön monille laitteille, kuten upotetuille ohjaimille, joissa on Wi-Fi, Bluetooth ja useita antureita. Näiden valtioiden koordinointi rikkomatta reaaliaikaisia takeita on jatkuva haaste.
Tehtävän aikataulu energiaoptimointiin
Perinteiset aikataulualgoritmit priorisoivat oikeudenmukaisuutta tai läpimenoa. Energiatietoiset aikataulut lisäävät tehoa aikataulutavoitteena.
- Race-to-ille:[ Täydellinen työ mahdollisimman nopeasti, sitten mennä syvään uneen. Tämä toimii hyvin äkkiä työtaakkaa, jossa nukkua on hyvin alhainen.
- Energiatehokas taajuusvalinta:[] Aikataulu valitsee alimman taajuuden, joka vastaa reaaliaikaisten tehtävien määräaikoja.
- ]Klusterien siirtyminen:[ heterogeenisissä arkkitehtuurissa (esim. ARM big.LITTLE), OS siirtyy säikeisiin tehokkaisiin ytimeen kevyttä työtä varten ja isot ytimet raskaita kuormia varten.
Energiatietoisen suunnittelun on myös oltava osa ydinten ja muistin käyttötapojen välistä lämpökytköstä. Esimerkiksi tehtävän siirtäminen ytimeen lähemmäksi sen tietoja välimuistihierarkiassa vähentää muistitehoa. Linux Energy-Aware Scheduling -dokumentaatio[ tarjoaa perusteellisen tarkastelun siitä, miten näitä politiikkoja käytännössä toteutetaan.
Muistin ja I/O virranhallinta
Muisti (DRAM) kuluttaa merkittävää tehoa, erityisesti aktiivisen käytön aikana. Käyttöjärjestelmä voi vähentää muistienergiaa:
- Pankkitietoinen jakaminen:[ Laajennetaan muistipankkeihin, jotta vältetään pankkikonfliktit ja annetaan pankkien pysyä matalatehoisissa muodoissa pidempään.
- Sivun tiivistyminen ja ryhmittely:[ Aktiivisivujen ryhmittäminen vähemmän muistialueille, jotta käyttämättömät alueet voidaan sijoittaa itsetuoreisiin.
- NUMA-tietoinen aikataulu:[] Monitallennusjärjestelmissä, pitämällä lankaa ja tietoja samassa solmussa, jotta voidaan minimoida etämuistiliikenne.
I/O:lle käyttöjärjestelmä käyttää tekniikoita, kuten hiilinieluverkkokatkoksia, panostuslevykirjoituksia ja käyttämättömien ohjaimien sammuttamista ACPI:n kautta. Haasteena on ylläpitää reagointikykyä: keskeytyksen viivästyminen muutamalla millisekunnilla voi säästää tehoa, mutta se voi rikkoa anturin lukemaa määräaikaa.
Haasteet reaaliajassa ja sulautettujen järjestelmien
Energiatehokas käyttöjärjestelmä suunnittelu on erityisen vaativaa konepajalaitteiden, joiden on täytettävä kova reaaliaikainen aikataulu . Esimerkiksi moottori ohjain robotti käsivarressa tai tietojen hankintajärjestelmä lennonrekisteröintilaite. Tässä, energiansäästöt eivät voi tulla hintaan myöhästyneet määräajat. Reaaliaikaiset aikataulut kuten Rate Monotonic tai Earliest Määräaika Ensimmäinen on laajennettava teho-tietoisuus säilyttäen aikataulutestejä.
Yksi lähestymistapa on käyttää löysää aikaa: kun tehtävä on suoritettu aikaisin, jäljellä olevaa löysää käytetään vähentämään tiheyttä tai syöttämään uneen. Tämä edellyttää tarkkaa ajoitusanalyysiä ja matalaa yläpuolella. Toinen haaste on, että syvän unen valtiot ovat suuria herätysviiveitä. Jos tehtävän on vastattava 100 μs, käyttöjärjestelmä ei voi siirtyä C-tilaan 500 μs uloskäynti latenssi. Käyttöjärjestelmän on siksi valittava nukkumasyvyys perustuu lyhyimpään joutokäyntiin, joka tapahtuu ennen seuraavaa määräaikaa.
Keskeytä käsittely vaikuttaa myös energiaan. Jotkut mikroohjaimet mahdollistavat käyttöjärjestelmän lykätä keskeytyksiä seuraavaan aikataulutus rasti, jolloin pidempi joutokäyntijaksoja. Mutta tämä lisää jännitystä. Insinöörien on punnittava tasapainotus välillä virransäästöjä ja ajoitus tarkkuus kunkin tietyn sovelluksen.
Kehittyvä teknologia ja tulevaisuuden linjaukset
Koneoppiminen ennakoivaan virranhallintaan
Perinteinen käyttöjärjestelmän tehonhallinta perustuu kiinteään heurististiikkaan (esim. käyttökynnykset). Koneoppiminen tarjoaa mahdollisuuden mukauttaa toimintalinjoja työmäärän muutoksiin, jotka muuttuvat ajan myötä. Esimerkiksi hermoverkko voi ennustaa tulevaa suorittimen kysyntää aiempien tehtävien saapumisten ja anturien laukaisimien perusteella, jolloin käyttöjärjestelmä voi ennalta asettaa taajuuksia tai joutotila. Varhaiset kokeilut osoittavat 10...20% lisää energiansäästöjä parhaisiin staattisiin ohjaimiin verrattuna.
Kuitenkin käynnissä ML mallit energiarajoitettuja laitteita itse kuluttaa tehoa. Käyttöjärjestelmän on joko purkaa päätellä omistettu pientehon kiihdytin tai käyttää kevyitä malleja (esim., päätöspuut), jotka sopivat ytimeen. [ tutkimuspaperi "Learning-Based Power Management for Multi-Core Processors"[ tarjoaa perusteellisen arvioinnin tällaisia lähestymistapoja. Koska upotettu ML laitteisto tulee yleisempää, voimme odottaa OS teho johtajat sisällyttää opittuja politiikkoja vakio ominaisuutena.
Vähätehoisten laitteiden synergiat
Käyttöjärjestelmä ei saavuta maksimaalista energiatehokkuutta ilman tiukkaa integrointia laitteistoon. Kehittyvät sähkömarkkinajärjestelmät tarjoavat hienojakoisia tehoverkkoja, per-core-jännitesäätimiä ja haihtumatonta muistia, joka säilyttää tilan syvän unen aikana. Käyttöjärjestelmän on paljastettava nämä ominaisuudet virranhallintajärjestelmien kautta ja käsiteltävä laitteistoviat ja muunnelmat.
NTC:n kaltaiset tekniikat mahdollistavat prosessorien toiminnan hyvin pienillä jännitteillä, mutta ne ovat herkkiä lämpötilan ja prosessin vaihtelulle. Käyttöjärjestelmän on seurattava sirusensoreita ja säädettävä jännitemarginaaleja.Tällainen tehtävä vaatii reaaliaikaisia ohjaussilmukoita. Lisäksi heterogeeniset arkkitehtuurit (esim. ARM big.LITTLE, x86 hybridiytimeä) antavat käyttöjärjestelmän määrätä tehtävät energiatehokkaimmalle ytimelle jokaista työmäärää varten. [ARM big.LITTLE architecture[] on tunnettu esimerkki siitä, miten laitteiston heterogeenisyyttä voidaan hyödyntää energiaa käyttävällä käyttöjärjestelmällä.
Toinen lupaava suunta on käyttää energiaa kerääviä laitteita, jotka keräävät energiaa aurinko-, tärinä- tai RF-lähteistä. Näillä laitteilla on jaksottainen virtalähde; käyttöjärjestelmän on hallittava laskentaa eri syklien välillä, säästetään tila ei-haitalliseen muistiin ennen sähkökatkosta. Tämä "katkoslaskenta" edellyttää tarkistuspistemekanismeja käyttöjärjestelmätasolla, paradigman siirtymä jatkuvasta virtatoiminnosta.
Päätelmät
Energiatehokkaiden teknisten laitteiden käyttöjärjestelmien suunnittelu on moniulotteinen haaste, joka kattaa DVFS:n, joutokäyntijohtamisen, aikataulutuksen, muistin ja I/O:n optimoinnin ja reaaliaikaiset rajoitteet. Onnistuneet mallit integroivat nämä tekniikat johdonmukaiseen politiikkaan, joka mukautuu työmäärään, laitteistoon ja ympäristöolosuhteisiin. Koneoppimisen ja uusien laitteistovalmiuksien kypsyessä käyttöjärjestelmä on entistäkin merkittävämpi tekijä, kun se puristaa viimeisenkin pisaran energiaa jokaisesta laitteesta. Sen avulla voidaan saavuttaa pidempi akun käyttöikä, pienemmät muototekijät ja ottaa käyttöön itsenäiset järjestelmät etänäöstä ympäristömonitoreista lääketieteellisiin implantteihin. Näiden periaatteiden hallitsevat insinöörit ovat eturintamassa luomassa kestävää ja suorituskykyistä teknologiaa.