Az XDA interjút készít Stan Dmitrievvel a Tuxerától, egy fájlrendszerekre szakosodott finn cégtől. Stan a fájlrendszereket és az F2FS jövőjét tárgyalja.
A fájlrendszerekről nem túl gyakran esik szó az XDA-n vagy bármely más fórumon. A téma sok alacsony szintű fejlesztést érint, ezért a fejlesztők inkább az alkalmazásokra, ROM-okra vagy kernelekre koncentrálnak. Ennek ellenére a fájlrendszer minden tároló létfontosságú része. Ez az a technológia, amely felvázolja az eszköz tárolójában lévő adatok tárolásának és lekérésének módját. Sokféle fájlrendszer létezik – mindegyiknek megvannak a maga előnyei és hátrányai –, és az egymáshoz való választás óriási különbséget jelenthet a stabilitásban és a teljesítményben. Tehát hogyan döntenek az OEM-ek? Öröm volt beszélgetni Stan Dimitriev, a PR és kommunikációs menedzser a címen Tuxera, egy finn cég, amely fájlrendszer-megoldásokat kínál számos nagy OEM-nek.
K: Bemutatkoznál és Tuxerát?
V: Stan Dmitriev vagyok. Amióta megkaptam az első Android-telefonomat (HTC EVO 3D), az XDA közösség aktív rajongója lettem. Tegyük fel, hogy telepítettem egy egyéni ROM-ot, és az első napon érvénytelenítettem a garanciámat ( Stan. Dmitrijev az XDA fórum tagja). Pár éve alapítottam egy startup projektet Corgi for Feedly néven, akkoriban az XDA közösség sokat segített az alkalmazás meghatározásában és fejlesztésében.
Jelenleg a Tuxera PR és kommunikációs menedzsere vagyok, amely a piac vezető beágyazott tárolószoftverei, fájlrendszerei, egészen pontosan a piacon. Szoftverünk több mint egymilliárd eszközt működtet, és megtalálható a legújabb csúcstelefonokban, autókban, útválasztókban, drónokban és kamerákban. A cég története az NTFS-3G-vel kezdődött, amikor Szakactics „Szaka” Szabolcs műszaki igazgatónk az NTFS-t Linuxos eszközökkel való együttműködésre készítette. Jelenleg saját fájlrendszereinket és implementációinkat fejlesztjük külső és beágyazott tároláshoz, és együttműködünk a legtöbb autóipari céggel, valamint számos okostelefon-gyártó céggel.
Itt, a Tuxeránál gyakran látogatunk az XDA fórumaira, különösen akkor, ha egy lefagyott eszköz hibaelhárítását vagy egyéni ROM-ot/kernelt találunk a játékhoz. Sok kollégám gyakran felkeresi az XDA-t, hogy olvasson az Android és Linux ökoszisztémákkal kapcsolatos legújabb mélytechnológiai hírekről.
K: A fájlrendszerek eszközeink szerves részét képezik, de nagyon kevesen tudnak szerepükről, fejlesztéseikről, erősségeikről és gyengeségeikről. Mi ennek az ajándéka, és miért kellene több embernek érdeklődnie az adataikat összefogó fájlrendszerek iránt?
V: A fájlrendszerek a Linux kernel létfontosságú elemei, amelyek felelősek az eszköz és a tárolója közötti összes interakcióért. Minden alkalommal, amikor fényképet készít, megnyit egy alkalmazást vagy videót néz – a fájlrendszer központi szerepet játszik az operációs rendszerben az összes fájl eléréséhez és tárolásához. A fájlrendszerek egy ideig nem voltak annyira izgalmasak, ennek fő oka az, hogy a teljesítmény szűk keresztmetszetét a tároló okozta.
De mivel a vaku sebessége rendkívül gyors, különösen az UFS bevezetésével, most a szoftvert kell modernizálni, hogy lépést tudjon tartani a vaku teljesítményével. A fájlrendszer nem csak a tárolási sebességet befolyásolhatja, hanem a telefon teljesítményének hosszú távú megőrzésében is fontos szerepet játszik. Ha rosszul csinálják, a tároló töredezetté válik, ami olyan jelenség, amelyben a tárhely nem hatékony használata csökkentheti az eszköz teljesítményét. Ennek a lehetőségnek a minimálisra csökkentése a fájlrendszer fontos jellemzője.
K: Mi az F2FS (primer), és miért kezdett el eljutni az Androidhoz? Mely OEM-ek vezették a vádat?
V: Az F2FS egy nyílt forráskódú fájlrendszer, amelynek lényege, hogy flash tárolási architektúrához tervezték. A NAND tárolót (flash) az összes jelenlegi Android telefon általában eMMC vagy UFS megoldásként használja. A projektet eredetileg a Samsung fejlesztette ki, és nagy érdeklődést váltott ki néhány mobil OEM-gyártó részéről. Nem rendelkezünk adatokkal arról, hogy az OEM-ek mikor kezdték el ezt a váltást. De személyes ismereteim szerint a Motorola volt az első, és sok más OEM, például a OnePlus és a Huawei követte ezt a változást hamarosan.
K: Milyen előnyökkel járt? Az OEM-ek a gyorsabb tárolási műveleteket és a felhasználói felület teljesítményét említik, de vannak más előnyei is?
V: A hangmagasság meglehetősen egyszerű volt, az F2FS nagyobb teljesítményt hoz a flash alapú tároláshoz. A rendszer gyorsabban indul (gyorsabb olvasási sebesség), az írási sebesség nagyobb, ami lehetővé teszi a nehéz 4K, nagyobb képkockasebességű lassított és 360 fokos videók rögzítését. Ezenkívül a rendszer és a tárhely közötti késleltetés rendkívül alacsony lenne, ami azt jelenti, hogy az animáció és az alkalmazások megnyitása sokkal gyorsabb lesz.
K: Úgy tűnik, hogy a problémák a teljesítmény leromlásával kapcsolatosak. Kifejtenéd ezt mélyebben? mi az oka?
V: Az F2FS ötlete valóban nagyszerű volt, hogy a lehető leggyorsabb teljesítményt érje el a flash eszközökön. De az is fontos, hogy hosszú távon a teljesítményre koncentráljunk. A hardver mindig gyorsan kivehető, de ezen sebességek folyamatos fenntartása sokkal nehezebb kihívás. Androidos használat esetén a készülék tárhelye az idő nagy részében szinte megtelt, és néha akár egy másodperc alatt is több ezer olvasási írási művelet történik. Sok népszerű alkalmazás a háttérben futtat szolgáltatásokat, ami azt jelenti, hogy az alkalmazás akkor is végez bizonyos olvasási/írási műveleteket, ha Ön nem nyitja meg. Ha rosszul csinálják, az írási műveletek drasztikusan megnövelhetik a tárhely töredezettségét, és minden következő olvasási/írási műveletet még lassabban végeznek.
A tárhely töredezettségét tekintjük az Android-eszközök teljesítménycsökkenésének egyik okának. Most azt kell meghatározni, hogy a problémákat a hardver kompatibilitása okozza-e, és hogy a fájlrendszer hogyan teljesít különböző OEM-ektől származó tárolás, vagy az F2FS architektúra a kezdeti sebességre összpontosít-e, és ez hosszú távon befolyásolja teljesítmény. A problémákat hibák is okozhatják, mivel a fájlrendszer még fejlesztés alatt áll.
K: Vannak más teljesítmény- vagy megbízhatósági problémák, amelyek kevésbé ismertek?
V: Egy érdekes dolgot tapasztaltunk, hogy az F2FS váratlan többletköltséggel rendelkezik, legalább néhány száz MB tárhelyet a gyorsítótárazáshoz és a tárolás karbantartásához. Ez határozottan logikus, ha 64 GB vagy több tárhellyel rendelkezik, de a 8 GB-os, 16 GB-os ROM méretű olcsó telefonokon ez probléma lehet.
A fő megállapítás az, hogy az F2FS jelenlegi megvalósítása kiválóan alkalmas csak olvasható környezetekben, amikor nagyobb sebességet szeretne elérni. Az F2FS-nek arra kell összpontosítania, hogy javítsa a hosszú távú tárolási teljesítményét a kis fájlokkal való nagy interakcióban, mivel ez történik az Android környezetben.
Ez bizonyos értelemben elméletek harca. Elképzelheti, hogy a hardver teljesítménye olyan gyors, hogy a leromlás nem lesz probléma. Vagy fordítva nézzük, ahol olyan gyors a hardver, hogy egy kicsit lassabb, hosszú távon is fenntartható teljesítményt kellene elérni. Az F2FS az első megközelítést választotta, és itt nincsenek rossz lehetőségek, ez egy fontos kísérlet, és egy tanulási görbe az egész iparág számára. Ennek ellenére, amit jelenleg látunk, az az, hogy jelenleg a hosszú távú teljesítményre kell összpontosítani.
K: Egyes OEM-ek visszavonták az F2FS használatát, míg mások, például a Huawei továbbra is támogatják az F2FS-t a legújabb eszközökön. Szerintetek van valamilyen tendencia? (Lassú elfogadás vagy teljes elhagyás)
V: Számos forgatókönyv létezik arra vonatkozóan, hogy az OEM-ek miért folytatják az F2FS használatát.
Az OEM-nek lehet saját F2FS-megvalósítása, amely javítja az ismert problémákat.
Egy OEM-nek nagyon jó kapcsolata lehet a flash tároló gyártójával, mivel hozzáfér a NAND és a hangolás FTL rétegéhez a hardverrel jól működő fájlrendszer jelentős fejlesztéseket hozhat, beleértve a flash töredezettségét is tárolás.
Az OEM inkább a telefon kezdeti teljesítményére koncentrálhat, mivel egy okostelefon átlagos élettartama 2 év körüli, és ahogy a telefon lelassul, már újat vásárolnak.
Egy OEM-nél is futhat valami töredezettségmentesítési szolgáltatás, ez részben megoldhatja az F2FS problémáit.
Ez néhány lehetséges forgatókönyv, ugyanakkor azt látjuk, hogy egyes OEM-ek már ilyenek visszatérve az Ext4 használatához, például a OnePlus 3T F2FS-t használt, de az összes újabb OnePlus modell Ext4.
K: Az F2FS-nek jelenleg egy menet közbeni töredezettségmentesítési megoldásra van szüksége, amely megoldhatja az F2FS-szel jelenleg megjelenő problémát.
V: A töredezettségmentesítési eszközök már egy ideje léteznek, a fő előnyük, hogy át tudják osztani/újraírni a memóriablokkokat a tárhely töredezettségének csökkentése érdekében. Ezzel a megközelítéssel azonban az a probléma, hogy újraírja a flash memória cellákat, ami csökkenti a tároló élettartamát. A legjobb forgatókönyv az lenne, ha először intelligensen írnánk az adatokat. A kárelhárítás nem a legjobb megoldás.
Képzeld el úgy, mintha rendetlenséget csinálnál a szobában úgy, hogy sok cuccot szétdobálsz, majd elkezded a fiókokba rendezni. Miért ne tenné meg azonnal?
K: Sikerült az OEM-eknek fellépniük vagy kezelniük néhány, az F2FS-t visszatartó problémát? Például a Huawei elutasítja a rontó teljesítményt, és idővel gyorsabb felhasználói élményt hirdet, részben az „AI”-nak köszönhetően.
V: Nos, ha egy mesterséges intelligencia elemzi a tárolási viselkedést, és átírja a fájlrendszert, hogy működjön egy adott flash-eszközön, ez valószínűleg megoldhatja a töredezettség problémáját. A mesterséges intelligencia azt is elemzi, hogy az adott személy mely alkalmazásokat vagy funkciókat használja leggyakrabban, és előre betölti/tárolja azokat ennek megfelelően – ha a telefon funkcióit letisztultabbá tesszük, ez nem oldaná meg a töredezettség problémáját bár. Fő feltételezésem az, hogy az optimalizálások többsége a felhasználói területtel kapcsolatos, és nem néhány mélytechnológiai fájlrendszer-optimalizálás.
K: Milyen egyéb izgalmas fájlrendszer-fejlesztésekkel kell tisztában lennünk? Hogyan befolyásolnák a felhasználói élményt, még ha finom vagy alacsony szinten is?
V: Az F2FS és az Ext4 továbbra is nagyon fontosak, és a nyílt forráskódú fájlrendszerek. Az Ext4 érettebb és megbízhatóbb, de korlátozhatja a vaku teljesítményét; Az F2FS frappánsabb, de kísérletezőbb is. Az egész helyzet, amikor a szoftver szűk keresztmetszetté válik, ismét izgalmassá teszi a fájlrendszereket. A minden másodperctől a minden ezredmásodpercig számolunk, a környezetek és a fájlrendszerek fontos szerepet fognak játszani ebben a teljesítménynövekedésben. A fájlrendszerek legizgalmasabb fejlesztése egy valóban flash-optimalizált megoldás létrehozása lenne, amely képes fenntartani a flash teljesítményét.
A Tuxeránál a Tuxera Flash fájlrendszert fejlesztjük, ahol például hardver-specifikus szoftvereket végzünk optimalizálás, amely biztosítja, hogy a fájlrendszer egy adott eszközre, használati esetre és flashre optimalizálva legyen memória. Az autóiparban jelenlévő jelenlétünk során elsősorban a flash memória hosszú távú teljesítményére és leromlására koncentrálunk. Ez inkább a hardver x szoftver típusú optimalizálás, amiről Steve Jobs beszélt. Úgy gondoljuk, hogy a Machine Learning alkalmazása ilyen „illesztőprogramok” létrehozására igazán izgalmas lehet az egész tárolási ágazat számára.
K: Fizikai flash-tárhelyünk is egyre gyorsabban működik. Ön szerint ez a tény hogyan befolyásolja a végfelhasználói élményt és a fájlrendszerek jövőjét?
V: A hardver felgyorsulásával a szoftvernek biztosítania kell, hogy lépést tudjon tartani ezekkel a fejlett hardverarchitektúrákkal, ez a fájlrendszerek számára jelenleg megoldandó fő kihívás. Hihetetlen olvasási és írási sebességgel rendelkezhet az eszköz, de ha a szoftververem megnöveli a késleltetést, akkor a felhasználói élmény nem lesz olyan frappáns. Izgalmas időszak ez a fájlrendszer-fejlesztés számára, mivel egyértelműen szükség van egy gyorsabb, gyorsabb és mégis megbízhatóbb mobiltechnológiára.
De ahogy a vaku gyorsabbá válik, a fő kérdés az, hogy milyen sebességgel válik irrelevánssá a teljesítmény? Képzeld el úgy, mint a Retina képernyőfelbontást, ahol a nagyobb pixelsűrűség nem igazán teszi élesebbé a képet az emberi szem számára.
K: Köszönöm az idejét.
A: Köszönöm!