The Journey of F2FS og hvorfor filsystemer betyder noget: Interview med Stan Dmitriev fra Tuxera

XDA interviewer Stan Dmitriev fra Tuxera, et finsk firma, der har specialiseret sig i filsystemer. Stan diskuterer filsystemer og fremtiden for F2FS.

Filsystemer diskuteres ikke alt for ofte på XDA eller noget andet forum. Emnet involverer en masse udvikling på lavt niveau, så udviklere foretrækker at fokusere på applikationer, ROM'er eller kerner. Ikke desto mindre er filsystemet en vital del af enhver lagring. Det er teknologien, der beskriver, hvordan data i din enheds lager gemmes og hentes. Der er mange forskellige slags filsystemer - hver med deres egne fordele og ulemper - og at vælge hinanden frem for hinanden kan gøre en enorm forskel i stabilitet og ydeevne. Så hvordan træffer OEM'er det valg? Jeg havde fornøjelsen at tale med Stan Dimitriev, PR- og kommunikationschefen på Tuxera, et finsk firma, der leverer filsystemløsninger til mange store OEM'er.

Q: Kan du præsentere dig selv og Tuxera?

A: Jeg er Stan Dmitriev. Lige siden jeg fik min første Android-telefon (HTC EVO 3D), er jeg blevet en aktiv fan af XDA-fællesskabet. Lad os bare sige, at jeg har installeret en brugerdefineret ROM og annulleret min garanti på dag ét (
Stan. Dmitriev er forummedlem på XDA). For et par år siden var jeg med til at stifte et startup-projekt kaldet Corgi for Feedly, på det tidspunkt hjalp XDA-fællesskabet os meget med at definere og udvikle applikationen.

I øjeblikket er jeg PR & Communications Manager hos Tuxera, som er den førende embedded storage software, filsystemer for at være præcis, virksomhed på markedet. Vores software driver mere end én milliard enheder og kan findes i de nyeste flagskibstelefoner, biler, routere, droner og kameraer. Historien om virksomheden startede med NTFS-3G, da vores præsident og CTO Szabolcs “Szaka” Szakactics fik NTFS til at fungere med Linux-enheder. I øjeblikket udvikler vi vores egne filsystemer og implementeringer både til ekstern og indlejret lagring og samarbejder med de fleste bilfirmaer derude såvel som mange smartphone-virksomheder.

Her hos Tuxera besøger vi ret ofte XDA-fora, især når vi fejlfinder en muret enhed eller finder en tilpasset ROM/kerne at lege med. Mange af mine kolleger besøger ofte XDA for at læse om de seneste deep tech-nyheder omkring Android- og Linux-økosystemer.

Q: Filsystemer er en integreret del af vores enheder, men meget få mennesker kender til deres rolle, forbedringer, styrker og svagheder. Hvad er gaven ved det, og hvorfor skulle flere interessere sig for, at filsystemerne holder deres data sammen?

A: Filsystemer er et vigtigt element i Linux-kernen, der er ansvarlig for alle interaktioner mellem enheden og dens lager. Hver gang du tager et billede, åbner en app eller ser en video – spiller filsystemet en kernerolle for operativsystemet til at få adgang til og gemme alle filerne. Filsystemer var ikke så spændende i nogen tid, hovedårsagen er, at flaskehalsen i ydeevnen kom fra lageret.

Men da flashhastighederne bliver ekstremt hurtige, især med introduktionen af ​​UFS, er det nu softwaren, der skal moderniseres for at holde trit med flashens ydeevne. Ikke alene kan filsystemet påvirke lagringshastighederne, men det spiller også en vigtig rolle i at opretholde telefonens ydeevne i det lange løb. Hvis det gøres forkert, vil lagringen blive fragmenteret, et fænomen, hvor en ineffektiv brug af lagring kan reducere enhedens ydeevne. At reducere denne mulighed til et minimum er en vigtig egenskab ved et filsystem.

Q: Hvad er F2FS (primer), og hvorfor begyndte den at finde vej til Android? Hvilke OEM'er førte anklagen?

A: F2FS er et open source-filsystem, med den primære tonehøjde, at det er designet til flash-lagringsarkitektur. NAND-lagring (flash) bruges i alle de nuværende Android-telefoner, normalt som eMMC- eller UFS-løsninger. Projektet blev udviklet af Samsung oprindeligt og har fået stor interesse fra nogle af de mobile OEM'er. Vi har ikke de data, som OEM'er startede dette skift på. Men fra hvad jeg ved personligt, var Motorola den første, med mange andre OEM'er som OnePlus og Huawei, der fulgte dette skift om kort tid.

