F2FS-i teekond ja miks failisüsteemid on olulised: intervjuu Stan Dmitrieviga Tuxerast

XDA intervjueerib Stan Dmitrievit failisüsteemidele spetsialiseerunud Soome ettevõttest Tuxera. Stan arutleb failisüsteemide ja F2FS-i tuleviku üle.

Failisüsteeme ei käsitleta XDA-s ega üheski teises foorumis liiga sageli. Teema hõlmab palju madalatasemelist arendustööd, nii et arendajad eelistavad keskenduda rakendustele, ROM-idele või tuumadele. Sellegipoolest on failisüsteem iga salvestusruumi oluline osa. See on tehnoloogia, mis kirjeldab, kuidas teie seadme salvestusruumis olevaid andmeid salvestatakse ja hangitakse. Failisüsteeme on palju erinevaid – igaühel on oma plussid ja miinused – ning üksteise valimine võib stabiilsust ja jõudlust oluliselt muuta. Kuidas siis originaalseadmete tootjad selle valiku teevad? Mul oli rõõm rääkida Stan Dimitriev, PR- ja kommunikatsioonijuht aadressil Tuxera, Soome ettevõte, mis pakub failisüsteemi lahendusi paljudele suurtele originaalseadmete tootjatele.

K: Kas saate end ja Tuxerat tutvustada?

V: Mina olen Stan Dmitriev. Alates sellest, kui sain oma esimese Android-telefoni (HTC EVO 3D), on minust saanud XDA kogukonna aktiivne fänn. Oletame nii, et installisin kohandatud ROM-i ja tühistasin oma garantii esimesel päeval (
Stan. Dmitrijev on XDA foorumi liige). Paar aastat tagasi asutasin idufirmade projekti nimega Corgi for Feedly, sel ajal aitas meid rakenduse defineerimisel ja arendamisel palju XDA kogukond.

Praegu olen Tuxera suhtekorraldus- ja kommunikatsioonijuht, mis on turul juhtiv sisseehitatud salvestustarkvara, täpsemalt failisüsteemide ettevõte. Meie tarkvara toidab enam kui miljardit seadet ja seda võib leida uusimatest lipulaevadest telefonidest, autodest, ruuteritest, droonidest ja kaameratest. Ettevõtte lugu sai alguse NTFS-3G-st, kui meie president ja CTO Szabolcs “Szaka” Szakactics pani NTFS-i töötama Linuxi seadmetega. Praegu töötame välja oma failisüsteeme ja rakendusi nii välise kui ka manustatud salvestusruumi jaoks ning teeme koostööd enamiku sealsete autotootjatega ning paljude nutitelefonide tootjatega.

Siin Tuxeras külastame üsna sageli XDA foorumeid, eriti kui teeme tõrkeotsingut tellitud seadmest või leiad mängimiseks kohandatud ROM-i / kerneli. Paljud mu kolleegid külastavad sageli XDA-d, et lugeda uusimaid süvatehnoloogia uudiseid Androidi ja Linuxi ökosüsteemide kohta.

K: Failisüsteemid on meie seadmete lahutamatu osa, kuid väga vähesed inimesed teavad nende rollist, täiustustest, tugevatest ja nõrkadest külgedest. Mis on selle kingitus ja miks peaks rohkem inimesi tundma huvi nende andmeid koos hoidvate failisüsteemide vastu?

V: Failisüsteemid on Linuxi kerneli oluline element, mis vastutab kogu seadme ja selle salvestusruumi vahelise suhtluse eest. Iga kord, kui teete pilti, avate rakenduse või vaatate videot – failisüsteem mängib OS-i jaoks olulist rolli, et pääseda juurde ja salvestada kõiki faile. Failisüsteemid ei olnud mõnda aega nii põnevad, peamiseks põhjuseks on see, et jõudluse kitsaskoht tuli salvestusruumist.

Kuid kuna välgukiirused muutuvad eriti kiireks, eriti UFS-i kasutuselevõtuga, tuleb nüüd tarkvara uuendada, et välklambi jõudlusega sammu pidada. Failisüsteem ei mõjuta mitte ainult salvestuskiirust, vaid mängib olulist rolli ka telefoni jõudluse säilitamisel pikemas perspektiivis. Kui seda tehakse valesti, killustub salvestusruum – nähtus, mille puhul salvestusruumi ebaefektiivne kasutamine võib seadme jõudlust vähendada. Sellise võimaluse vähendamine miinimumini on failisüsteemi oluline omadus.

K: Mis on F2FS (praimer) ja miks see hakkas Androidi jõudma? Millised originaalseadmete tootjad juhtisid vastutust?

V: F2FS on avatud lähtekoodiga failisüsteem, mille põhitoon on mõeldud välkmäluarhitektuuri jaoks. NAND-salvestust (flash) kasutatakse kõigis praegustes Android-telefonides tavaliselt eMMC- või UFS-lahendustena. Projekti töötas algselt välja Samsung ja see on pälvinud suurt huvi mõne mobiili originaalseadmete tootjate seas. Meil pole andmeid, mille kohta originaalseadmete tootjad seda nihet alustasid. Kuid selle põhjal, mida ma isiklikult tean, oli Motorola esimene ning paljud teised originaalseadmete tootjad, nagu OnePlus ja Huawei, järgisid peagi seda nihet.

