Putovanje F2FS-a i zašto su datotečni sustavi važni: Intervju sa Stanom Dmitrievom iz Tuxere

XDA intervjuira Stana Dmitrieva iz Tuxere, finske tvrtke specijalizirane za datotečne sustave. Stan raspravlja o datotečnim sustavima i budućnosti F2FS-a.

O sustavima datoteka ne raspravlja se prečesto na XDA ili bilo kojem drugom forumu. Tema uključuje puno razvoja niske razine, tako da se programeri radije fokusiraju na aplikacije, ROM-ove ili kernele. Ipak, datotečni sustav vitalni je dio svake pohrane. To je tehnologija koja opisuje kako se podaci u pohrani vašeg uređaja pohranjuju i dohvaćaju. Postoji mnogo različitih vrsta datotečnih sustava—svaki sa svojim prednostima i nedostacima—a odabir jednog nad drugim može napraviti veliku razliku u stabilnosti i performansama. Dakle, kako proizvođači originalne opreme donose taj izbor? Bilo mi je zadovoljstvo razgovarati s Stan Dimitrijev, PR & Communication Manager u Tuxera, finska tvrtka koja nudi rješenja za datotečne sustave mnogim velikim proizvođačima originalne opreme.

P: Možete li predstaviti sebe i Tuxera?

O: Ja sam Stan Dmitriev. Otkako sam dobio svoj prvi Android telefon (HTC EVO 3D), postao sam aktivni obožavatelj XDA zajednice. Recimo samo da sam instalirao prilagođeni ROM i poništio svoje jamstvo prvog dana (
Stan. Dmitrijev je član foruma na XDA). Prije par godina suosnivao sam startup projekt pod nazivom Corgi for Feedly, tada nam je XDA zajednica puno pomogla u definiranju i razvoju aplikacije.

Trenutačno sam PR & Communications Manager u Tuxeri, koja je vodeća kompanija na tržištu softvera za ugrađenu pohranu, točnije sustava datoteka. Naš softver pokreće više od milijardu uređaja i može se pronaći u najnovijim vodećim telefonima, automobilima, ruterima, dronovima i kamerama. Priča o tvrtki započela je s NTFS-3G, kada je naš predsjednik i tehnički direktor Szabolcs “Szaka” Szakactics napravio NTFS za rad s Linux uređajima. Trenutačno razvijamo vlastite datotečne sustave i implementacije za vanjsku i ugrađenu pohranu i surađujemo s većinom automobilskih tvrtki, kao i s mnogim tvrtkama za pametne telefone.

Ovdje u Tuxeri prilično često posjećujemo XDA forume, posebno kada rješavamo probleme s začepljenim uređajem ili pronalazimo prilagođeni ROM/kernel za igru. Mnogi moji kolege često posjećuju XDA kako bi pročitali najnovije vijesti o dubokoj tehnologiji oko Android i Linux ekosustava.

P: Datotečni sustavi sastavni su dio naših uređaja, ali vrlo malo ljudi zna za njihovu ulogu, poboljšanja, snage i slabosti. Koji je dar toga i zašto bi se više ljudi trebalo zanimati za datotečne sustave koji drže zajedno svoje podatke?

O: Datotečni sustavi vitalni su element Linux kernela koji je odgovoran za sve interakcije između uređaja i njegove pohrane. Svaki put kada snimite sliku, otvorite aplikaciju ili pogledate video - datotečni sustav igra ključnu ulogu za OS da pristupi i pohrani sve datoteke. Datotečni sustavi neko vrijeme nisu bili tako uzbudljivi, glavni razlog je to što je usko grlo u performansama dolazilo iz pohrane.

Ali kako brzine bljeskalice postaju iznimno velike, osobito s uvođenjem UFS-a, sada je softver taj koji treba modernizirati kako bi održao korak s performansama bljeskalice. Ne samo da datotečni sustav može utjecati na brzine pohrane, već također igra važnu ulogu u dugoročnom održavanju performansi telefona. Ako se učini pogrešno, pohrana će postati fragmentirana, što je fenomen u kojem neučinkovita upotreba pohrane može smanjiti performanse uređaja. Svođenje takve mogućnosti na minimum važna je karakteristika datotečnog sustava.

P: Što je F2FS (primer) i zašto je krenuo na Android? Koji su proizvođači originalne opreme bili glavni?

O: F2FS je datotečni sustav otvorenog koda, s glavnom namjerom da je dizajniran za arhitekturu flash pohrane. NAND pohrana (flash) koristi se u svim trenutnim Android telefonima obično kao eMMC ili UFS rješenja. Projekt je u početku razvio Samsung i zadobio je veliko zanimanje nekih mobilnih OEM-a. Nemamo podatke o tome koji su proizvođači originalne opreme započeli ovu promjenu. Ali koliko ja osobno znam, Motorola je bila prva, a mnogi drugi proizvođači originalne opreme poput OnePlusa i Huaweija ubrzo su slijedili ovu promjenu.