Q: Hvad var fordelene, det gav? OEM'er nævner hurtigere lageroperationer og brugergrænsefladeydelse, men er der andre fordele?

A: Den tonehøjde var ganske simpelt, F2FS bringer højere ydeevne til flash-baseret lagring. Dit system ville starte hurtigere (hurtigere læsehastigheder), skrivehastighederne ville være højere, hvilket gør det muligt at optage tunge 4K, højere billedhastigheder i slowmotion og 360-graders videoer. Derudover ville latensen mellem systemet og lageret være ultra-lav, hvilket betyder, at animations- og åbningsapps ville føles meget hurtigere.

Spørgsmål: Problemerne synes specifikt at dreje sig om forringende ydeevne. Kan du forklare det mere i dybden? Hvad er årsagen?

A: Ideen med F2FS var virkelig fantastisk, at opnå den hurtigst mulige ydeevne for flash-enheder. Men det er også vigtigt at fokusere på præstationen på længere sigt. Hardware kan altid være hurtigt ud af boksen, men at opretholde disse hastigheder kontinuerligt er en meget sværere udfordring. For en Android-brug er lageret på enheden næsten fuld det meste af tiden, og der er tusindvis af læse-skrive-operationer, der sker nogle gange endda på et sekund. Mange af de populære apps kører tjenester i baggrunden, det betyder, at appen udfører nogle læse-/skrivehandlinger, selv når du ikke åbner den. Hvis det gøres forkert, kan skriveoperationer øge fragmenteringen af ​​lageret drastisk, hvilket gør hver næste læse-/skriveoperation endnu langsommere.

Vi ser lagerfragmentering som en af ​​årsagerne til forringet ydeevne i Android-enheder. Hvad der nu skal bestemmes er, om problemerne er forårsaget af hardwarekompatibilitet, og hvordan filsystemet fungerer med opbevaring fra forskellige OEM'er, eller om F2FS-arkitekturen fokuserer på starthastigheder, og det påvirker det langsigtede ydeevne. Problemerne kan også være forårsaget af fejl, da filsystemet stadig er under udvikling.

Spørgsmål: Er der andre problemer med ydeevne eller pålidelighed, som er mindre kendte?

A: En interessant ting, vi fandt, er, at F2FS har en uventet overhead, mindst et par hundrede MB af dit lager til caching og lagervedligeholdelse. Dette giver helt sikkert mening, hvis du har 64 GB lagerplads eller mere, men på budgettelefoner med 8 GB, 16 GB ROM-størrelser kan dette være et problem.

Hovedfundet er, at den nuværende implementering af F2FS er fantastisk til skrivebeskyttede miljøer, når du ønsker at opnå højere hastigheder. F2FS skal fokusere på at forbedre sin langsigtede lagringsydelse i en høj interaktion med små filer, da det er det, der sker i Android-miljøet.

Dette er på en måde en teorikamp. Du kan enten forestille dig, at hardwareydelsen er så hurtig, at nedbrydningen ikke vil være et problem. Eller man ser på det modsatte, hvor hardwaren er så hurtig, at det at have en lidt langsommere ydeevne, der kan opretholdes i det lange løb, er det, der skal opnås. F2FS valgte den første tilgang, og der er ingen forkerte muligheder her, det er et vigtigt eksperiment at lave, og en læringskurve for hele branchen. Når det er sagt, er det, vi ser i øjeblikket, at langsigtet præstation bør være hovedfokus lige nu.

Spørgsmål: Nogle OEM'er har trukket deres brug af F2FS tilbage, mens andre som Huawei stadig understøtter F2FS på de seneste enheder. Tror du, der er en tendens på begge måder? (Langsom adoption eller fuldstændig opgivelse)

A: Der er flere scenarier, hvorfor OEM'er ville fortsætte med at bruge F2FS.

  • En OEM kunne have deres egen implementering af F2FS, som bringer nogle rettelser til de kendte problemer.

  • En OEM kunne have meget gode bånd med flash-lagringsproducenten, da han har adgang til FTL-laget af NAND og tuning filsystemet til at fungere godt med hardwaren kan bringe betydelige forbedringer, herunder til fragmentering af flash opbevaring.

  • En OEM kunne foretrække at fokusere på telefonens første ydeevne, da den gennemsnitlige levetid for en smartphone er omkring 2 år, og da telefonen bliver langsom, vil de allerede købe en ny.

  • En OEM kunne også have en defragmenteringstjeneste kørende, dette kan delvist løse problemerne med F2FS.

