Potovanje F2FS in zakaj so datotečni sistemi pomembni: Intervju s Stanom Dmitrievom iz Tuxere

XDA intervjuva Stana Dmitrieva iz Tuxere, finskega podjetja, specializiranega za datotečne sisteme. Stan razpravlja o datotečnih sistemih in prihodnosti F2FS.

O datotečnih sistemih se na XDA ali katerem koli drugem forumu ne razpravlja prepogosto. Tema vključuje veliko razvoja na nizki ravni, zato se razvijalci raje osredotočajo na aplikacije, ROM-e ali jedra. Kljub temu je datotečni sistem bistveni del vsakega pomnilnika. To je tehnologija, ki opisuje, kako se podatki v pomnilniku vaše naprave shranjujejo in pridobivajo. Obstaja veliko različnih vrst datotečnih sistemov – vsak s svojimi prednostmi in slabostmi – in izbira enega namesto drugega lahko močno vpliva na stabilnost in zmogljivost. Kako se torej proizvajalci originalne opreme odločijo za to? Z veseljem sem se pogovarjal Stan Dimitrijev, vodja PR in komuniciranja pri Tuxera, finsko podjetje, ki nudi rešitve datotečnega sistema številnim velikim proizvajalcem originalne opreme.

V: Ali lahko predstaviš sebe in Tuxero?

O: Jaz sem Stan Dmitriev. Odkar sem dobil svoj prvi Android telefon (HTC EVO 3D), sem postal aktiven oboževalec skupnosti XDA. Recimo samo, da sem namestil ROM po meri in prvi dan razveljavil svojo garancijo (
Stan. Dmitriev je član foruma na XDA). Pred nekaj leti sem soustanovil startup projekt Corgi for Feedly, takrat nam je XDA skupnost veliko pomagala pri definiranju in razvoju aplikacije.

Trenutno sem vodja odnosov z javnostmi in komunikacij pri Tuxeri, ki je vodilno podjetje na trgu vgrajene programske opreme za shranjevanje, natančneje datotečnih sistemov. Naša programska oprema poganja več kot milijardo naprav in jo lahko najdete v najnovejših vodilnih telefonih, avtomobilih, usmerjevalnikih, dronih in kamerah. Zgodba podjetja se je začela z NTFS-3G, ko je naš predsednik in tehnični direktor Szabolcs “Szaka” Szakactics naredil NTFS za delo z napravami Linux. Trenutno razvijamo lastne datotečne sisteme in izvedbe za zunanje in vgrajene pomnilnike ter sodelujemo z večino avtomobilskih podjetij, pa tudi s številnimi podjetji za pametne telefone.

Tukaj v Tuxeri precej pogosto obiskujemo forume XDA, zlasti ko odpravljamo težave z zaklenjeno napravo ali iščemo ROM/jedro po meri za igranje. Mnogi moji kolegi pogosto obiščejo XDA, da bi prebrali najnovejše novice o globoki tehnologiji v zvezi z ekosistemom Android in Linux.

V: Datotečni sistemi so sestavni del naših naprav, vendar zelo malo ljudi ve za njihovo vlogo, izboljšave, prednosti in slabosti. Kaj je to darilo in zakaj bi se več ljudi zanimalo za datotečne sisteme, ki hranijo njihove podatke?

O: Datotečni sistemi so ključni element jedra Linuxa, ki je odgovoren za vse interakcije med napravo in njenim pomnilnikom. Vsakič, ko posnamete sliko, odprete aplikacijo ali gledate video – ima datotečni sistem ključno vlogo, da operacijski sistem dostopa do vseh datotek in jih shrani. Datotečni sistemi že nekaj časa niso bili tako vznemirljivi, glavni razlog je, da je ozko grlo pri delovanju prihajalo iz pomnilnika.

A ker postajajo hitrosti bliskavice izjemno visoke, zlasti z uvedbo UFS, je zdaj treba programsko opremo posodobiti, da bo dohajala zmogljivost bliskavice. Ne samo, da lahko datotečni sistem vpliva na hitrosti shranjevanja, ampak ima tudi pomembno vlogo pri ohranjanju delovanja telefona na dolgi rok. Če naredite narobe, bo shramba postala razdrobljena, kar je pojav, pri katerem lahko neučinkovita uporaba shrambe zmanjša zmogljivost naprave. Zmanjšanje takšne možnosti na minimum je pomembna lastnost datotečnega sistema.

V: Kaj je F2FS (primer) in zakaj se je začel prebijati v Android? Kateri proizvajalci originalne opreme so bili glavni?

O: F2FS je odprtokodni datotečni sistem, katerega glavni namen je, da je zasnovan za arhitekturo bliskovnega shranjevanja. Pomnilnik NAND (flash) se uporablja v vseh trenutnih telefonih Android običajno kot rešitve eMMC ali UFS. Projekt je sprva razvil Samsung in je vzbudil veliko zanimanje nekaterih mobilnih proizvajalcev originalne opreme. Nimamo podatkov o tem, kateri proizvajalci originalne opreme so začeli ta premik. Toda kolikor vem osebno, je bila Motorola prva, številni drugi proizvajalci originalne opreme, kot sta OnePlus in Huawei, pa so kmalu sledili temu premiku.