P: Koje su prednosti pružao? OEM-ovi navode brže operacije pohrane i performanse korisničkog sučelja, ali postoje li još neke prednosti?

O: The nagib bilo prilično jednostavno, F2FS donosi bolje performanse za pohranu temeljenu na flash memoriji. Vaš bi se sustav brže pokrenuo (brže brzine čitanja), brzine pisanja bile bi veće, što bi omogućilo snimanje teških 4K, usporenih videozapisa veće brzine kadrova i 360 stupnjeva. Dodatno, latencija između sustava i pohrane bila bi ultra niska, što znači da bi se animacija i otvaranje aplikacija činilo mnogo bržim.

P: Čini se da su problemi usredotočeni na degradirajuću izvedbu. Možete li to dublje objasniti? Što je uzrok?

O: Ideja F2FS-a je bila doista sjajna, postići najbrže moguće performanse za flash uređaje. Ali također je važno usredotočiti se na dugoročnu izvedbu. Hardver uvijek može biti brz izvan kutije, ali kontinuirano održavanje tih brzina mnogo je teži izazov. Za slučaj upotrebe Androida, pohrana uređaja gotovo je puna većinu vremena, a postoje tisuće operacija čitanja i pisanja koje se ponekad događaju čak i u sekundi. Mnoge popularne aplikacije pokreću usluge u pozadini, što znači da aplikacija obavlja neke operacije čitanja/pisanja čak i kada je ne otvorite. Ako se izvrše pogrešno, operacije pisanja mogu drastično povećati fragmentaciju pohrane, čineći svaku sljedeću operaciju čitanja/pisanja još sporijom.

Fragmentaciju pohrane vidimo kao jedan od uzroka slabljenja performansi Android uređaja. Ono što sada treba utvrditi jest jesu li problemi uzrokovani kompatibilnošću hardvera i kako funkcionira datotečni sustav pohranu od raznih OEM-ova ili fokusira li se F2FS arhitektura na početne brzine, a to dugoročno utječe na izvođenje. Problemi također mogu biti uzrokovani greškama, jer je datotečni sustav još uvijek u razvoju.

P: Postoje li neki drugi problemi s performansama ili pouzdanošću koji su manje poznati?

O: Jedna zanimljiva stvar koju smo otkrili je da F2FS ima neočekivano opterećenje, barem nekoliko stotina MB vaše pohrane za predmemoriju i održavanje pohrane. Ovo definitivno ima smisla ako imate 64 GB prostora za pohranu ili više, ali na jeftinim telefonima s veličinama ROM-a od 8 GB, 16 GB, to bi mogao biti problem.

Glavno otkriće je da je trenutna implementacija F2FS-a izvrsna za okruženja samo za čitanje kada želite postići veće brzine. F2FS se treba usredotočiti na poboljšanje svoje dugoročne izvedbe pohrane u visokoj interakciji s malim datotekama, jer se to događa u Android okruženju.

Ovo je u neku ruku borba teorija. Možete zamisliti da je izvedba hardvera tako brza da degradacija neće biti problem. Ili na to gledate suprotno, gdje je hardver toliko brz da bi trebalo postići malo sporije performanse koje se mogu dugoročno održati. F2FS je odabrao prvi pristup i ovdje nema pogrešnih opcija, to je važan eksperiment koji treba napraviti i krivulja učenja za cijelu industriju. Uz to, ono što trenutno vidimo je da bi dugoročni učinak trebao biti glavni fokus upravo sada.

P: Neki proizvođači originalne opreme odustali su od upotrebe F2FS-a, dok drugi poput Huaweia i dalje podržavaju F2FS na novijim uređajima. Mislite li da postoji trend u svakom slučaju? (Sporo usvajanje ili potpuno napuštanje)

O: Postoji više scenarija zašto bi OEM-ovi nastavili koristiti F2FS.

  • OEM bi mogao imati vlastitu implementaciju F2FS-a, koja donosi neke popravke poznatih problema.

  • OEM bi mogao imati vrlo dobre veze s proizvođačem flash memorije, budući da ima pristup FTL sloju NAND-a i podešavanju sustav datoteka za dobar rad s hardverom može donijeti značajna poboljšanja, uključujući fragmentaciju flasha skladištenje.

  • OEM bi se radije mogao usredotočiti na početne performanse telefona, budući da je prosječni životni ciklus pametnog telefona oko 2 godine, a kako telefon postaje sporiji, oni će već kupovati novi.

  • OEM također može pokrenuti neku uslugu defragmentacije, što može djelomično riješiti probleme F2FS-a.

