XDA vedie rozhovor so Stanom Dmitrievom z Tuxera, fínskej spoločnosti, ktorá sa špecializuje na súborové systémy. Stan diskutuje o súborových systémoch a budúcnosti F2FS.
O súborových systémoch sa na XDA alebo inom fóre príliš často nehovorí. Táto téma zahŕňa veľa nízkoúrovňového vývoja, takže vývojári sa radšej zameriavajú na aplikácie, ROM alebo jadrá. Napriek tomu je súborový systém dôležitou súčasťou každého úložiska. Je to technológia, ktorá popisuje, ako sa ukladajú a získavajú údaje v úložisku vášho zariadenia. Existuje mnoho rôznych druhov súborových systémov – každý má svoje klady a zápory – a výber jedného pred druhým môže znamenať obrovský rozdiel v stabilite a výkone. Ako sa teda výrobcovia OEM rozhodnú? Mal som tú česť hovoriť s Stan Dimitriev, PR & Communications Manager v Tuxera, fínska spoločnosť, ktorá poskytuje riešenia súborového systému mnohým veľkým výrobcom OEM.
O: Môžeš predstaviť seba a Tuxera?
A: Som Stan Dmitriev. Odkedy som dostal svoj prvý telefón s Androidom (HTC EVO 3D), stal som sa aktívnym fanúšikom komunity XDA. Povedzme, že som si nainštaloval vlastnú ROM a zrušil som svoju záruku v prvý deň ( Stan. Dmitriev je členom fóra na XDA). Pred pár rokmi som spoluzakladal startupový projekt Corgi for Feedly, vtedy nám s definovaním a vývojom aplikácie veľmi pomohla XDA komunita.
V súčasnosti som PR & Communications Manager v Tuxera, čo je popredná spoločnosť na trhu so vstavaným úložným softvérom, presnejšie súborovými systémami. Náš softvér poháňa viac ako jednu miliardu zariadení a možno ho nájsť v najnovších vlajkových telefónoch, autách, smerovačoch, dronoch a fotoaparátoch. Príbeh spoločnosti sa začal NTFS-3G, keď náš prezident a CTO Szabolcs „Szaka“ Szakactics vyrobili NTFS na prácu so zariadeniami Linux. V súčasnosti vyvíjame naše vlastné súborové systémy a implementácie pre externé aj vstavané úložiská a spolupracujeme s väčšinou automobilových spoločností, ako aj s mnohými spoločnosťami zaoberajúcimi sa smartfónmi.
Tu v Tuxera pomerne často navštevujeme XDA fóra, najmä pri riešení problémov so zamurovaným zariadením alebo hľadaním vlastnej ROM/jadra na hranie. Mnohí z mojich kolegov často navštevujú XDA, aby si prečítali o najnovších hlbokých technologických novinkách týkajúcich sa ekosystémov Android a Linux.
Otázka: Súborové systémy sú neoddeliteľnou súčasťou našich zariadení, ale len veľmi málo ľudí vie o ich úlohe, vylepšeniach, silných a slabých stránkach. Aký to má dar a prečo by sa malo viac ľudí zaujímať o súborové systémy, ktoré držia ich údaje pohromade?
Odpoveď: Súborové systémy sú životne dôležitým prvkom jadra Linuxu, ktorý je zodpovedný za všetky interakcie medzi zariadením a jeho úložiskom. Zakaždým, keď nasnímate obrázok, otvoríte aplikáciu alebo pozriete video – systém súborov hrá kľúčovú úlohu pre operačný systém pri prístupe a ukladaní všetkých súborov. Súborové systémy už nejaký čas neboli také vzrušujúce, hlavným dôvodom je, že prekážka vo výkone pochádzala z úložiska.
Ale keďže rýchlosti blesku sú extrémne vysoké, najmä so zavedením UFS, je to teraz softvér, ktorý treba modernizovať, aby držal krok s výkonom blesku. Súborový systém môže ovplyvniť nielen rýchlosť úložiska, ale tiež zohráva dôležitú úlohu pri udržiavaní výkonu telefónu z dlhodobého hľadiska. Ak sa to urobí nesprávne, úložisko sa roztriešti, čo je jav, pri ktorom neefektívne využitie úložiska môže znížiť výkon zariadenia. Zníženie takejto možnosti na minimum je dôležitou vlastnosťou súborového systému.
Otázka: Čo je F2FS (primer) a prečo sa začal dostávať do systému Android? Ktorí výrobcovia OEM viedli útok?
Odpoveď: F2FS je súborový systém s otvoreným zdrojovým kódom, ktorého hlavnou devízou je, že je určený pre architektúru flash úložiska. Úložisko NAND (flash) sa používa vo všetkých súčasných telefónoch s Androidom zvyčajne ako riešenia eMMC alebo UFS. Projekt pôvodne vyvinula spoločnosť Samsung a získal veľký záujem niektorých výrobcov mobilných zariadení. Nemáme údaje o tom, ktorí OEM začali túto zmenu. Ale z toho, čo osobne viem, bola Motorola prvá, pričom tento posun čoskoro nasledovalo mnoho ďalších OEM výrobcov ako OnePlus a Huawei.
Otázka: Aké boli výhody? Výrobcovia OEM uvádzajú rýchlejšie operácie úložiska a výkon používateľského rozhrania, ale existujú nejaké ďalšie výhody?
A: The ihrisko bolo celkom jednoduché, F2FS prináša vyšší výkon do flashového úložiska. Váš systém by sa spustil rýchlejšie (vyššia rýchlosť čítania), rýchlosť zápisu by bola vyššia, čo by umožnilo nahrávať ťažké 4K, spomalené videá s vyššou snímkovou frekvenciou a 360-stupňové videá. Navyše, latencia medzi systémom a úložiskom by bola veľmi nízka, čo znamená, že animácia a otváranie aplikácií by bolo oveľa rýchlejšie.
Otázka: Konkrétne sa zdá, že problémy sa sústreďujú okolo zhoršujúceho sa výkonu. Mohli by ste to vysvetliť podrobnejšie? Čo je príčinou?
Odpoveď: Myšlienka F2FS bola skutočne skvelá, dosiahnuť čo najrýchlejší výkon pre flash zariadenia. Dôležité je však zamerať sa aj na výkon z dlhodobého hľadiska. Hardvér môže byť vždy rýchly hneď po vybalení, ale nepretržité udržiavanie týchto rýchlostí je oveľa náročnejšia výzva. V prípade použitia systému Android je úložisko zariadenia väčšinu času takmer plné a niekedy dokonca za sekundu prebiehajú tisíce operácií čítania a zápisu. Mnohé z populárnych aplikácií spúšťajú služby na pozadí, čo znamená, že aplikácia vykonáva určité operácie čítania a zápisu, aj keď ju neotvoríte. Ak sa vykoná nesprávne, operácie zápisu môžu drasticky zvýšiť fragmentáciu úložiska, čím sa každá ďalšia operácia čítania/zápisu ešte spomalí.
Fragmentáciu úložiska vidíme ako jednu z príčin zníženia výkonu v zariadeniach so systémom Android. Teraz je potrebné určiť, či sú problémy spôsobené kompatibilitou hardvéru a ako funguje súborový systém úložisko od rôznych výrobcov OEM, alebo či sa architektúra F2FS zameriava na počiatočné rýchlosti, a to ovplyvňuje z dlhodobého hľadiska výkon. Problémy môžu byť spôsobené aj chybami, keďže súborový systém je stále vo vývoji.
Otázka: Existujú nejaké ďalšie problémy s výkonom alebo spoľahlivosťou, ktoré sú menej známe?
Odpoveď: Jedna zaujímavá vec, ktorú sme zistili, je, že F2FS má neočakávanú réžiu, aspoň niekoľko stoviek MB vášho úložiska na ukladanie do vyrovnávacej pamäte a údržbu úložiska. To rozhodne dáva zmysel, ak máte 64 GB alebo viac úložného priestoru, ale na lacných telefónoch s veľkosťou 8 GB, 16 GB ROM to môže byť problém.
Hlavným zistením je, že súčasná implementácia F2FS je skvelá pre prostredia určené len na čítanie, keď chcete dosiahnuť vyššiu rýchlosť. F2FS sa musí zamerať na zlepšenie svojho dlhodobého úložného výkonu pri vysokej interakcii s malými súbormi, pretože to sa deje v prostredí Androidu.
Toto je v istom zmysle súboj teórií. Môžete si predstaviť, že výkon hardvéru je taký rýchly, že degradácia nebude problémom. Alebo sa na to pozeráte opačne, kde je hardvér taký rýchly, že by sa malo dosiahnuť o niečo pomalší výkon, ktorý sa dá dlhodobo udržať. F2FS zvolilo prvý prístup a neexistujú tu žiadne nesprávne možnosti, je to dôležitý experiment, ktorý treba urobiť, a krivka učenia pre celé odvetvie. Ako už bolo povedané, v súčasnosti vidíme, že dlhodobý výkon by sa mal práve teraz sústrediť.
Otázka: Niektorí výrobcovia OEM upustili od používania F2FS, zatiaľ čo iní ako Huawei stále podporujú F2FS na najnovších zariadeniach. Myslíte si, že existuje trend v oboch smeroch? (Pomalá adopcia alebo úplné opustenie)
Odpoveď: Existuje viacero scenárov, prečo by výrobcovia OEM naďalej používali F2FS.
OEM by mohol mať vlastnú implementáciu F2FS, ktorá prináša niektoré opravy známych problémov.
OEM by mohol mať veľmi dobré vzťahy s výrobcom flash úložiska, pretože má prístup k FTL vrstve NAND a ladeniu Aby súborový systém dobre spolupracoval s hardvérom, môže priniesť významné vylepšenia, vrátane fragmentácie flashu skladovanie.
OEM by sa mohol radšej zamerať na počiatočný výkon telefónu, pretože priemerný životný cyklus smartfónu je približne 2 roky a keď sa telefón spomalí, už si bude kupovať nový.
OEM môže mať spustenú aj nejakú službu defragmentácie, čo môže čiastočne vyriešiť problémy F2FS.
Toto sú niektoré z možných scenárov a zároveň vidíme, že niektorí výrobcovia OEM už existujú prechod späť k používaniu Ext4, napríklad OnePlus 3T používal F2FS, ale všetky novšie modely OnePlus používajú Ext4.
Otázka: F2FS momentálne potrebuje nejaké priebežné riešenie defragmentácie, ktoré by mohlo vyriešiť problém, ktorý sa v súčasnosti objavuje pri F2FS.
A: Defragmentačné nástroje existujú už nejaký čas, hlavnou výhodou je, že dokážu prerozdeliť/prepísať pamäťové bloky, aby sa znížila fragmentácia úložiska. Problém s týmto prístupom je však v tom, že prepisujete bunky flash pamäte, čo znižuje životnosť úložiska. Najlepším scenárom by bolo v prvom rade zapisovať dáta inteligentne. Kontrola poškodenia nie je najsprávnejším riešením.
Predstavte si to ako urobiť neporiadok v miestnosti tým, že porozhodíte veľa vecí a potom ich začnete ukladať do zásuviek. Prečo to neurobiť hneď?
Otázka: Podarilo sa výrobcom OEM čeliť niektorým problémom, ktoré brzdia F2FS, alebo ich vyriešiť? Napríklad Huawei odmieta ponižujúci výkon a v priebehu času inzeruje rýchlejšie UX, čiastočne vďaka ich „AI“.
Odpoveď: Ak AI dokáže analyzovať správanie úložiska a prepísať súborový systém tak, aby fungoval pre konkrétne flash zariadenie, pravdepodobne to môže vyriešiť problémy s fragmentáciou. Umelá inteligencia môže tiež analyzovať, ktoré aplikácie alebo funkcie daná osoba väčšinou používa, a vopred ich načítať/uložiť v súlade s tým – vďaka tomu, že funkcie telefónu budú vyzerať svižnejšie, problém fragmentácie by sa tým nevyriešil predsa. Môj hlavný predpoklad je, že väčšina optimalizácií súvisí s užívateľským priestorom a nie s nejakými hĺbkovými optimalizáciami súborového systému.
Otázka: Aké sú niektoré ďalšie vzrušujúce zmeny v systéme súborov, o ktorých by sme mali vedieť? Ako by ovplyvnili používateľskú skúsenosť, aj keď na jemnej alebo nízkej úrovni?
Odpoveď: F2FS a Ext4 sú stále veľmi dôležité a sú obľúbenými súborovými systémami pre open source. Ext4 je vyspelejší a spoľahlivejší, ale môže obmedziť výkon blesku; F2FS je svižnejšie, ale aj experimentálnejšie. Celá situácia, keď sa softvér stáva prekážkou, je to, čo robí súborové systémy opäť vzrušujúcim. Prechádzame od počítadla každej sekundy na každú milisekundu. Pri tomto zvýšení výkonu budú hrať dôležitú úlohu prostredia a súborové systémy. Najzaujímavejším vývojom pre súborové systémy by bolo vytvoriť skutočne flash optimalizované riešenie, ktoré dokáže zachovať výkon flashu.
V Tuxera vyvíjame Tuxera Flash File System, kde robíme veci ako hardvér špecifický softvér optimalizácie zabezpečujúce, že súborový systém je optimalizovaný pre konkrétne zariadenie, prípad použitia a flash Pamäť. Keďže pôsobíme v automobilovom priemysle, zameriavame sa hlavne na dlhodobý výkon a degradáciu flash pamäte. Ide skôr o optimalizáciu typu hardvér x softvér, o ktorej hovoril Steve Jobs. Aplikovanie strojového učenia na vytvorenie takýchto „ovládačov“ je niečo, čo by podľa nás mohlo byť skutočne vzrušujúce pre celé odvetvie skladovania.
Otázka: Aj naše fyzické flashové úložisko je stále rýchlejšie. Ako vnímate túto skutočnosť, ktorá ovplyvňuje skúsenosti koncových používateľov a budúcnosť súborových systémov?
Odpoveď: Keďže sa hardvér zrýchľuje, softvér musí zabezpečiť, aby dokázal držať krok s týmito pokročilými hardvérovými architektúrami, čo je v súčasnosti hlavná výzva, ktorú musia súborové systémy vyriešiť. Môžete mať neuveriteľné charakteristiky rýchlosti čítania a zápisu zariadenia, ale ak softvérový balík prinesie pridanú latenciu – používateľský zážitok nebude taký svižný. Toto je vzrušujúca doba pre vývoj súborového systému, pretože existuje jasná potreba rýchlejšej, rýchlejšej a predsa spoľahlivejšej technológie pre mobilné zariadenia.
Ale ako sa blesk zrýchľuje, hlavnou otázkou sa stáva, aká je rýchlosť, pri ktorej sa výkon stáva irelevantným? Predstavte si to ako rozlíšenie obrazovky Retina, kde vyššia hustota pixelov v skutočnosti nerobí obraz pre ľudské oko ostrejším.
Otázka: Ďakujem za váš čas.
A: Ďakujem!