V: Kakšne so bile prednosti, ki jih je zagotovil? Proizvajalci originalne opreme navajajo hitrejše operacije shranjevanja in zmogljivost uporabniškega vmesnika, vendar obstajajo še kakšne druge prednosti?

O: The višina tona je bilo precej preprosto, F2FS prinaša višjo zmogljivost za shranjevanje na osnovi bliskovnega ključa. Vaš sistem bi se zagnal hitreje (hitrejše branje), hitrosti zapisovanja bi bile višje, kar bi omogočilo snemanje težkih 4K, počasnejših posnetkov z večjo hitrostjo sličic in 360-stopinjskimi videoposnetki. Poleg tega bi bila zakasnitev med sistemom in pomnilnikom izjemno nizka, kar pomeni, da bi se animacija in odpiranje aplikacij počutili veliko hitreje.

V: Zdi se, da se težave osredotočajo predvsem na slabšo zmogljivost. Ali lahko to bolj poglobljeno razložite? Kaj je vzrok?

O: Zamisel o F2FS je bila res odlična, doseči najhitrejšo možno zmogljivost za bliskovne naprave. Pomembno pa je tudi, da se osredotočimo na uspešnost na dolgi rok. Strojna oprema je lahko vedno hitra takoj po izdelavi, vendar je nenehno vzdrževanje teh hitrosti veliko težji izziv. Za primer uporabe Androida je shramba naprave večino časa skoraj polna in na tisoče operacij branja in pisanja se včasih zgodi celo v sekundi. Številne priljubljene aplikacije izvajajo storitve v ozadju, kar pomeni, da aplikacija izvaja nekaj operacij branja/pisanja, tudi če je ne odprete. Če se izvajajo napačno, lahko operacije pisanja drastično povečajo razdrobljenost pomnilnika, zaradi česar je vsaka naslednja operacija branja/pisanja še počasnejša.

Razdrobljenost pomnilnika vidimo kot enega od vzrokov za poslabšanje zmogljivosti v napravah Android. Zdaj je treba ugotoviti, ali težave povzroča združljivost strojne opreme in kako deluje datotečni sistem shranjevanje različnih proizvajalcev originalne opreme ali pa se arhitektura F2FS osredotoča na začetne hitrosti, kar vpliva na dolgoročno izvedba. Težave lahko povzročijo tudi napake, saj je datotečni sistem še v razvoju.

V: Ali obstajajo druge manj znane težave z zmogljivostjo ali zanesljivostjo?

O: Ena zanimiva stvar, ki smo jo ugotovili, je, da ima F2FS nepričakovane dodatne stroške, vsaj nekaj sto MB vašega prostora za shranjevanje za predpomnjenje in vzdrževanje prostora za shranjevanje. To je vsekakor smiselno, če imate 64 GB prostora za shranjevanje ali več, toda pri nizkocenovnih telefonih z velikostjo ROM-a 8 GB, 16 GB je to lahko težava.

Glavna ugotovitev je, da je trenutna izvedba F2FS odlična za okolja samo za branje, ko želite doseči višje hitrosti. F2FS se mora osredotočiti na izboljšanje svoje dolgoročne zmogljivosti shranjevanja v visoki interakciji z majhnimi datotekami, saj se to dogaja v okolju Android.

To je v nekem smislu bitka teorij. Lahko si predstavljate, da je delovanje strojne opreme tako hitro, da poslabšanje ne bo problem. Ali pa na to gledate nasprotno, kjer je strojna oprema tako hitra, da je treba doseči nekoliko počasnejše delovanje, ki ga je mogoče ohraniti na dolgi rok. F2FS je izbral prvi pristop in tukaj ni napačnih možnosti, to je pomemben poskus in krivulja učenja za celotno industrijo. Glede na to, kar trenutno vidimo, je, da bi morala biti zdaj glavna pozornost dolgoročna uspešnost.

V: Nekateri proizvajalci originalne opreme so prenehali uporabljati F2FS, medtem ko drugi, kot je Huawei, še vedno podpirajo F2FS na novejših napravah. Ali menite, da obstaja trend v vsakem primeru? (Počasno sprejemanje ali popolna opustitev)

O: Obstaja več scenarijev, zakaj bi proizvajalci originalne opreme še naprej uporabljali F2FS.

  • Proizvajalci originalne opreme bi lahko imeli lastno izvedbo F2FS, ki prinaša nekaj popravkov za znane težave.

  • Proizvajalec originalne opreme ima lahko zelo dobre vezi s proizvajalcem bliskovnega pomnilnika, saj ima dostop do FTL sloja NAND in nastavitve Datotečni sistem dobro deluje s strojno opremo, lahko prinese pomembne izboljšave, vključno s fragmentacijo flasha shranjevanje.

  • Proizvajalci originalne opreme bi se lahko raje osredotočili na začetno zmogljivost telefona, saj je povprečni življenjski cikel pametnega telefona približno 2 leti in ko telefon postane počasen, bodo že kupili novega.

  • Proizvajalec originalne opreme ima lahko tudi zagnano storitev defragmentacije, kar lahko delno reši težave s F2FS.

