- I-Google iletha ukulungiswa okuqondiswa yiphrofayili ye-AutoFDO ngqo ku-kernel ye-Android ukuze kuncishiswe ukusetshenziswa kwe-CPU kanye namandla.
- Amaphethini okusebenza angokoqobo avela kuzinhlelo zokusebenza eziyi-100 ezisetshenziswa kakhulu aqondisa i-compiler ukuthi ithande izindlela zekhodi ezishisayo futhi isuse ezibandayo.
- Ukuhlolwa kokuqala kubonisa izikhathi zokuqalisa ezicishe zibe ngu-2.1% ngokushesha kanye nokuqaliswa kohlelo lokusebenza olubandayo okushesha cishe ngo-4.3%, kanye nokuzuza okwengeziwe ekusebenzeni kahle kwangemuva.
- I-AutoFDO iqalisa ukusebenza emagatsheni e-Android kernel LTS i-android16-6.12 kanye ne-android15-6.6 futhi ihlelwe ukuthi inwetshwe iye ku-Android 17 nangale kwalokho.
I-Android ithola uchungechunge lwezinguquko ezithule nezisezingeni eliphansi ezihlose ukwenza amafoni azizwe kahle i-snappier ngenkathi ilula impilo yebhethri kancaneEsikhundleni sezici ezintsha ezikhazimulayo, i-Google igxile endleleni i-core yesistimu yokusebenza ethatha ngayo izinqumo njalo ngemizuzwana emincane ngaphansi kwe-hood.
Phakathi kwalo mzamo kukhona inqubo ebizwa ngokuthi i-AutoFDO, efushaniswa ngokuthi Ukulungiswa Okuqondiswe Kumpendulo Okuzenzakalelayo kusetshenziswe ku-kernel ye-AndroidNgokushintsha indlela i-kernel ehlanganiswa ngayo ngokusekelwe kudatha yokusetshenziswa kwangempela, i-Google izama ukunciphisa umsebenzi we-CPU ochithwayo, inciphise i-overhead yangemuva, futhi inikeze amadivayisi akhona amandla aphansi kodwa abonakalayo okuphendula.
Lokho okwenziwa yi-AutoFDO empeleni ku-kernel ye-Android
Ngesikhathi sokwakha okuvamile, i-compiler kufanele yenze izinkulungwane zezinqumo ezincane mayelana nendlela yokuhlela nokulungisa ikhodi. Iqagela ukuthi yimaphi amagatsha okungenzeka, yimiphi imisebenzi okufanele ifakwe emgqeni, ukuthi imiyalelo kufanele ibekwe kanjani enkumbulweni njalo njalo, ngokusekelwe kakhulu kumacebo angaguquki kanye ne-heuristics ejwayelekile.
Inkinga ukuthi lokhu kuqagela akuhlali kuhambisana nalokho okwenzekayo ngempela lapho ifoni yakho isetshenziswa. I-kernel, engabaluleka cishe u-40% wesikhathi se-CPU esiphelele ku-Android, ingase ichithe imijikelezo ezindleleni zekhodi ezingasetshenziswa kakhulu kuyilapho ezisetshenziswa njalo zingathuthukiswanga ngobudlova ngangokunokwenzeka.
I-AutoFDO iguqula le ndlela ngokuphakela i-compiler amaphrofayili akhiwe ngamaphethini okusebenza angempelaEsikhundleni sokuthembela kakhulu kumbono, inqubo yokwakha iqondiswa indlela ikhodi eziphatha ngayo ngempela kumadivayisi, okuvumela i-kernel binary ukuthi ibunjwe ngokuzungeza umthwalo womsebenzi wansuku zonke.
Kubasebenzisi, lokhu akubonakali njengezilungiselelo noma imenyu entsha. Kubonakala sengathi ukusabela okusheshayo kancane lapho kwethulwa izinhlelo zokusebenza noma kuqaliswa kabusha ifoni, kanye nesikhathi esincane se-CPU esichithwa ezinqumweni zangemuva abasebenzisi abangakaze basibone ngqo.