Dette er nogle af de mulige scenarier, på samme tid ser vi, at nogle OEM'er allerede er det flytte tilbage til at bruge Ext4, for eksempel brugte OnePlus 3T F2FS, men alle de nyere OnePlus-modeller bruger Ext4.

Spørgsmål: F2FS har i øjeblikket brug for en defragmenteringsløsning, der er på farten, som kunne løse det problem, der i øjeblikket dukker op med F2FS.

A: Defragmenteringsværktøjer har eksisteret i nogen tid, den største fordel er, at de kan omallokere/omskrive hukommelsesblokkene for at reducere lagerfragmenteringen. Men problemet med denne tilgang er, at du omskriver flashhukommelsescellerne, hvilket reducerer lagerets levetid. Det bedste scenario ville være at skrive data intelligent i første omgang. At lave skadeskontrol er ikke den rigtige løsning.

Tænk på det som at lave rod i et rum ved at smide en masse ting rundt og så begynde at arrangere dem i skufferne. Hvorfor ikke gøre det med det samme?

Q: Har OEM'er formået at modvirke eller løse nogle af de problemer, der holder F2FS tilbage? For eksempel afviser Huawei nedværdigende ydeevne og annoncerer for en hurtigere UX over tid, delvist takket være deres "AI".

A: Hvis en AI kan analysere lageradfærden og omskrive filsystemet til at fungere for en specifik flash-enhed, kan dette sandsynligvis løse problemerne med fragmentering. AI'en kan også analysere, hvilke apps eller funktioner personen bruger mest, og forudindlæse / gemme dem i overensstemmelse hermed - at få telefonfunktionerne til at føles hurtigere, det ville ikke løse problemet med fragmentering selvom. Min hovedantagelse er, at de fleste af optimeringerne er relateret til brugerplads, og ikke nogle dybe teknologiske filsystemoptimeringer.

Q: Hvad er nogle andre spændende filsystemudviklinger, som vi bør være opmærksomme på? Hvordan ville de påvirke brugeroplevelsen, selvom det er på et subtilt eller lavt niveau?

A: F2FS og Ext4 er stadig meget vigtige og er de bedste filsystemer til open source. Ext4 er mere modent og pålideligt, men kan muligvis begrænse flashens ydeevne; F2FS er hurtigere, men også mere eksperimenterende. Hele situationen, hvor software bliver flaskehalsen, er det, der gør filsystemer spændende igen. Vi bevæger os fra hvert sekund, til hvert millisekund tæller miljøer og filsystemer vil spille en vigtig rolle i dette præstationsboost. Den mest spændende udvikling for filsystemer ville være at skabe en virkelig flash-optimeret løsning, der kan opretholde flash-ydelsen.

Hos Tuxera udvikler vi Tuxera Flash File System, hvor vi laver ting som hardware-specifik software optimeringer, der sikrer, at filsystemet er optimeret til en specifik enhed, use case og flash hukommelse. Med en tilstedeværelse i bilindustrien fokuserer vi hovedsageligt på den langsigtede ydeevne og nedbrydning af flashhukommelsen. Dette er mere optimering af hardware x software, som Steve Jobs plejede at tale om. At anvende Machine Learning til at skabe sådanne "drivere" er noget, som vi synes kunne være rigtig spændende for hele storageindustrien.

Spørgsmål: Vores fysiske flash-lagring bliver også ved med at blive hurtigere. Hvordan ser du, at dette faktum påvirker både slutbrugeroplevelsen og fremtiden for filsystemer?

A: Efterhånden som hardware bliver hurtigere, skal software sikre, at den kan holde op til disse avancerede hardwarearkitekturer, dette er den største udfordring for filsystemer at løse i øjeblikket. Du kan have utrolige læse- og skrivehastighedskarakteristika for enheden, men hvis softwarestakken giver ekstra latens - vil brugeroplevelsen ikke føles så hurtig. Dette er en spændende tid for filsystemudvikling, da der er et klart behov for en hurtigere, hurtigere og endnu mere pålidelig teknologi til mobil.

Men som flash bliver hurtigere, bliver hovedspørgsmålet, hvad er den hastighed, hvormed ydeevne bliver irrelevant? Tænk på det som Retina-skærmopløsningen, hvor en højere Pixel Density ikke rigtig gør billedet mere sprødt for det menneskelige øje.

Q: Tak for din tid.

A: Tak!