Kaj je Active State Power Manager in kako vpliva na zmogljivost?

  • Upravljanje porabe energije v aktivnem stanju (ASPM) upravlja stanja porabe energije povezav PCIe za zmanjšanje porabe, ko ni aktivnega prenosa podatkov.
  • Z aktiviranjem se izboljša energijska učinkovitost, vendar pa se poveča nekaj zakasnitve, zaradi česar je še posebej uporaben v prenosnikih in manj prednosten v visokozmogljivi opremi.
  • Pravilna izvedba je odvisna od BIOS-a/UEFI-ja, operacijskega sistema in gonilnikov ter je lahko onemogočena na problematični strojni opremi ali strežnikih, kjer je stabilnost prednostna naloga.
  • ASPM je del ekosistema ACPI in sobiva s stanji G, D, C in P, ki usklajujejo splošno ravnovesje med zmogljivostjo, porabo in temperaturo sistema.

Kaj je upravljalnik napajanja v aktivnem stanju?

Če ste v poročilu o porabi energije za Windows kdaj videli nekaj takega, kot je »PCI Express Active-State Power Management (ASPM) disabled« (onemogočeno upravljanje porabe energije PCI Express v aktivnem stanju (ASPM))« in ste se zaradi tega praskali po glavi, brez skrbi: niste sami. Ta tehnologija se sliši zelo tehnično zahtevna, vendar se v resnici nanaša na to, kako se vaš računalnik odloči uravnotežiti porabo energije in zmogljivost, ko naprave PCI Express ne delujejo s polno zmogljivostjo.

Razumevanje, kaj je Active State Power Manager in kako vpliva na zmogljivost, je ključnega pomena, ne glede na to, ali uporabljate prenosnik in želite podaljšati življenjsko dobo baterije ali upravljate strežnike ali zmogljive osebne računalnike in vas bolj zanima stabilnost in največja zmogljivost kot prihranek nekaj vatov. Oglejmo si ga natančno in ga povežimo z drugimi koncepti, kot so PCIe, ACPI, stanja napajanja, BIOS/UEFI ter možnosti napajanja sistema Windows in Linux.

Kaj je upravljanje porabe energije v aktivnem stanju (ASPM) v PCI Express?

Upravljanje porabe energije v aktivnem stanju (ASPM) je mehanizem za varčevanje z energijo, vgrajen v standard PCI Express , ki upravlja porabo energije povezav PCIe, ko povezane naprave ne prenašajo aktivno podatkov. Namesto da bi povezava delovala s polno močjo, ASPM omogoča, da povezava med procesorjem ali čipsetom in napravo PCIe v obdobjih neaktivnosti preide v stanje nizke porabe energije .

Osnovna ideja je zelo preprosta: ko ni podatkovnega prometa, se povezava »sprosti «, porabi manj energije in ustvari manj toplote. V trenutku, ko jo ponovno potrebujemo, se povezava vrne v aktivno stanje. Ta prehod ni brez stroškov: doda nekaj zakasnitve in prav tu pride do izraza ravnovesje med zmogljivostjo in učinkovitostjo.

ASPM spremlja stanje napajanja na obeh koncih povezave PCIe (na primer krmilnik PCIe čipov in grafična kartica ali krmilnik NVMe). To pomeni, da do prihrankov energije ne pride le na ravni naprave, temveč tudi na sami fizični povezavi (transportna plast PCIe), tudi ko naprava PCIe ostane v popolnoma delujočem stanju napajanja.

V sistemih Linux se globalno vedenje ASPM upravlja iz modula jedra, ki ustreza PCIe.V modulu je izpostavljen parameter /sys/module/pcie_aspm/parameters/policy kjer je definiran pravilnik, ki ga je treba uporabiti. Poleg tega se lahko med zagonom jedra uporabijo parametri, kot je [naslednji]. pcie_aspm=off da ga onemogočite globalno ali pcie_aspm=force vsiliti ASPM tudi na napravah, ki ga teoretično ne podpirajo pravilno (kar lahko povzroči težave na problematični strojni opremi).