Kusukela ekuqageleni okungaguquki kuya kumaphrofayili okusebenza emhlabeni wangempela
Ngokwesiko, ukulungiswa okuqondiswa yiphrofayili kwakuncike kuma-binary asetshenziswayo aqoqa idatha ngesikhathi sokugijima okukhethekile. Lokho kuyasebenza, kodwa kungaba yinto ephazamisayo futhi kungase kungabonakali indlela abantu abasebenzisa ngayo amafoni abo nsuku zonkeI-AutoFDO ithatha indlela elula kakhulu ngokusekelwe ekuthatheni amasampula.
I-Google isebenzisa iphrofayili yesampula ukuze ithwebule Umlando wegatsha le-CPU kanye nezindlela zokufundisa ngenkathi i-Android isebenzisa umthwalo womsebenzi ongokoqobo. Lawa masampula embula ukuthi yiziphi izingxenye ze-kernel “ezishisayo” (ezivame ukwenziwa) nokuthi yiziphi “ezibandayo” (ezingathintwa kaningi), ngaphandle kokwakha kabusha yonke into ngezinsimbi ezisindayo.
Ngokuqondene ne-kernel, idatha ihlanganiswa endaweni yelebhu. Onjiniyela baphinda basebenzise imisebenzi emele efaka phakathi izinhlelo zokusebenza ze-Android eziyi-100 ezidumile kakhulu kusukela ku-suite yokuhlola ukuhambisana. Le ngxube iklanyelwe ukulingisa ukusetshenziswa kwangempela: ukuvula nokuvala izinhlelo zokusebenza, ukushintsha phakathi kwazo, ukuvumelanisa kwangemuva, kanye nokuxhumana phakathi kwezinqubo.
Uma sekuqoqwe, iminonjana eluhlaza idlula ku- inqubo yokuhlanganisa nokuhlanzaIdatha evela ekusebenzeni okuningi namadivayisi iyahlanganiswa, iguqulwe ibe yifomethi yephrofayili ye-LLVM AutoFDO ejwayelekile, futhi ihlungiwe ukuze kusele izimpawu nemisebenzi efanele kuphela. Imisebenzi ebandayo ivame ukunqunywa kusuka kuphrofayili ngakho-ke ibuyela emuva ku-heuristics evamile ye-compiler esikhundleni sokushintsha ukulungiswa.
Le phrofayela ekhethiwe ibe isiqondisa ukwakhiwa kwe-kernel entsha. Ngolwazi olunembile lokuthi yiziphi izindlela zekhodi ezibaluleke kakhulu, i-compiler ingakwazi ukufaka imizila ebucayi ngendlela enamandla kakhulu, ihlele ikhodi eshisayo ukuze ibe nobungane ne-cache, futhi ingagcizeleli amagatsha angasetshenziswa kakhulu. Umphumela uba i-kernel ekhona ihambisana kangcono nomsebenzi obonwa amafoni e-Android ngempela.
I-Android ingathola ngokushesha futhi isebenza kahle kangakanani?
Izinombolo zokuqala ezivela ezivivinyweni zangaphakathi ze-Google zincane kodwa ziyabonakala. Njengoba i-AutoFDO isetshenziswa ku-kernel, Isikhathi sokuqalisa idivayisi sithuthuka cishe ngo-2.1%Lokho ngeke kuguqule ifoni ehamba kancane ibe yirokhethi, kodwa kunganciphisa ukulinda isikhathi ngasinye lapho uqala kabusha.
Izinzuzo zibonakala kakhulu uma kuvulwa izinhlelo zokusebenza zisesimweni "sokubanda" — okungukuthi, lapho zingakakhumbuli kakade. Lapha, i-AutoFDO ihlinzeka cishe nge Ukwehla okungu-4.3% ezikhathini zokuqalisa ezibandayo, ikakhulukazi eziwusizo ezinhlelweni zokusebenza ezisindayo ezincike ezingxenyeni zomdabu kanye nezinsizakalo ze-kernel.
Ngaphansi kwalezo zilinganiso ezicacile, i-Google iphawula nentuthuko ezindaweni ezikhona okungabonakali kangako kodwa kusabalulekile: ukuhlela ingemuva okubushelelezi, ukwanda kwe-CPU okumbalwa kwemisebenzi ejwayelekile ye-kernel, kanye nokuphathwa okulula kwemisebenzi yezinga lesistimu. Konke lokhu kunegalelo ekubeni nomuzwa wokuthi idivayisi isabela kakhudlwana, noma ngabe kunzima ukukhomba ushintsho olulodwa olukhulu.
Ngenxa yokuthi i-kernel ingadla ingxenye enkulu yamandla e-CPU ephelele, ngisho nokuzuza kwephesenti elilodwa kuhunyushwa ku- izinsiza ezikhululekile ezingasetshenziswa izinhlelo zokusebenza kanye ne-UI yesistimuNgesikhathi esifanayo, ukunciphisa umsebenzi we-CPU ongadingekile kusiza ngokungenakugwenywa ukusebenza kahle kwamandla, ngakho-ke ibhethri lithola impumuzo ethile ngaphandle kokushintsha kwehadiwe.
I-Google iyaqikelela ukuthi ibeka lezi zinzuzo njengezikhuphukayo. Abasebenzisi akufanele balindele ushintsho lwasebusuku nasemini, kodwa kunalokho ukuthuthuka okuqhubekayo endleleni i-Android ezizwa futhi eziphethe ngayo ngokuhamba kwesikhathi, ikakhulukazi lapho ukulungiswa okuningi okunjalo kuhlangana ndawonye ekukhishweni.
Ukugcina ukuzinza ngenkathi kushintsha indlela i-kernel eyakhiwe ngayo
Ukukhathazeka okuphindaphindiwe nganoma yikuphi ukulungiswa okuqondiswa yiphrofayili ukuthi ngabe kuyingozi yini ukwephula ukuziphatha okulindelekile noma ukwethula iziphazamisi ezicashileEndabeni ye-AutoFDO, i-Google igcizelela ukuthi le ndlela ishintsha indlela umqoqi abeka ngayo kuqala futhi abeke ngayo ikhodi, hhayi indlela enengqondo ye-kernel uqobo.
Le ndlela ichazwa ngokuthi “i-conservative ngokuzenzakalelayo”. Lokho kusho ukuthi imisebenzi engamelwe kahle kudatha yephrofayili enokwethembeka okuphezulu kwesokunxele kumasu okuthuthukisa ajwayelekile kunokuba zilungiswe kabusha ngobudlova. Izindlela ezibandayo noma ezingavamile ukwenziwa ziziphatha ngendlela efanayo nezakhiwo zendabuko, okunciphisa amathuba okubuyela emuva ezimweni ezingacacile.
Ngaphambi kokuba amaphrofayili amukelwe, ahlolwa kaningi. Onjiniyela bahlaziya okuqukethwe kwephrofayili — imisebenzi eshisayo, ukubalwa kwamasampula, kanye nosayizi ophelele — bese beqhathanisa nezinguqulo zangaphambilini. Bese kwakhiwa isithombe esisha se-kernel, bese izilinganiso ziyasetshenziswa ukuqinisekisa ukuthi izinzuzo zokusebenza ziyahambisana nokuthi ukubambezeleka noma ukudlula komsebenzi akukubi kakhulu ngokungalindelekile emisebenzini ebalulekile.
Lokhu akusikho okokuqala ukusetshenziswa kwe-AutoFDO yi-Google. Le ndlela isivele isetshenziswe kabanzi imitapo yolwazi ye-Android eyinhloko, izingxenye ze-ChromeOS, ngisho nengqalasizinda yeseva yangaphakathiLokho okuhlangenwe nakho kwangaphambilini kusebenza njengenethi yokuphepha, okuphakamisa ukuthi isitayela sokwenza ngcono ngokwaso sesivuthiwe, noma ngabe ukusisebenzisa ku-kernel ye-Android kusha kakhulu.
Isiphetho ukuthi ukuhlanganiswa kwe-kernel ye-AutoFDO kuklanyelwe gcina ukuzinza kokusebenza ngenkathi usacindezela ukusebenza kahle okwengeziweKubasebenzisi bokugcina, ushintsho luhloselwe ukuba lungabonakali maqondana nokuthembeka, kodwa lube nenzuzo kancane maqondana nokusebenza.
Indlela amaphrofayili avuselelwa futhi asakazwa ngayo ngokuhamba kwesikhathi
Iphrofayili eyodwa engaguquki ingasheshe iphelelwe yisikhathi njengoba I-Android, izinhlelo zokusebenza kanye namaphethini okusetshenziswa ayashintshaUkuze i-AutoFDO igcine isebenza kahle, i-Google iphatha ukwenziwa kwephrofayela njengenqubo eqhubekayo kunomsebenzi okwenziwa kanye kuphela.
Amaphrofayili e-Generic Kernel Image (GKI) avuselelwa kabusha ngaphambi kokukhishwa kwe-kernel entsha ye-LTS ngayinye. Imithwalo yemisebenzi ebuyekeziwe esekelwe ezinguqulweni zamanje zezinhlelo zokusebenza eziyi-100 eziphezulu iyaphindwa, idatha iphinda ithathwe isampula, futhi amaphrofayili ayakhiwa kabusha futhi aqinisekiswe. Lo mzila oqhubekayo usiza ukuqinisekisa ukuthi ukwakheka okusha kwe-kernel kulandelela ukuthi abantu basebenzisa kanjani i-Android ngaleso sikhathi.
Ngokuthakazelisayo, i-Google iphawula ukuthi Imithwalo yemisebenzi eyenziwe elebhu ikhombisa ukufana okucishe kube ngu-85% kumaphethini okusebenza athathwe kusuka kumadivayisi angaphakathi. Lelo zinga lokugqagqana lisikisela ukuthi indlela ehlanganisiwe isondele ngokwanele ekuziphatheni kwangempela ukuze ibe wusizo ekuqondiseni ukwenza ngcono, kuyilapho kusalula ukuyilawula nokubuyekeza.
Ngenxa yokuthi la maphrofayili alandela ifomethi ejwayelekile ye-LLVM AutoFDO, axhumeka ngqo ku- amathuluzi okuhlaziya akhona njenge-llvm-profdataAmaqembu obunjiniyela angahlola imisebenzi eshisayo, afunde amaphethini okushaya ucingo futhi aqinisekise ukuthi umzamo wokwenza ngcono usetshenziswa lapho kubaluleke khona ngempela.
Ngokuphindaphindwa kaningi, lo mjikelezo wokuphinda ubhale iphrofayili nokwakha kabusha uguqula i-AutoFDO ibe yi- indlela yokulungisa eqhubekayo ye-kernel, kunokuba kube nokulungiswa okukodwa okuvalelwe enguqulweni eyodwa ye-Android.
I-AutoFDO kuyo yonke i-Android stack namathuluzi
Ukushintshela ku-AutoFDO ku-kernel kwakhelwe emsebenzini obekwenzeka kwenye indawo ku-Android stack isikhathi esithile. Ukusekelwa kwe-AutoFDO kuyasebenza. kufakwe ohlelweni lokwakha lwe-Android olusetshenziswa yi-AOSP, ikakhulukazi kumamojula omdabu ancike ezincazelweni zokwakha zesitayela se-blueprint.
Kumalabhulali amaningi azwela ukusebenza kanye nama-binary ngaphakathi kwe-AOSP, amaphrofayili aseqoqwe kakade kumafoni namathebulethi angempela. Amaphrofayili e-AutoFDO alungiselelwe ahlala eceleni komthombo futhi inganikwa amandla ngokumane uguqule amafulegi okwakha ahambisanayo, ngakho abenzi bamadivayisi abalandela i-AOSP bazuza ngokuseduze ukulungiswa ngomsebenzi omncane owengeziwe.
Uhlaka lwephrofayela lwe-Android lungaqoqa idatha kuzo zonke izakhiwo ze-CPU eziningi, okuhlanganisa x86, x86_64, i-ARM kanye ne-ARM64Uma nje umthwalo womsebenzi umele, iphrofayili eyakhiwe kusakhiwo esisodwa ngezinye izikhathi ingashintshwa iye kwenye, okwenza kube lula ukuthunyelwa kuzo zonke izinhlobo zamadivayisi ezingafani.
Onjiniyela abadinga ukulungiswa okwengeziwe — isibonelo, lapho bengeza izingxenye zabo zomdabu noma beshintsha ezikhona — bakhuthazwa ukuthi qoqa amaphrofayili ngqo kusuka kumadivayisi okuthuthukisa noma okuhlolaAmathuluzi anjenge-simpleperf kanye nezinsiza ezihlobene nawo asiza ekubambeni amasampula adingekayo ngaphandle kokuphazamisa kakhulu ukusebenza okuvamile.
Ngamafuphi, i-AutoFDO akuyona nje iqhinga le-kernel. Ingena esu elibanzi lapho Izingcezu ezibaluleke kakhulu ze-Android zihlanganiswa kabusha njalo ngesiqondiso esivela kudatha yokusetshenziswa kwangempela, kunokuthembela kuphela ekucabangeni okungaguquki mayelana nokusebenza.
Kuphi futhi nini lokhu kuthuthukiswa kwe-kernel
I-Google yethula ukwakhiwa kwe-kernel okuqhutshwa yi-AutoFDO kuqala ku- amagatsha okusekela isikhathi eside (LTS) e-Android kernel, ikakhulukazi i-android16-6.12 kanye ne-android15-6.6. Lawa magatsha asebenza njengesisekelo sabakhiqizi abaningi, abese bebeka izinguquko zabo kanye nokulungiswa kwedivayisi ethile phezulu.
Le nkampani iphinde yaveza izinhlelo zokwandisa ukusetshenziswa kwe-AutoFDO ku- izinguqulo ze-GKI zesikhathi esizayo ezifana ne-android17-6.18Njengoba amadivayisi amasha ethunyelwa nalawa ma-kernel — futhi njengoba amafoni akhona ethola izibuyekezo ezidonsa izisekelo ezintsha ze-LTS — abasebenzisi abaningi kufanele baqale ukuzuza ekuziphatheni okuthuthukisiwe.
Uma ubheka phambili, i-Google ihlola izindlela zokwenza yandisa ukumbozwa kwe-AutoFDO ngale kwe-vmlinux binary eyinhlokoLokho kuhlanganisa ukuletha ukulungiswa okuqondiswa yiphrofayili kumamojula e-GKI, futhi ekugcineni, amamojula abathengisi akhiwe nge-Driver Development Kit. Lokhu kuzovumela abalingani behadiwe ukuthi basebenzise amasu afanayo okubhala iphrofayili kubashayeli babo, besakaza izinzuzo ngokujulile ohlelweni lwe-ecosystem.
Umbono wesikhathi eside ukuthi ukwakheka okusebenza nge-AutoFDO kuthinta ingxenye ekhulayo ye-kernel namamojula ayo, kusukela kukhodi yokuhlela eyinhloko kuya ezingxenyeni ezithile zedivayisiNjengoba lowo mphumela ukhula, umphumela ohlangene ekuphenduleni nasekusebenzeni kahle ungabonakala kakhulu, noma ngabe ushintsho ngalunye lungabonakali.
Konke lokhu kunezela ekushintsheni okuthule kodwa okunenjongo endleleni i-Android elungiswa ngayo emazingeni aphansi kakhulu. Ngokuvumela amaphethini okusebenza angempela aqondise i-compiler, i-Google ihlose amafoni azizwa eshesha kancane, achitha imijikelezo embalwa ye-CPU futhi enze ukusetshenziswa okungcono kancane kwebhethri ngalinye ngehora le-milliamp — konke ngaphandle kokuthi abasebenzisi bashintshe amadivayisi noma bafune izilungiselelo.