To je nekaj možnih scenarijev, obenem pa vidimo, da so nekateri proizvajalci originalne opreme že vrnitev k uporabi Ext4, na primer OnePlus 3T je uporabljal F2FS, vendar vsi novejši modeli OnePlus uporabljajo Ext4.

V: F2FS trenutno potrebuje neko rešitev za defragmentacijo na poti, ki bi lahko rešila težavo, ki se trenutno pojavlja pri F2FS.

O: Orodja za defragmentacijo obstajajo že nekaj časa, glavna prednost pa je, da lahko prerazporedijo/prepišejo pomnilniške bloke, da zmanjšajo razdrobljenost pomnilnika. Toda težava s tem pristopom je, da ponovno napišete celice bliskovnega pomnilnika, kar skrajša življenjsko dobo pomnilnika. Najboljši scenarij bi bil, da bi podatke najprej zapisali pametno. Nadzor nad škodo ni najboljša rešitev.

Pomislite na to, kot da naredite nered v sobi tako, da zmetate veliko stvari naokrog in jih nato začnete razporejati po predalih. Zakaj tega ne storite takoj?

V: Ali je proizvajalcem originalne opreme uspelo preprečiti ali odpraviti nekatere težave, ki zavirajo F2FS? Huawei na primer zavrača ponižujočo zmogljivost in sčasoma oglašuje hitrejši uporabniški vmesnik, delno zahvaljujoč njihovi "AI".

O: No, če lahko umetna inteligenca analizira obnašanje shranjevanja in prepiše datotečni sistem, da deluje za določeno bliskovno napravo, lahko to verjetno reši težave z razdrobljenostjo. AI lahko tudi analizira, katere aplikacije ali funkcije oseba večinoma uporablja, in jih vnaprej naloži/shrani v skladu s tem – če bi bile funkcije telefona hitrejše, to ne bi rešilo vprašanja razdrobljenosti čeprav. Moja glavna domneva je, da je večina optimizacij povezanih z uporabniškim prostorom in ne z nekaterimi globoko tehnološkimi optimizacijami datotečnega sistema.

V: Katere druge vznemirljive spremembe datotečnega sistema bi se jih morali zavedati? Kako bi vplivali na uporabniško izkušnjo, četudi na subtilni ali nizki ravni?

O: F2FS in Ext4 sta še vedno zelo pomembna in sta najprimernejša datotečna sistema za odprtokodni sistem. Ext4 je bolj zrel in zanesljiv, vendar lahko omeji zmogljivost bliskavice; F2FS je hitrejši, a tudi bolj eksperimentalen. Zaradi celotne situacije, ko programska oprema postane ozko grlo, so datotečni sistemi spet vznemirljivi. Prehajamo iz okolij, ki štejejo vsako sekundo, na vsako milisekundo in datotečni sistemi bodo imeli pomembno vlogo pri tem povečanju zmogljivosti. Najbolj vznemirljiv razvoj za datotečne sisteme bi bil ustvariti rešitev, optimizirano za flash, ki bi lahko ohranila zmogljivost flasha.

Pri Tuxeri razvijamo datotečni sistem Tuxera Flash, kjer izvajamo stvari, kot je programska oprema, specifična za strojno opremo optimizacije, ki zagotavljajo, da je datotečni sistem optimiziran za določeno napravo, primer uporabe in flash spomin. Ker smo prisotni v avtomobilski industriji, se osredotočamo predvsem na dolgoročno delovanje in degradacijo bliskovnega pomnilnika. To je bolj vrsta optimizacije strojne in programske opreme, o kateri je govoril Steve Jobs. Uporaba strojnega učenja za ustvarjanje takšnih "gonilnikov" je nekaj, za kar menimo, da bi lahko bilo res vznemirljivo za celotno industrijo shranjevanja.

V: Tudi naš fizični bliskovni pomnilnik postaja vse hitrejši. Kako vidite, da to dejstvo vpliva tako na izkušnjo končnega uporabnika kot na prihodnost datotečnih sistemov?

O: Ker postaja strojna oprema hitrejša, mora programska oprema zagotoviti, da lahko sledi tem naprednim arhitekturam strojne opreme, kar je trenutno glavni izziv za datotečne sisteme. Lahko imate neverjetne značilnosti hitrosti branja in pisanja naprave, a če sklad programske opreme prinaša dodatno zakasnitev - uporabniška izkušnja ne bo tako hitra. To je vznemirljiv čas za razvoj datotečnega sistema, saj obstaja jasna potreba po hitrejši, hitrejši in zanesljivejši tehnologiji za mobilne naprave.

Ker pa bliskavica postaja hitrejša, se postavlja glavno vprašanje, kakšna je hitrost, pri kateri zmogljivost postane nepomembna? Pomislite na to kot na ločljivost zaslona Retina, kjer višja gostota slikovnih pik ne naredi slike za človeško oko res bolj hrustljavo.

V: Hvala za vaš čas.

O: Hvala!