Razmerje med ASPM, upravljanjem stanja povezave in možnostmi napajanja v sistemu Windows

V sistemu Windows se v možnostih napajanja običajno prikaže kot »Upravljanje stanja povezave«, kar v bistvu pomeni način, kako operacijski sistem razkrije in nadzoruje politiko ASPM združljivih povezav PCIe.

Ta nastavitev se nahaja v načrtu porabe energije , na običajni poti: Nastavitve → Sistem → Napajanje in spanje → Dodatne nastavitve porabe energije → Spremeni nastavitve načrta → Spremeni napredne nastavitve porabe energije. V naprednih možnostih pod »PCI Express« boste našli »Upravljanje porabe energije v stanju povezave«.

Windows običajno ponuja tri ravni delovanja za upravljanje porabe energije v stanju povezave , ki konceptualno ustrezajo različnim stopnjam varčevanja z energijo in zakasnitve:

  • DeaktiviranoPovezava PCIe ne preklopi v stanje varčevanja z energijo; prednost imata zmogljivost in nizka latenca.
  • Zmerni prihranki energijeSistem uporablja srednjo raven varčevanja z energijo. Poraba se nekoliko zmanjša, vendar je čas okrevanja iz stanja nizke porabe relativno hiter.
  • Največji prihranek energijePovezava se agresivno prekine, ko ni prometa; poraba se še dodatno zmanjša, vendar je čas prebujanja iz stanja nizke porabe daljši.

Na prenosniku lahko izbira med zmernimi in najvišjimi nastavitvami bistveno vpliva na življenjsko dobo baterije , še posebej, če naprava veliko časa porabi za lažja opravila, kot sta brskanje po spletu ali gledanje videoposnetkov. Na namiznem ali igralnem računalniku se mnogi uporabniki odločijo, da nastavijo nastavitev izklopljeno, da bi se izognili dodatni zakasnitvi in ​​povečali vsak FPS.

Kako ASPM vpliva na zmogljivost in življenjsko dobo baterije

Najbolj očiten vpliv ASPM se kaže na dveh frontah: zmogljivost (latenca) in poraba energije . To sta dve plati iste medalje, igranje z nastavitvami pa pomeni dajanje prednosti eni ali drugi.

Ko je ASPM omogočen in v agresivnih načinih, sistem zmanjša porabo energije na povezavah PCIe , dokler te ne prenašajo aktivno podatkov. To je še posebej opazno v:

  • Prenosni računalniki, ki so odvisni od moči baterije in cenijo vsak prihranjeni vat.
  • Sistemi z veliko napravami PCIe (grafične kartice, omrežne kartice, krmilniki pomnilnika itd.), kjer so lahko kumulativni prihranki znatni.
  • Visoko gosta podatkovna središča in strežniška okoljakjer se nekaj vatov na strežnik poveča na velike številke na ravni omare ali podatkovnega centra.

Kompromis je latenca, ki nastane pri prehodu iz stanja nizke porabe energije v aktivno stanje . Pri splošni uporabi (pisarniške aplikacije, brskanje, predvajanje večpredstavnosti) je ta latenca za uporabnika običajno neopazna. Vendar pa ima lahko v zahtevnih scenarijih – igranje iger, nizka omrežna latenca, intenzivno obremenitev pomnilnika – le majhen, čeprav običajno majhen vpliv.

Nekatere analize in študije omenjajo izboljšanje energetske učinkovitosti in uporabe vodila PCIe do 20 % z ustreznim upravljanjem ASPM . To ne pomeni, da bo vaš računalnik deloval 20 % hitreje, temveč da lahko pri enaki delovni obremenitvi porabi manj energije in ustvari manj toplote, kar je še posebej koristno za prenosnike in mobilne naprave.

