Što je Active State Power Manager i kako utječe na performanse?

  • Upravljanje napajanjem u aktivnom stanju (ASPM) upravlja stanjima napajanja PCIe veza kako bi se smanjila potrošnja kada nema aktivnog prijenosa podataka.
  • Aktiviranjem se poboljšava energetska učinkovitost uz cijenu dodavanja određene latencije, što ga čini posebno korisnim u prijenosnim računalima, a manje prioritetnim u visokoučinkovitoj opremi.
  • Ispravna implementacija ovisi o BIOS-u/UEFI-ju, operativnom sustavu i upravljačkim programima te može biti onemogućena na problematičnom hardveru ili poslužiteljima gdje je stabilnost prioritet.
  • ASPM je dio ACPI ekosustava i koegzistira sa stanjima G, D, C i P, koja koordiniraju ukupnu ravnotežu između performansi, potrošnje i temperature sustava.

Što je Active State Power Manager?

Ako ste ikada u izvješću o energiji sustava Windows vidjeli nešto poput "PCI Express Active-State Power Management (ASPM) onemogućen" i ostali ste zbunjeni, ne brinite: niste sami. Ova tehnologija zvuči vrlo tehnički, ali zapravo se svodi na to kako vaše računalo odlučuje uravnotežiti potrošnju energije i performanse kada PCI Express uređaji ne rade punim kapacitetom.

Razumijevanje što je Active State Power Manager i kako utječe na performanse ključno je, bez obzira koristite li prijenosno računalo i želite maksimizirati vijek trajanja baterije ili upravljate serverima ili snažnim računalima i više vas brine stabilnost i vrhunske performanse nego ušteda nekoliko vata. Pažljivo ćemo ga raščlaniti, povezujući ga s drugim konceptima poput PCIe, ACPI, stanja napajanja, BIOS/UEFI te opcija napajanja sustava Windows i Linux.

Što je upravljanje napajanjem u aktivnom stanju (ASPM) u PCI Expressu?

Upravljanje napajanjem u aktivnom stanju (ASPM) mehanizam je za uštedu energije ugrađen u PCI Express standard koji upravlja potrošnjom energije PCIe veza kada povezani uređaji ne prenose aktivno podatke. Umjesto održavanja veze na punoj snazi, ASPM omogućuje vezi između CPU-a ili čipseta i PCIe uređaja da uđe u stanja niske potrošnje energije tijekom razdoblja neaktivnosti.

Osnovna ideja je vrlo jednostavna: kada nema podatkovnog prometa, veza se "opušta ", trošeći manje energije i stvarajući manje topline. U trenutku kada je ponovno potrebna, veza se vraća u aktivno stanje. Ovaj prijelaz nije bez troškova: dodaje određenu latenciju , i tu dolazi do izražaja ravnoteža između performansi i učinkovitosti.

ASPM prati stanje napajanja na oba kraja PCIe veze (na primjer, PCIe kontroler čipseta i grafička kartica ili NVMe kontroler). To znači da se ušteda energije događa ne samo na razini uređaja već i na samoj fizičkoj vezi (PCIe transportni sloj), čak i kada PCIe uređaj ostane u potpuno operativnom stanju napajanja.

U Linux sustavima, globalno ponašanje ASPM-a upravlja se iz modula kernela koji odgovara PCIe.Postoji parametar modula izložen u /sys/module/pcie_aspm/parameters/policy gdje je definirana politika koja će se primijeniti. Osim toga, parametri poput [sljedećih] mogu se koristiti tijekom pokretanja kernela. pcie_aspm=off onemogućiti ga globalno ili pcie_aspm=force prisiliti ASPM čak i na uređaje koji ga, teoretski, ne podržavaju ispravno (nešto što može uzrokovati probleme na problematičnom hardveru).

Odnos između ASPM-a, upravljanja napajanjem stanja veze i opcija napajanja u sustavu Windows