K: Milliseid eeliseid see andis? OEM-id nimetavad kiiremaid salvestustoiminguid ja kasutajaliidese jõudlust, kuid kas on ka muid eeliseid?

A: helikõrgus oli üsna lihtne, F2FS toob välkmälupõhisele salvestusele suurema jõudluse. Teie süsteem käivituks kiiremini (kiiremad lugemiskiirused), kirjutamiskiirused oleksid suuremad, võimaldades salvestada rasket 4K-d, suurema kaadrisagedusega aegluubis ja 360-kraadiseid videoid. Lisaks oleks süsteemi ja salvestusruumi vaheline latentsusaeg ülimadal, mis tähendab, et animatsioon ja rakenduste avamine tunduvad palju mugavamad.

K: Probleemid näivad olevat keskendunud jõudluse halvenemisele. Kas saaksite seda põhjalikumalt selgitada? Mis on põhjus?

V: F2FS-i idee oli tõepoolest suurepärane, et saavutada välkmäluseadmete jaoks võimalikult kiire jõudlus. Kuid oluline on keskenduda ka tulemuslikkusele pikemas perspektiivis. Riistvara saab alati kiiresti karbist välja võtta, kuid nende kiiruste pidev säilitamine on palju raskem väljakutse. Androidi puhul on seadme salvestusruum peaaegu täis ja mõnikord isegi sekundi jooksul toimub tuhandeid lugemis-kirjutustoiminguid. Paljud populaarsed rakendused käitavad teenuseid taustal, mis tähendab, et rakendus teeb mõningaid lugemis-/kirjutustoiminguid isegi siis, kui te seda ei ava. Kui seda tehakse valesti, võivad kirjutamistoimingud drastiliselt suurendada salvestusruumi killustumist, muutes iga järgmise lugemis-/kirjutustoimingu veelgi aeglasemaks.

Näeme Android-seadmete jõudluse halvenemise üheks põhjuseks salvestusruumi killustatust. Nüüd tuleb kindlaks teha, kas probleemid on põhjustatud riistvara ühilduvusest ja kuidas failisüsteem toimib salvestusruumi erinevatelt originaalseadmete tootjatelt või kas F2FS-i arhitektuur keskendub algkiirustele ja see mõjutab pikaajalist esitus. Probleeme võivad põhjustada ka vead, kuna failisüsteem on alles väljatöötamisel.

K: Kas on muid jõudluse või töökindlusega seotud probleeme, mis on vähem tuntud?

V: Üks huvitav asi, mille leidsime, on see, et F2FS-il on vahemällu salvestamiseks ja salvestusruumi hooldamiseks ootamatult ülekulu, vähemalt paarsada MB teie salvestusruumi. See on kindlasti mõttekas, kui teil on 64 GB või rohkem salvestusruumi, kuid 8 GB ja 16 GB ROM-i suurustega eelarvetelefonides võib see olla probleem.

Peamine järeldus on see, et praegune F2FS-i rakendus on suurepärane kirjutuskaitstud keskkondade jaoks, kui soovite saavutada suuremat kiirust. F2FS peab keskenduma oma pikaajalise salvestuse jõudluse parandamisele väikeste failidega suures suhtluses, kuna see juhtub Androidi keskkonnas.

See on teatud mõttes teooriate lahing. Võite ette kujutada, et riistvara jõudlus on nii kiire, et halvenemine pole probleem. Või vaatate asja vastupidiselt, kus riistvara on nii kiire, et peaks saavutama natuke aeglasema jõudluse, mida saab pikemas perspektiivis säilitada. F2FS valis esimese lähenemisviisi ja siin pole valesid valikuid, see on oluline eksperiment ja õppimiskõver kogu tööstuse jaoks. Sellegipoolest näeme praegu seda, et pikaajaline tulemuslikkus peaks olema praegu põhirõhk.

K: Mõned originaalseadmete tootjad on loobunud F2FS-i kasutamisest, samas kui teised, nagu Huawei, toetavad endiselt viimastel seadmetel F2FS-i. Kas teie arvates on suundumus mõlemas suunas? (Aeglane kasutuselevõtt või täielik loobumine)

V: On mitmeid stsenaariume, miks originaalseadmete tootjad jätkavad F2FS-i kasutamist.

  • OEM-il võib olla oma F2FS-i juurutus, mis toob teadaolevatele probleemidele mõned parandused.

  • OEM-il võivad olla väga head sidemed välkmäluseadme tootjaga, kuna tal on juurdepääs NAND-i FTL-kihile ja häälestamisele riistvaraga hästi töötav failisüsteem võib tuua olulisi täiustusi, sealhulgas välgu killustatuse osas ladustamine.

  • OEM võiks eelistada keskenduda telefoni esialgsele jõudlusele, kuna nutitelefoni keskmine eluiga on umbes 2 aastat ja kui telefon aeglustub, ostetakse juba uus.

  • OEM-il võib olla ka mõni defragmentimisteenus, mis võib F2FS-i probleeme osaliselt lahendada.