V sistemu Windows je običajno, da orodja, kot so powercfg -energy prikaži napake, povezane z ASPM tipa: »Upravljanje porabe energije PCI Express Active-State (ASPM) onemogočeno zaradi znane nezdružljivosti s strojno opremo tega računalnika.« V teh primerih se je Windows odločil, da bo ASPM blokiral iz varnostnih razlogov, ker ve, da določena komponenta z njim ne ravna dobro in bi lahko povzročila zrušitve, prekinitve povezave naprav ali nestabilnost.

Tipične težave: napake ASPM, baterije in združljivost strojne opreme

Mnogi uporabniki se prvič srečajo z ASPM pri preiskovanju težav z baterijo ali diagnostiki napajanja , zlasti na zmogljivih prenosnikih s sodobnimi procesorji in namenskimi grafičnimi karticami (npr. sistemi Intel Core i9 12. generacije in vrhunska grafika RTX).

Tipičen primer je nov prenosnik, katerega baterija zdrži veliko manj, kot je bilo pričakovano. (2–2,5 ure pri lahki uporabi v primerjavi s 5–6 urami, o katerih poročajo drugi uporabniki). Pri ustvarjanju poročila z powercfg -energy V sistemu Windows se pojavijo napake, kot so naslednje:

  • »Zmogljivosti upravljanja porabe energije platforme: PCI Express Active-State Power Management (ASPM) je onemogočen. ASPM je bil onemogočen zaradi znane nezdružljivosti s strojno opremo tega računalnika.«
  • Opozorila o Naprave USB ki ne preklopijo v selektivno stanje mirovanja (na primer naprave z določenimi USB ID-ji), kar prav tako poveča porabo energije v stanju pripravljenosti.

V teh primerih ni vedno kriv procesor . Pogosto gre za kombinacijo:

  • Oblikovanje opreme (matična plošča, BIOS/UEFI, kako proizvajalec implementira tabele ACPI in podporo za ASPM).
  • Gonilniki naprav (GPU, omrežna kartica, pomnilnik, USB), ki ne izvajajo ASPM v celoti ali pravilno.
  • Zunanje naprave USB ki preprečujejo selektivno vzmetenje ali ohranjajo sistem bolj aktiven, kot je zaželeno.

V praksi, ko Windows sporoči, da je ASPM onemogočen zaradi nezdružljivosti , ga je le redko mogoče ponovno omogočiti brez tveganja. Vsiljevanje prek vdornih vtičnikov ali spremenjenih gonilnikov lahko na primer povzroči, da se omrežna kartica ne odziva do ponovnega zagona.

