Cesta F2FS a proč na souborových systémech záleží: Rozhovor se Stanem Dmitrievem z Tuxery

click fraud protection

XDA vyzpovídá Stana Dmitrieva z Tuxery, finské společnosti, která se specializuje na souborové systémy. Stan diskutuje o souborových systémech a budoucnosti F2FS.

O souborových systémech se na XDA ani na jiném fóru příliš často nediskutuje. Toto téma zahrnuje hodně nízkoúrovňového vývoje, takže vývojáři se raději zaměřují na aplikace, ROM nebo jádra. Přesto je souborový systém důležitou součástí každého úložiště. Je to technologie, která popisuje, jak jsou data v úložišti vašeho zařízení ukládána a získávána. Existuje mnoho různých druhů souborových systémů – každý má své klady a zápory – a výběr jednoho před druhým může mít obrovský rozdíl ve stabilitě a výkonu. Jak se tedy OEM rozhodnou? Měl jsem to potěšení s ním mluvit Stan Dimitriev, PR & Communications Manager ve společnosti Tuxera, finská společnost, která poskytuje řešení souborového systému mnoha velkým výrobcům OEM.

Q: Můžete představit sebe a Tuxera?

A: Já jsem Stan Dmitriev. Od té doby, co jsem dostal svůj první telefon Android (HTC EVO 3D), jsem se stal aktivním fanouškem komunity XDA. Řekněme, že jsem si nainstaloval vlastní ROM a první den zrušil svou záruku (
Stane. Dmitrijev je členem fóra na XDA). Před pár lety jsem spoluzakládal startupový projekt Corgi for Feedly, tehdy nám s definicí a vývojem aplikace hodně pomohla XDA komunita.

V současné době jsem PR & Communications Manager ve společnosti Tuxera, což je přední společnost na trhu se softwarem pro vestavěné úložiště, přesněji souborovými systémy. Náš software pohání více než jednu miliardu zařízení a lze jej nalézt v nejnovějších vlajkových telefonech, autech, routerech, dronech a fotoaparátech. Příběh společnosti začal NTFS-3G, když náš prezident a technický ředitel Szabolcs „Szaka“ Szakactics vytvořili NTFS pro práci se zařízeními Linux. V současné době vyvíjíme vlastní souborové systémy a implementace pro externí i vestavěná úložiště a spolupracujeme s většinou automobilových společností a také s mnoha společnostmi zabývajícími se smartphony.

Zde v Tuxeře poměrně často navštěvujeme XDA fóra, zvláště když řešíme problémy se zazděným zařízením nebo hledáme vlastní ROM/kernel, se kterým si můžeme hrát. Mnoho mých kolegů často navštěvuje XDA, aby si přečetli o nejnovějších hlubokých technologických novinkách týkajících se ekosystémů Android a Linux.

Otázka: Souborové systémy jsou nedílnou součástí našich zařízení, ale jen velmi málo lidí ví o jejich roli, vylepšeních, silných a slabých stránkách. Jaký to má dar a proč by se mělo více lidí zajímat o souborové systémy, které drží jejich data pohromadě?

Odpověď: Souborové systémy jsou životně důležitým prvkem linuxového jádra, které je zodpovědné za všechny interakce mezi zařízením a jeho úložištěm. Pokaždé, když pořídíte obrázek, otevřete aplikaci nebo sledujete video – systém souborů hraje klíčovou roli pro operační systém, aby mohl přistupovat ke všem souborům a ukládat je. Souborové systémy nebyly nějakou dobu tak vzrušující, hlavním důvodem je to, že problémové místo ve výkonu pocházelo z úložiště.

Ale protože rychlosti blesku jsou extrémně vysoké, zejména s uvedením UFS, je to nyní software, který potřebuje modernizovat, aby udržel krok s výkonem blesku. Nejen, že souborový systém může ovlivnit rychlost úložiště, ale také hraje důležitou roli při udržení výkonu telefonu v dlouhodobém horizontu. Pokud se to udělá špatně, úložiště se roztříští, což je jev, při kterém může neefektivní využití úložiště snížit výkon zařízení. Snížení této možnosti na minimum je důležitou vlastností souborového systému.

Otázka: Co je F2FS (primer) a proč se začal prosazovat na Android? Kteří OEM vedli útok?

A: F2FS je souborový systém s otevřeným zdrojovým kódem, jehož hlavní předností je, že je navržen pro architekturu flash úložiště. NAND úložiště (flash) se používá ve všech současných telefonech Android obvykle jako řešení eMMC nebo UFS. Projekt byl původně vyvinut společností Samsung a získal velký zájem některých mobilních OEM. Nemáme údaje o tom, kteří OEM zahájili tuto změnu. Ale z toho, co osobně vím, byla Motorola první, přičemž tento posun brzy následovalo mnoho dalších výrobců OEM, jako je OnePlus a Huawei.