U sustavu Windows, ono što se obično pojavljuje u opcijama napajanja kao "Link State Power Management" u biti je način na koji operativni sustav izlaže i kontrolira ASPM politiku kompatibilnih PCIe veza.

Ova se postavka nalazi unutar plana napajanja , na uobičajenom putu: Postavke → Sustav → Napajanje i spavanje → Dodatne postavke napajanja → Promjena postavki plana → Promjena naprednih postavki napajanja. Unutar naprednih opcija, pod "PCI Express", pronaći ćete "Upravljanje napajanjem stanja veze".

Windows obično nudi tri razine ponašanja za upravljanje napajanjem stanja veze , koje konceptualno odgovaraju različitim stupnjevima uštede energije i latencije:

  • deaktiviranPCIe veza ne ulazi u stanje uštede energije; prioritet imaju performanse i niska latencija.
  • Umjerena ušteda energijeSustav primjenjuje srednju razinu uštede energije. Potrošnja je donekle smanjena, ali vrijeme oporavka od stanja niske potrošnje je relativno brzo.
  • Maksimalna ušteda energijeVeza se agresivno isključuje kada nema prometa; potrošnja dodatno pada, ali vrijeme buđenja iz stanja niske potrošnje energije je dulje.

Na prijenosnom računalu, odabir između umjerenih i maksimalnih postavki može značajno utjecati na trajanje baterije , posebno ako uređaj provodi puno vremena na laganim zadacima poput pregledavanja ili gledanja videa. Na stolnom računalu ili igraćem računalu mnogi korisnici odlučuju ostaviti ga isključenim kako bi izbjegli dodatnu latenciju i maksimizirali svaki FPS.

Kako ASPM utječe na performanse i vijek trajanja baterije

Najočitiji utjecaj ASPM-a vidi se na dva fronta: performanse (latencija) i potrošnja energije . To su dvije strane iste medalje, a igranje s postavkama znači davanje prioriteta jednom ili drugom.

Kada je ASPM omogućen i u agresivnim načinima rada, sustav smanjuje potrošnju energije na PCIe vezama sve dok aktivno ne prenose podatke. To je posebno vidljivo u:

  • prenosiv, koji ovise o snazi ​​baterije i cijene svaki ušteđeni vat.
  • Sustavi s mnogo PCIe uređaja (grafičke kartice, mrežne kartice, kontroleri za pohranu itd.), gdje kumulativne uštede mogu biti značajne.
  • Visoko gusta okruženja podatkovnih centara i poslužiteljagdje se nekoliko vata po poslužitelju skalira do velikih brojki na razini racka ili podatkovnog centra.

Nedostatak je latencija koja se javlja pri prijelazu iz stanja niske potrošnje energije u aktivno stanje . U općoj upotrebi (uredske aplikacije, pregledavanje, reprodukcija multimedije), ova latencija je obično neprimjetna korisniku. Međutim, u zahtjevnim scenarijima - igranje igara, niska latencija mreže, intenzivno opterećenje pohrane - može imati marginalni, iako obično mali, učinak.

Neke analize i studije spominju poboljšanja energetske učinkovitosti i korištenja PCIe sabirnice do 20% uz pravilno upravljanje ASPM-om . To ne znači da će vaše računalo raditi 20% brže, već da može trošiti manje energije i generirati manje topline za isto radno opterećenje, što je posebno korisno za prijenosna računala i mobilne uređaje.

U sustavu Windows uobičajeno je da alati poput powercfg -energy prikaži pogreške povezane s ASPM-om tipa: „PCI Express Active-State Power Management (ASPM) onemogućen je zbog poznate nekompatibilnosti s hardverom ovog računala.“ U tim slučajevima Windows je odlučio blokirati ASPM iz sigurnosnih razloga, jer zna da određena komponenta ne rukuje njime dobro i da bi mogla uzrokovati pad sustava, prekide veze uređaja ili nestabilnost.