Za izključitev izključno programskih težav v sistemu Windows se običajno priporoča nekaj osnovnih korakov.Zaženite orodje za odpravljanje težav z napajanjem, Posodobite Windows in gonilnikein v nekaterih primerih izvaja preverjanje sistemskih datotek z SFC (sfc /scannow) in pripomočki DISM (DISM.exe /Online /Cleanup-image /Scanhealth y /RestorehealthČe po vsem tem poročilo še vedno kaže, da je ASPM onemogočen zaradi strojne opreme, gre najverjetneje za omejitev same opreme ali njene vdelane programske opreme.

ASPM na strežnikih in opremi, ki deluje 24 ur na dan, 7 dni v tednu: Se splača?

Kaj je Active State Power Manager in kako vpliva na zmogljivost?

V svetu strežnikov, ki delujejo 24 ur na dan, 7 dni v tednu, ASPM sproža precejšnje razprave . Po eni strani se zdi varčevanje z energijo na povezavah PCIe dobra ideja. Po drugi strani pa je vsak namig na nestabilnost ali izgubo paketov nesprejemljiv.

Klasični primer so nekatere Intelove omrežne kartice (kot je 82574L) , ki imajo dobro dokumentirano strojno napako: pod določenimi pogoji se prenos paketov ustavi in ​​nadaljuje šele po ponovnem zagonu. Eden od načinov za ublažitev te težave je bil onemogočanje ASPM za to napravo ali celo globalno.

V Linuxu obstaja več načinov za obravnavo teh primerov na strežniku :

  • Onemogoči ASPM globalno z zagonskim parametrom jedra pcie_aspm=offTo je najučinkovitejša rešitev, veljavna za vse naprave, vendar za ceno popolne odpovedi temu varčevanju z energijo.
  • Uporabite posodobljen gonilnik (na primer spremenjena različica e1000e (za Intelove omrežne kartice), ki onemogoči ASPM ali prezre določena problematična stanja samo za prizadeto napravo.
  • Spremenite ASPM bite določene naprave z orodji, kot je setpci, s čimer se prilagaja vedenje med izvajanjem, ne da bi to vplivalo na preostali del sistema (čeprav se spremembe običajno izgubijo po ponovnem zagonu, če niso avtomatizirane).

Ključno vprašanje za strežnik je, ali prihranki energije, ki jih prinaša ASPM, odtehtajo tveganje in kompleksnost . V mnogih kritičnih produkcijskih okoljih sta stabilnost in predvidljivost najpomembnejši. Zato je pogosto videti, da je ASPM onemogočen v BIOS-u ali jedru na strojih, ki se uporabljajo za baze podatkov, intenzivno virtualizacijo ali omrežne storitve, ki si ne morejo privoščiti izpada.

Kljub temu se ASPM lahko uporablja tudi za druge strežniške naprave , kot so kartice PCIe RAID ali krmilniki NVMe. Če sta vdelana programska oprema in gonilniki dobro zasnovani, je mogoče doseči prihranke energije brez vpliva na razpoložljivost, čeprav je dejanska korist močno odvisna od tega, ali imajo te naprave daljša obdobja neaktivnosti ali so pod stalno obremenitvijo.

ASPM, ACPI in različna energijska stanja sistema

Da bi razumeli, kam ASPM spada na "zemljevid" upravljanja porabe energije, se moramo pogovoriti o ACPI (Advanced Configuration and Power Interface). ACPI je standard, ki je nadomestil starejši APM in določa, kako vdelana programska oprema (BIOS/UEFI) in operacijski sistem komunicirata za upravljanje porabe energije, prekinitev, stanj mirovanja, dodelitve IRQ in še veliko več.

ACPI je ključna komponenta praktično vse sodobne strojne opreme, ne le x86 . Izvira iz Intela, Microsofta in Toshibe v devetdesetih letih prejšnjega stoletja, vendar se je z leti razširil tudi na arhitekture, kot je ARM, zlasti v sektorjih strežnikov in visokozmogljivega računalništva, kjer se ponovno uporabljajo številne komponente iz ekosistema x86 (UEFI, grafični procesorji itd.).

Čeprav je ACPI široko sprejet standard, je bil deležen številnih kritik . Ugledni predstavniki industrije, kot je ustanovitelj podjetja Canonical, Mark Shuttleworth, so poudarili, da je zaprta vdelana programska oprema (vključno z implementacijami ACPI) idealen vektor za varnostne ranljivosti in morebitna zadnja vrata. Odkriti so bili tudi primeri, ko proizvajalci, kot sta Lenovo in Samsung, uporabljajo določene tabele ACPI za Windows (na primer tabelo WPBT) za namestitev dvomljive programske opreme ali pa bi teoretično lahko olajšali namestitev trajnih rootkitov.

Znotraj univerzuma ACPI najdemo več vrst stanj napajanja , ki vplivajo na celoten sistem, določene naprave in procesor. ASPM je primarno povezan s komponento povezave PCIe, vendar obstaja hkrati z vsemi temi ravnmi:

Globalna stanja sistema (G stanja)

Globalna stanja določajo raven aktivnosti ekipe kot celote in so predstavljena s kombinacijami Gx/Sx:

  • G0/S0Sistem deluje normalno.
  • G1 (načini vzmetenja), ki je nato razdeljen na:
    • G1/S1Rahla prekinitev; procesor in predpomnilniki ostanejo napajani.
    • G1/S2Procesor se izklopi in podatki v registrih se izgubijo, vendar del sistema ostane pod napetostjo.
    • G1/S3: »začasno ustavi v RAM«; sistem je videti izklopljen, vendar je RAM še vedno vklopljen, da se stanje ohrani.
    • G1/S4: mirovanje; vsebina RAM-a se shrani v pomnilnik in RAM je mogoče izklopiti.
  • G2/S5: mehka zaustavitev; sistem je izklopljen, vendar je na voljo minimalna poraba energije za vklop ob določenem dogodku (tipkovnica, omrežje itd.).
  • G3: popolna zaustavitev; brez napajanja, razen minimalnih komponent, kot je ura realnega časa, ki jo napaja baterija.

ASPM pride v poštev predvsem takrat, ko smo v stanju G0/S0 , ​​torej ko je sistem vklopljen in delujoč. Takrat lahko povezave PCIe preidejo iz aktivnega stanja v stanje nizke porabe energije, ne da bi sistem prešel v popolno stanje mirovanja.

Stanja naprave (stanja D) in stanja procesorja (stanja C)

Poleg globalnih stanj ACPI definira energijska stanja na ravni naprave , imenovana D-stanja:

  • D0: naprava je vklopljena in 100 % delujoča.
  • D1 in D2: vmesna stanja, ki se razlikujejo glede na napravo; prihranijo nekaj energije, vendar ohranijo nekaj odzivnosti.
  • D3: razdeljen na "vroč" in "hladen", odvisno od tega, ali vzdržuje pomožno napajanje ali ne; lahko se popolnoma preneha odzivati ​​na vodilo.

Vzporedno imajo procesorji svoja lastna C-stanja , ki nadzorujejo, koliko se CPU "sprošča", ko ni dela. Nekatera najpomembnejša so:

  • C0: jedro aktivno izvaja kodo.
  • C1/C1E: stanje »zaustavitve«; jedro ne izvaja ukazov, vendar se lahko skoraj v trenutku vrne v stanje C0. Različica C1E dodaja nadaljnje izboljšave za varčevanje z energijo.
  • C2: »ustavitev ure«; osrednja ura se ustavi, vrnitev v C0 traja nekoliko dlje.
  • C3 in globlja stanja (C4-C10 v sodobnih procesorjih): predpomnilniki se izpraznijo, notranje ure se izklopijo in v nekaterih primerih se jedro celo izklopi, pri čemer se njegovo stanje ohrani v namenskih pomnilnikih (na primer C6 shrani stanje v SRAM, ko je jedro pri 0 V).

Prehode med temi stanji sprožijo privilegirani ukazi, kot sta HLT ali MWAIT , ki jih upravljata operacijski sistem in krmilniki napajanja. Strojna prekinitev povzroči, da jedro takoj preide v C0, da jo obdela, nekateri sodobni procesorji pa celo preusmerijo prekinitve na že aktivna jedra, da se izognejo nepotrebnemu prebujanju drugih mirujočih jeder.

Stanja delovanja procesorja (stanja P)

P-stanja se osredotočajo na zmogljivost jedra procesorja . Omogočajo dinamično prilagajanje frekvence in napetosti procesorja, kar varčuje z energijo, ko ni potrebna največja moč, in povečuje taktne frekvence, ko je to potrebno.

Stanja P so običajno predstavljena kot P0, P1, P2, … , kjer je P0 stanje največje frekvence in napetosti, naslednja stanja pa predstavljajo nižjo frekvenco in porabo energije. Tehnologije, kot so Intel SpeedStep, AMD PowerNow!, VIA-jev PowerSaver in načini Turbo, se zanašajo na ta stanja za prilagajanje frekvence glede na obremenitev in omejitve, kot je TDP (PL1, PL2 itd.).

V Linuxu te mehanizme nadzorujejo podsistemi, kot so cpufreq y cpuidleAktivni regulator frekvence je mogoče preveriti z ukazi, kot so cpupower frequency-info ali pregledovanje datotek v /sys/devices/system/cpu/cpu*/cpufreq/, kjer so prikazane informacije, kot so trenutna frekvenca, najvišja in najnižja frekvenca ter razpoložljivi regulatorji (performance, varčevanje z energijo, ondemand, konzervativniitd.) in uporabljeni gonilnik.

Čeprav se vse to morda zdi nepovezano z ASPM, je pravzaprav del istega ekosistema ACPI : različnih plasti in mehanizmov, ki sodelujejo pri prilagajanju porabe energije in zmogljivosti procesorjev, naprav in sistemskih povezav, vključno s PCIe.

Praktična izvedba ASPM: BIOS/UEFI, operacijski sistem in gonilniki

Za pravilno delovanje ASPM je potrebno sodelovanje treh glavnih akterjev : vdelane programske opreme matične plošče (BIOS/UEFI), operacijskega sistema in gonilnikov naprav PCIe.

BIOS/UEFI običajno vključuje posebne možnosti ASPM ali Link State Power Management , ki omogočajo omogočanje, onemogočanje ali izbiro določenih načinov (npr. L0s, L1, Auto, Off). Ključnega pomena je, da vdelana programska oprema pravilno implementira tabele ACPI in natančno opiše, kaj podpira vsaka naprava in povezava PCIe.

Operacijski sistem (Windows, Linux itd.) prebere te podatke iz ACPI in se odloči, katere pravilnike bo uporabil.V Linuxu, kot že omenjeno, je ASPM mogoče vsiliti ali onemogočiti z uporabo parametrov jedra ali prek datoteke s pravilniki modula. pcie_aspmV sistemu Windows je upravljanje vključeno v načrt porabe energije in v možnostih »PCI Express → Upravljanje porabe energije v stanju povezave«.

Gonilniki naprav PCIe prav tako igrajo ključno vlogo . Da bi brez težav izkoristili prednosti ASPM, morajo:

  • Pravilno deklarirajte zmogljivosti varčevanja z energijo naprave (katera stanja podpira, katere latence so sprejemljive itd.).
  • Pravilno upravljanje prehodov stanjpreprečevanje "zamrznitve" naprave ali predolgega odzivanja, ko preide iz stanja nizke porabe energije.
  • Ostanite na tekočemTo je zato, ker mnogi proizvajalci popravljajo napake ASPM in optimizirajo porabo s posodobitvami gonilnikov ali vdelane programske opreme.

V nekaterih primerih so proizvajalci izdali spremenjene gonilnike za onemogočanje ASPM na problematičnih modelih.ker ga imajo za pragmatično »rešitev« za strojne napake. To velja za nekatere Intelove omrežne kartice v Linuxu, kjer so bile posodobljene različice e1000e ASPM je onemogočen, da se prepreči težava z izgubo prenosa.

Za končne uporabnike je splošno priporočilo, da ročno ne vsiljujejo ASPM v BIOS-u ali operacijskem sistemu, razen če dobro razumejo strojno opremo ali če proizvajalec ni dal jasnih navodil. Če poročilo sistema Windows navaja, da je bil ASPM onemogočen zaradi nezdružljivosti, to pomeni, da je operacijski sistem že ugotovil, da tveganje odtehta korist.

ASPM je še en delček sodobne sestavljanke upravljanja porabe energije , tesno povezan z ACPI, globalnimi stanji porabe energije, stanji porabe naprave in stanji porabe procesorja. Če je pravilno implementiran, pomaga zmanjšati porabo energije in toploto, ne da bi to sploh opazili; če je implementiran nepravilno, lahko povzroči vse od manjših težav z zakasnitvijo do zrušitev naprav in težav z omrežjem, ki jih je izjemno težko diagnosticirati.

Razumevanje delovanja in konfiguracije vam omogoča sprejemanje bolj informiranih odločitev : od izbire pravega načina »Link State Power Management« na prenosniku za varčevanje z baterijo do odločitve, ali se na kritičnem strežniku splača žrtvovati nekaj vatov in onemogočiti ASPM v zameno za izjemno stabilnost.

Kaj je vhodni zamik in kako vpliva na igre v sistemu Windows 11?
Povezani članek:
Kako zmanjšati vhodni zamik v sistemu Windows 11: Popoln, praktičen vodnik

Dodaj kot prednostni vir v Googlu