Otázka: Jaké byly výhody? OEM výrobci uvádějí rychlejší operace úložiště a výkon uživatelského rozhraní, ale existují nějaké další výhody?

A: hřiště bylo docela jednoduché, F2FS přináší vyšší výkon do flashového úložiště. Váš systém by se spouštěl rychleji (rychlejší čtení), rychlost zápisu by byla vyšší, což by umožnilo nahrávat těžké 4K, zpomalený záběr s vyšší snímkovou frekvencí a 360stupňová videa. Latence mezi systémem a úložištěm by navíc byla velmi nízká, což znamená, že animace a otevírání aplikací by bylo mnohem rychlejší.

Otázka: Konkrétně se zdá, že problémy se soustřeďují kolem snižování výkonu. Mohl byste to vysvětlit hlouběji? Co je příčinou?

Odpověď: Myšlenka F2FS byla skutečně skvělá, dosáhnout co nejrychlejšího výkonu pro flash zařízení. Je ale také důležité se dlouhodobě soustředit na výkon. Hardware může být vždy rychlý hned po vybalení, ale neustálé udržování těchto rychlostí je mnohem těžší. V případě použití systému Android je úložiště zařízení většinu času téměř plné a někdy dokonce za sekundu proběhnou tisíce operací čtení a zápisu. Mnoho oblíbených aplikací spouští služby na pozadí, což znamená, že aplikace provádí některé operace čtení/zápisu, i když ji neotevřete. Pokud se operace zápisu provede špatně, mohou výrazně zvýšit fragmentaci úložiště, takže každá další operace čtení/zápisu bude ještě pomalejší.

Fragmentaci úložiště vidíme jako jednu z příčin snížení výkonu v zařízeních Android. Nyní je třeba určit, zda jsou problémy způsobeny kompatibilitou hardwaru a jak funguje souborový systém úložiště od různých výrobců OEM, nebo zda se architektura F2FS zaměřuje na počáteční rychlosti, a to má vliv na dlouhodobý výkon. Problémy mohou být také způsobeny chybami, protože souborový systém je stále ve vývoji.

Otázka: Existují nějaké další problémy s výkonem nebo spolehlivostí, které jsou méně známé?

Odpověď: Jedna zajímavá věc, kterou jsme zjistili, je, že F2FS má neočekávanou režii, alespoň několik stovek MB vašeho úložiště pro ukládání do mezipaměti a údržbu úložiště. To rozhodně dává smysl, pokud máte 64 GB úložiště nebo více, ale na levných telefonech s velikostí 8 GB, 16 GB ROM to může být problém.

Hlavním zjištěním je, že současná implementace F2FS je skvělá pro prostředí pouze pro čtení, když chcete dosáhnout vyšších rychlostí. F2FS se musí zaměřit na zlepšení výkonu svého dlouhodobého úložiště při vysoké interakci s malými soubory, protože k tomu dochází v prostředí Androidu.

Toto je v jistém smyslu bitva teorií. Můžete si buď představit, že výkon hardwaru je tak rychlý, že degradace nebude problém. Nebo se na to díváte opačně, kde je hardware tak rychlý, že by mělo být dosaženo o něco pomalejšího výkonu, který lze dlouhodobě udržet. F2FS zvolilo první přístup a zde nejsou žádné špatné možnosti, je to důležitý experiment a křivka učení pro celé odvětví. Jak již bylo řečeno, v současné době jsme svědky toho, že hlavním zaměřením by se nyní měl stát dlouhodobý výkon.

Otázka: Někteří výrobci OEM přestali používat F2FS, zatímco jiní jako Huawei stále podporují F2FS na nedávných zařízeních. Myslíte si, že existuje trend v obou směrech? (Pomalá adopce nebo úplné opuštění)

Odpověď: Existuje několik scénářů, proč by výrobci OEM nadále používali F2FS.

  • OEM by mohl mít vlastní implementaci F2FS, která přináší některé opravy známých problémů.

  • OEM by mohl mít velmi dobré vztahy s výrobcem flash úložiště, protože má přístup k FTL vrstvě NAND a ladění Aby souborový systém dobře spolupracoval s hardwarem, může přinést významná vylepšení, včetně fragmentace flash úložný prostor.

  • OEM by se mohl raději zaměřit na počáteční výkon telefonu, protože průměrný životní cyklus smartphonu je kolem 2 let, a když se telefon zpomaluje, bude si již kupovat nový.

  • OEM by také mohl mít spuštěnou nějakou službu defragmentace, což může částečně vyřešit problémy F2FS.