Need on mõned võimalikud stsenaariumid, kuid samal ajal näeme, et mõned originaalseadmete tootjad on seda juba teinud liikudes tagasi Ext4 kasutamise juurde, näiteks OnePlus 3T kasutas F2FS-i, kuid kõik uuemad OnePlusi mudelid kasutavad Ext4.

K: F2FS vajab praegu mõnda liikvel olevat defragmentimislahendust, mis võiks lahendada F2FS-iga praegu ilmneva probleemi.

V: Defragmentimise tööriistad on eksisteerinud mõnda aega, peamine eelis on see, et nad saavad mäluplokke ümber paigutada / ümber kirjutada, et vähendada salvestusruumi killustumist. Kuid selle lähenemisviisi probleem seisneb selles, et kirjutate välkmälurakud ümber, mis lühendab salvestusruumi eluiga. Parim stsenaarium oleks andmete arukas kirjutamine. Kahjutõrje tegemine ei ole parim lahendus.

Mõelge sellele nagu toas segaduse tekitamine, loopides palju asju ümber ja asudes neid siis sahtlitesse paigutama. Miks mitte seda kohe teha?

K: Kas originaalseadmete tootjatel on õnnestunud F2FS-i pidurdavaid probleeme võidelda või lahendada? Näiteks Huawei eirab halvendavat jõudlust ja reklaamib aja jooksul kiiremat kasutuskogemust, osaliselt tänu nende "AI-le".

V: Noh, kui tehisintellekt suudab salvestamise käitumist analüüsida ja failisüsteemi konkreetse välkmäluseadme jaoks ümber kirjutada, võib see tõenäoliselt killustatuse probleemi lahendada. AI saab ka analüüsida, milliseid rakendusi või funktsioone inimene enamasti kasutab, ning need eellaadida/salvestada vastavalt – telefoni funktsioonide muutmine mugavamaks, see ei lahendaks killustatuse probleemi kuigi. Minu peamine eeldus on, et enamik optimeerimisi on seotud kasutajaruumiga, mitte mõne süvatehnilise failisüsteemi optimeerimisega.

K: Milliseid muid põnevaid failisüsteemi arendusi peaksime teadma? Kuidas mõjutaksid need kasutajakogemust, isegi kui see on peen või madal?

V: F2FS ja Ext4 on endiselt väga olulised ning need on avatud lähtekoodiga failisüsteemid. Ext4 on küpsem ja töökindlam, kuid võib piirata välklambi jõudlust; F2FS on kiirem, kuid ka eksperimentaalsem. Kogu olukord, kus tarkvara muutub kitsaskohaks, teeb failisüsteemid taas põnevaks. Me liigume igal sekundil, iga millisekundi arvule, keskkonnad ja failisüsteemid mängivad selles jõudluse suurendamises olulist rolli. Failisüsteemide kõige põnevam arendus oleks luua tõeliselt välklampidele optimeeritud lahendus, mis suudab säilitada välgu jõudlust.

Tuxeras arendame Tuxera Flash failisüsteemi, kus teeme näiteks riistvaraspetsiifilist tarkvara optimeerimised, mis tagavad, et failisüsteem on optimeeritud konkreetse seadme, kasutusjuhtumi ja välgu jaoks mälu. Kuna oleme autotööstuses, keskendume peamiselt välkmälu pikaajalisele jõudlusele ja halvenemisele. See on rohkem riistvara x tarkvara tüüpi optimeerimine, millest Steve Jobs rääkis. Masinõppe rakendamine selliste "draiverite" loomiseks võib meie arvates olla kogu salvestustööstuse jaoks tõeliselt põnev.

K: Ka meie füüsiline välkmälu muutub aina kiiremaks. Kuidas teie arvates see asjaolu mõjutab nii lõppkasutaja kogemust kui ka failisüsteemide tulevikku?

V: Kuna riistvara muutub kiiremaks, peab tarkvara tagama, et suudab nende täiustatud riistvaraarhitektuuridega kursis olla. See on praegu failisüsteemide peamine väljakutse. Seadmel võivad olla uskumatud lugemis- ja kirjutamiskiiruse omadused, kuid kui tarkvarapakk lisab latentsusaega, ei tundu kasutajakogemus nii kiire. See on põnev aeg failisüsteemi arendamiseks, kuna mobiilseadmete jaoks on selge vajadus kiirema, kiirema ja samas töökindlama tehnoloogia järele.

Kuid kui välklamp muutub kiiremaks, tekib põhiküsimuseks, millise kiirusega muutub jõudlus ebaoluliseks? Mõelge sellele nagu Retina ekraani eraldusvõimele, kus suurem pikslitihedus ei muuda pilti inimsilma jaoks krõbedamaks.

K: Tänan teid aja eest.

V: Aitäh!