Tipični problemi: ASPM pogreške, baterije i kompatibilnost hardvera

Mnogi korisnici se prvi put susreću s ASPM-om prilikom istraživanja problema s baterijom ili dijagnostike napajanja , posebno na snažnim prijenosnim računalima s modernim CPU-ima i namjenskim GPU-ima (npr. Intel Core i9 sustavi 12. generacije i vrhunska RTX grafika).

Tipičan primjer je novi laptop čija baterija traje puno kraće od očekivanog. (2-2,5 sata pri laganoj upotrebi u usporedbi s 5-6 sati koje su prijavili drugi korisnici). Prilikom generiranja izvješća s powercfg -energy U sustavu Windows pojavljuju se pogreške poput sljedećih:

  • „Mogućnosti upravljanja napajanjem platforme: PCI Express Active-State Power Management (ASPM) onemogućen. ASPM je onemogućen zbog poznate nekompatibilnosti s hardverom ovog računala.“
  • Upozorenja o USB uređaji koji ne ulaze u selektivno stanje mirovanja (na primjer, uređaji s određenim USB ID-ovima), što također povećava potrošnju energije u stanju mirovanja.

U tim situacijama nije uvijek krivnja procesora . Često je riječ o kombinaciji:

  • Dizajn opreme (matična ploča, BIOS/UEFI, kako proizvođač implementira ACPI tablice i ASPM podršku).
  • Upravljački programi uređaja (GPU, NIC, pohrana, USB) koji ne implementiraju ASPM u potpunosti ili ispravno.
  • Vanjski USB uređaji koji sprječavaju selektivno ovjes ili održavaju sustav aktivnijim nego što je poželjno.

U praksi, kada Windows prijavi da je ASPM onemogućen zbog nekompatibilnosti , ponovno omogućavanje bez rizika rijetko je jednostavna opcija. Prisilno instaliranje putem hakerskih programa ili modificiranih upravljačkih programa može uzrokovati, na primjer, da mrežna kartica ne reagira do ponovnog pokretanja.