Ovo su neki od mogućih scenarija, au isto vrijeme vidimo da neki OEM-i već jesu povratak na korištenje Ext4, na primjer OnePlus 3T je koristio F2FS, ali svi noviji modeli OnePlus koriste Ext4.

P: F2FS trenutno treba neko rješenje za defragmentaciju u pokretu, koje bi moglo riješiti problem koji se trenutno pojavljuje s F2FS.

O: Alati za defragmentaciju postoje već neko vrijeme, glavna prednost je što mogu preraspodijeliti/prepisati memorijske blokove kako bi se smanjila fragmentacija pohrane. Ali problem s ovim pristupom je taj što ponovno pišete ćelije flash memorije, što smanjuje životni vijek pohrane. Najbolji scenarij bio bi da se podaci u prvom redu zapisuju inteligentno. Kontrola štete nije pravo rješenje.

Zamislite to kao da napravite nered u sobi tako što ćete nabacati puno stvari na sve strane, a zatim ih početi slagati u ladice. Zašto to ne učiniti odmah?

P: Jesu li OEM-i uspjeli djelovati protiv ili riješiti neke od problema koji koče F2FS? Na primjer, Huawei odbacuje degradirajuće performanse i reklamira brži UX tijekom vremena, dijelom zahvaljujući njihovoj "AI".

O: Pa ako umjetna inteligencija može analizirati ponašanje pohrane i prepisati datotečni sustav da radi za određeni flash uređaj, to vjerojatno može riješiti probleme fragmentacije. AI također može analizirati koje aplikacije ili značajke osoba najčešće koristi i unaprijed ih učitati/pohraniti u skladu s tim – čineći telefonske značajke bržim, to ne bi riješilo problem fragmentacije iako. Moja je glavna pretpostavka da je većina optimizacija povezana s korisničkim prostorom, a ne s nekim dubokim tehnološkim optimizacijama datotečnog sustava.

P: Koji su još neki uzbudljivi razvoji sustava datoteka kojih bismo trebali biti svjesni? Kako bi utjecali na korisničko iskustvo, čak i na suptilnoj ili niskoj razini?

O: F2FS i Ext4 su još uvijek vrlo vitalni i glavni su datotečni sustavi za otvoreni kod. Ext4 je zreliji i pouzdaniji, ali može ograničiti performanse bljeskalice; F2FS je brži, ali i eksperimentalniji. Cijela situacija u kojoj softver postaje usko grlo ono je što sustave datoteka čini ponovno uzbudljivima. Prelazimo s okruženja koja računaju svaku sekundu na svaku milisekundu, a datotečni sustavi igrat će važnu ulogu u ovom poboljšanju performansi. Najuzbudljiviji razvoj za datotečne sustave bio bi stvoriti istinski optimizirano rješenje za flash koje može održati performanse flasha.

U Tuxeri razvijamo Tuxera Flash File System, gdje radimo stvari kao što je softver specifičan za hardver optimizacije koje osiguravaju da je datotečni sustav optimiziran za određeni uređaj, slučaj upotrebe i flash memorija. Budući da smo prisutni u automobilskoj industriji, uglavnom smo usredotočeni na dugoročne performanse i degradaciju flash memorije. Ovo je više vrsta optimizacije hardver x softver, o kojoj je govorio Steve Jobs. Primjena strojnog učenja za stvaranje takvih "pokretača" nešto je što mislimo da bi moglo biti stvarno uzbudljivo za cijelu industriju pohrane podataka.

P: Naša fizička flash memorija također postaje sve brža, kako vidite da ova činjenica utječe i na iskustvo krajnjeg korisnika i na budućnost datotečnih sustava?

O: Kako hardver postaje brži, softver treba osigurati da može držati korak s ovim naprednim hardverskim arhitekturama, a to je trenutno glavni izazov za datotečne sustave. Možete imati nevjerojatne karakteristike brzine čitanja i pisanja uređaja, ali ako softverski skup donosi dodatnu latenciju - korisničko iskustvo neće biti tako brzo. Ovo je uzbudljivo vrijeme za razvoj datotečnog sustava, budući da postoji jasna potreba za bržom, bržem, a opet pouzdanijom tehnologijom za mobilne uređaje.

Ali kako flash postaje brži, glavno pitanje postaje, koja je brzina pri kojoj izvedba postaje nebitna? Razmišljajte o tome kao o rezoluciji Retina zaslona, ​​gdje veća gustoća piksela zapravo ne čini sliku oštrijom za ljudsko oko.

P: Hvala vam na vašem vremenu.

O: Hvala!