Toto jsou některé z možných scénářů a zároveň vidíme, že někteří OEM již existují přechod zpět k používání Ext4, například OnePlus 3T používal F2FS, ale všechny novější modely OnePlus používají Ext4.

Otázka: F2FS aktuálně potřebuje nějaké průběžné řešení defragmentace, které by mohlo vyřešit problém, který se v současnosti objevuje u F2FS.

A: Defragmentační nástroje existují již nějakou dobu, hlavní výhodou je, že mohou přerozdělit/přepsat paměťové bloky, aby se snížila fragmentace úložiště. Ale problém s tímto přístupem je, že přepisujete buňky flash paměti, což snižuje životnost úložiště. Nejlepším scénářem by bylo inteligentně zapisovat data. Kontrola poškození není nejlepším řešením.

Představte si to jako udělat nepořádek v místnosti tím, že poházíte spoustu věcí všude kolem a pak je začnete ukládat do zásuvek. Proč to neudělat rovnou?

Otázka: Podařilo se výrobcům OEM čelit některým problémům, které brzdí F2FS, nebo je vyřešit? Například Huawei odmítá degradující výkon a inzeruje rychlejší UX v průběhu času, částečně díky jejich „AI“.

Odpověď: Pokud umělá inteligence dokáže analyzovat chování úložiště a přepsat systém souborů tak, aby fungoval pro konkrétní flash zařízení, pravděpodobně to může vyřešit problémy s fragmentací. Umělá inteligence může také analyzovat, které aplikace nebo funkce daná osoba nejčastěji používá, a předem je načíst/uložit v souladu s tím – aby byly funkce telefonu svižnější, nevyřešilo by to problém fragmentace ačkoli. Můj hlavní předpoklad je, že většina optimalizací souvisí s uživatelským prostorem a ne s nějakými optimalizacemi souborového systému s hlubokými technologiemi.

Otázka: Jaké jsou další zajímavé novinky v oblasti souborového systému, kterých bychom si měli být vědomi? Jak by ovlivnily uživatelský dojem, i když na jemné nebo nízké úrovni?

Odpověď: F2FS a Ext4 jsou stále velmi důležité a představují základní souborové systémy pro open source. Ext4 je vyspělejší a spolehlivější, ale může omezit výkon blesku; F2FS je svižnější, ale také experimentálnější. Celá situace, kdy se software stává úzkým hrdlem, je to, co znovu dělá souborové systémy vzrušující. Posouváme se od počítání každé sekundy na každou milisekundu. Prostředí a souborové systémy budou hrát důležitou roli v tomto zvýšení výkonu. Nejzajímavějším vývojem pro souborové systémy by bylo vytvořit skutečně flash optimalizované řešení, které dokáže zachovat výkon flash.

Ve společnosti Tuxera vyvíjíme Tuxera Flash File System, kde děláme věci, jako je software specifický pro hardware optimalizace zajišťující, že systém souborů je optimalizován pro konkrétní zařízení, případ použití a flash Paměť. Vzhledem k tomu, že působíme v automobilovém průmyslu, zaměřujeme se především na dlouhodobý výkon a degradaci flash paměti. Jedná se spíše o optimalizaci typu hardware x software, o které mluvil Steve Jobs. Použití strojového učení k vytvoření takových „ovladačů“ je něco, co by podle nás mohlo být opravdu vzrušující pro celý průmysl úložiště.

Otázka: Naše fyzické flash úložiště se také neustále zrychluje, jak vidíte, že tato skutečnost ovlivňuje jak zkušenost koncového uživatele, tak budoucnost souborových systémů?

Odpověď: Vzhledem k tomu, že se hardware zrychluje, software musí zajistit, aby dokázal držet krok s těmito pokročilými hardwarovými architekturami, což je v současnosti hlavní problém, který musí souborové systémy vyřešit. Můžete mít neuvěřitelné charakteristiky rychlosti čtení a zápisu zařízení, ale pokud softwarový balík přináší zvýšenou latenci – uživatelská zkušenost nebude tak svižná. Toto je vzrušující doba pro vývoj souborového systému, protože existuje jasná potřeba rychlejší, pohotovější a přesto spolehlivější technologie pro mobilní zařízení.

Ale jak se blesk zrychluje, hlavní otázkou se stává, jaká je rychlost, při které se výkon stává irelevantním? Představte si to jako rozlišení obrazovky Retina, kde vyšší hustota pixelů ve skutečnosti nečiní obraz pro lidské oko ostřejší.

Q: Děkuji za váš čas.

A: Díky!