Kako bi se isključili isključivo softverski problemi u sustavu Windows, obično se preporučuju neki osnovni koraci.Pokrenite alat za rješavanje problema s napajanjem, Ažurirajte Windows i upravljačke programea u nekim slučajevima izvršiti provjeru sistemskih datoteka s SFC (sfc /scannow) i DISM uslužni programi (DISM.exe /Online /Cleanup-image /Scanhealth y /RestorehealthAko nakon svega toga izvješće i dalje pokazuje da je ASPM onemogućen hardverom, najvjerojatnije se radi o ograničenju same opreme ili njenog firmvera.

ASPM na serverima i opremi koja radi 24/7: Isplati li se?

Što je Active State Power Manager i kako utječe na performanse?

U svijetu 24/7 servera, ASPM izaziva značajne rasprave . S jedne strane, ušteda energije na PCIe vezama čini se dobrom idejom. S druge strane, svaki nagovještaj nestabilnosti ili gubitka paketa je neprihvatljiv.

Klasičan primjer su određene Intelove mrežne kartice (kao što je 82574L) koje imaju dobro dokumentiranu hardversku manu: pod određenim uvjetima, prijenos paketa se zaustavlja i nastavlja tek nakon ponovnog pokretanja. Jedan od načina za ublažavanje ovog problema bio je onemogućavanje ASPM-a za taj uređaj ili čak globalno.

U Linuxu postoji nekoliko načina za rješavanje ovih slučajeva na poslužitelju :

  • Globalno onemogući ASPM s parametrom pokretanja kernela pcie_aspm=offTo je najučinkovitije rješenje, valjano za sve uređaje, ali uz cijenu potpunog odustajanja od ove uštede energije.
  • Koristite zakrpani upravljački program (na primjer, modificirana verzija e1000e (za Intel mrežne kartice) koji onemogućuje ASPM ili ignorira određena problematična stanja samo za pogođeni uređaj.
  • Izmijenite ASPM bitove određenog uređaja alatima poput setpci, prilagođavajući ponašanje tijekom izvođenja bez utjecaja na ostatak sustava (iako se promjene obično gube nakon ponovnog pokretanja ako nisu automatizirane).

Ključno pitanje za poslužitelj je nadmašuju li uštede energije koje ASPM donosi rizik i složenost . U mnogim kritičnim proizvodnim okruženjima stabilnost i predvidljivost su najvažnije. Zato je uobičajeno vidjeti ASPM onemogućen u BIOS-u ili kernelu na računalima koja se koriste za baze podataka, intenzivnu virtualizaciju ili mrežne usluge koje si ne mogu priuštiti zastoje.

Uz to, ASPM se može primijeniti i na druge poslužiteljske uređaje , kao što su PCIe RAID kartice ili NVMe kontroleri. Ako su firmver i upravljački programi dobro dizajnirani, ušteda energije potencijalno se može postići bez utjecaja na dostupnost, iako stvarna korist uvelike ovisi o tome imaju li ti uređaji značajna razdoblja neaktivnosti ili su pod stalnim opterećenjem.

ASPM, ACPI i različita energetska stanja sustava

Kako bismo razumjeli gdje se ASPM uklapa u "mapu" upravljanja napajanjem, moramo razgovarati o ACPI-ju (Advanced Configuration and Power Interface - napredno sučelje za konfiguraciju i napajanje). ACPI je standard koji je zamijenio stariji APM i definira kako firmver (BIOS/UEFI) i operativni sustav komuniciraju kako bi upravljali napajanjem, prekidima, stanjima mirovanja, dodjelom IRQ-a i mnogo čime drugim.

ACPI je ključna komponenta gotovo sveg modernog hardvera, ne samo x86 . Nastao je s Intelom, Microsoftom i Toshibom 90-ih, ali se tijekom godina proširio i na arhitekture poput ARM-a, posebno u sektorima poslužitelja i HPC-a, gdje se mnoge komponente iz x86 ekosustava (UEFI, GPU-ovi itd.) ponovno koriste.

Unatoč tome što je široko prihvaćen standard, ACPI je dobio mnogo kritika . Istaknuti glasovi u industriji, poput osnivača Canonicala, Marka Shuttlewortha, istaknuli su da je zatvoreni firmver (uključujući ACPI implementacije) idealan vektor za sigurnosne ranjivosti i potencijalne stražnje ulaze. Otkriveni su i slučajevi u kojima proizvođači poput Lenova i Samsunga koriste određene Windows ACPI tablice (na primjer, WPBT tablicu) za instaliranje sumnjivog softvera ili, teoretski, mogu olakšati instalaciju trajnih rootkitova.

Unutar ACPI univerzuma nalazimo nekoliko vrsta stanja napajanja koja utječu na cijeli sustav, određene uređaje i procesor. ASPM se prvenstveno odnosi na PCIe vezu, ali koegzistira sa svim ovim razinama:

Globalna stanja sustava (G stanja)

Globalna stanja definiraju razinu aktivnosti tima kao cjeline i predstavljena su kombinacijama Gx/Sx:

  • G0/S0Sustav funkcionira normalno.
  • G1 (načini ovjesa), koji je pak podijeljen na:
    • G1/S1Lagano onesvješćivanje; CPU i predmemorija ostaju uključeni.
    • G1/S2CPU se isključuje i podaci u njegovim registrima se gube, ali dio sustava ostaje pod napajanjem.
    • G1/S3: „suspendiraj u RAM“; sustav se čini isključenim, ali RAM i dalje radi napajanja kako bi se održalo stanje.
    • G1/S4: hibernacija; sadržaj RAM-a se pohranjuje u memoriju i RAM se može isključiti.
  • G2/S5: meko gašenje; sustav je isključen, ali postoji minimalna snaga za pokretanje po događaju (tipkovnica, mreža itd.).
  • G3: potpuno isključenje; nema napajanja osim minimalnih komponenti kao što je sat stvarnog vremena koji se napaja baterijom.

ASPM prvenstveno dolazi do izražaja kada smo u G0/S0 stanju , odnosno kada je sustav uključen i operativan. Tada PCIe veze mogu prijeći iz aktivnog stanja u stanje niske potrošnje energije bez potpunog ulaska sustava u stanje mirovanja.

Stanja uređaja (D stanja) i stanja procesora (C stanja)

Uz globalna stanja, ACPI definira energetska stanja na razini uređaja , nazvana D stanja:

  • D0: uređaj uključen i 100% operativan.
  • D1 i D2: međustanja koja variraju ovisno o uređaju; štede nešto energije, ali održavaju određenu brzinu odziva.
  • D3: podijeljeno na "vruće" i "hladno", ovisno o tome održava li pomoćno napajanje ili ne; može potpuno prestati reagirati na sabirnicu.

Paralelno s tim, procesori imaju svoja vlastita C-stanja koja kontroliraju koliko se CPU "opušta" kada nema posla. Neka od najrelevantnijih su:

  • C0: kernel aktivno izvršava kod.
  • C1/C1E: stanje "zaustavljanja"; kernel ne izvršava instrukcije, ali se može gotovo trenutno vratiti u C0. Varijanta C1E dodaje daljnja poboljšanja uštede energije.
  • C2: „zaustavljanje sata“; glavni sat je zaustavljen, potrebno je malo više vremena za povratak na C0.
  • C3 i dublja stanja (C4-C10 u modernim CPU-ima): predmemorije se prazne, unutarnji taktovi se isključuju, a u nekim slučajevima se čak isključuje i jezgra, čuvajući svoje stanje u namjenskim memorijama (na primjer, C6 sprema stanje u SRAM s jezgrom na 0 V).

Prijelaze između ovih stanja pokreću privilegirane instrukcije poput HLT ili MWAIT , kojima upravljaju operativni sustav i kontroleri napajanja. Hardverski prekid uzrokuje da jezgra odmah prijeđe u C0 kako bi ga obradila, a neki moderni procesori čak preusmjeravaju prekide na već aktivne jezgre kako bi se izbjeglo nepotrebno buđenje drugih uspavanih jezgri.

Stanja performansi procesora (P stanja)

P stanja se fokusiraju na performanse jezgre CPU-a . Omogućuju dinamičko podešavanje frekvencije i napona procesora, štedeći energiju kada nije potrebna maksimalna snaga i povećavajući brzinu takta kada je to potrebno.

P stanja se obično predstavljaju kao P0, P1, P2, ... gdje je P0 stanje maksimalne frekvencije i napona, a sljedeća stanja predstavljaju nižu frekvenciju i potrošnju energije. Tehnologije poput Intel SpeedStep, AMD PowerNow!, VIA-inog PowerSaver i Turbo načina rada oslanjaju se na ta stanja za skaliranje frekvencije na temelju opterećenja i ograničenja kao što je TDP (PL1, PL2, itd.).

U Linuxu, te mehanizme kontroliraju podsustavi kao što su cpufreq y cpuidleMoguće je provjeriti aktivni regulator frekvencije naredbama kao što su cpupower frequency-info ili pregledavanje datoteka u /sys/devices/system/cpu/cpu*/cpufreq/, gdje se prikazuju informacije poput trenutne frekvencije, maksimalne i minimalne frekvencije te dostupnih regulatora (predstava, ušteda energije, OnDemand, konzervativanitd.) i korišteni upravljački program.

Iako se sve ovo može činiti nepovezanim s ASPM-om, zapravo je dio istog ACPI ekosustava : različiti slojevi i mehanizmi koji surađuju kako bi prilagodili potrošnju energije i performanse CPU-a, uređaja i sistemskih veza, uključujući PCIe.

Praktična implementacija ASPM-a: BIOS/UEFI, operativni sustav i upravljački programi

Za ispravno funkcioniranje ASPM-a potrebna je suradnja tri glavna aktera : firmvera matične ploče (BIOS/UEFI), operativnog sustava i upravljačkih programa PCIe uređaja.

BIOS/UEFI obično uključuje specifične ASPM ili Link State Power Management opcije koje vam omogućuju omogućavanje, onemogućavanje ili odabir određenih načina rada (npr. L0s, L1, Auto, Off). Ključno je da firmware ispravno implementira ACPI tablice i točno opisuje što svaki uređaj i PCIe veza podržavaju.

Operativni sustav (Windows, Linux itd.) čita te informacije iz ACPI-ja i odlučuje koje će se politike primijeniti.U Linuxu, kao što je spomenuto, ASPM se može prisilno pokrenuti ili onemogućiti pomoću parametara kernela ili putem datoteke pravila modula. pcie_aspmU sustavu Windows, upravljanje je sadržano u planu napajanja i u opcijama "PCI Express → Upravljanje napajanjem u stanju veze".

Upravljački programi PCIe uređaja također igraju ključnu ulogu . Da bi bez problema imali koristi od ASPM-a, moraju:

  • Pravilno deklarirajte mogućnosti uštede energije uređaja (koja stanja podržava, koje su latencije prihvatljive itd.).
  • Pravilno upravljanje prijelazima stanjasprječavajući "zamrzavanje" uređaja ili predugo reagiranje kada izađe iz stanja niske potrošnje energije.
  • Ostanak u tokuTo je zato što mnogi proizvođači ispravljaju ASPM pogreške i optimiziraju potrošnju putem ažuriranja upravljačkih programa ili firmvera.

U nekim slučajevima, proizvođači su izdali modificirane upravljačke programe kako bi onemogućili ASPM na problematičnim modelima.smatrajući to pragmatičnim "rješenjem" za hardverske greške. To je slučaj s određenim Intelovim mrežnim karticama u Linuxu, gdje su zakrpane verzije e1000e ASPM je onemogućen kako bi se izbjegao problem gubitka prijenosa.

Za krajnje korisnike, opća preporuka je da ne prisiljavaju ASPM ručno u BIOS-u ili operativnom sustavu osim ako dobro ne razumiju hardver ili ne postoje jasne smjernice proizvođača. Ako izvješće sustava Windows navodi da je ASPM onemogućen zbog nekompatibilnosti, to znači da je operativni sustav već utvrdio da rizik nadmašuje korist.

ASPM je još jedan dio slagalice modernog upravljanja napajanjem , usko povezan s ACPI-jem, globalnim stanjima napajanja, stanjima napajanja uređaja i stanjima napajanja CPU-a. Kada se pravilno implementira, pomaže u smanjenju potrošnje energije i zagrijavanja, a da to i ne primijetite; kada se nepravilno implementira, može uzrokovati sve, od malih problema s latencijom do rušenja uređaja i problema s mrežom koje je nevjerojatno teško dijagnosticirati.

Razumijevanje kako funkcionira i gdje je konfiguriran omogućuje vam donošenje informiranijih odluka : od odabira pravog načina rada "Link State Power Management" na vašem prijenosnom računalu radi uštede baterije do odlučivanja isplati li se na kritičnom poslužitelju žrtvovati nekoliko vata i onemogućiti ASPM u zamjenu za čvrstu stabilnost.

Što je ulazno kašnjenje i kako utječe na igre na Windowsima 11?
Povezani članak:
Kako smanjiti kašnjenje unosa u sustavu Windows 11: Potpuni, praktični vodič

Dodaj kao preferirani izvor na Googleu