F2FS: n matka ja miksi tiedostojärjestelmät ovat tärkeitä: Tuxeran Stan Dmitrievin haastattelu

click fraud protection

XDA haastattelee Stan Dmitrievia tiedostojärjestelmiin erikoistuneelta suomalaiselta Tuxera-yritykseltä. Stan keskustelee tiedostojärjestelmistä ja F2FS: n tulevaisuudesta.

Tiedostojärjestelmistä ei keskustella liian usein XDA: ssa tai millään muulla foorumilla. Aiheeseen liittyy paljon matalan tason kehitystyötä, joten kehittäjät keskittyvät mieluummin sovelluksiin, ROM-levyihin tai ytimiin. Siitä huolimatta tiedostojärjestelmä on tärkeä osa jokaista tallennustilaa. Se on tekniikka, joka määrittelee, kuinka laitteesi tallennustilassa olevat tiedot tallennetaan ja noudetaan. On olemassa monia erilaisia ​​tiedostojärjestelmiä – jokaisella on omat hyvät ja huonot puolensa – ja niiden valitseminen toistensa edelle voi vaikuttaa valtavasti vakauteen ja suorituskykyyn. Joten miten OEM-valmistajat tekevät tämän valinnan? Minulla oli ilo keskustella Stan Dimitriev, PR- ja viestintäpäällikkö osoitteessa Tuxera, suomalainen yritys, joka tarjoaa tiedostojärjestelmäratkaisuja monille suurille OEM-valmistajille.

K: Voitko esitellä itsesi ja Tuxeran?

V: Olen Stan Dmitriev. Siitä lähtien, kun sain ensimmäisen Android-puhelimeni (HTC EVO 3D), minusta on tullut aktiivinen XDA-yhteisön fani. Oletetaan vain, että olen asentanut mukautetun ROM-muistin ja mitätöin takuuni ensimmäisenä päivänä (Stan. Dmitrijev on foorumin jäsen XDA: ssa). Pari vuotta sitten olin mukana perustamassa startup-projektia nimeltä Corgi for Feedly, tuolloin XDA-yhteisö auttoi meitä paljon sovelluksen määrittelyssä ja kehittämisessä.

Tällä hetkellä toimin PR- ja viestintäpäällikkönä Tuxerassa, joka on markkinoiden johtava sulautettujen tallennusohjelmistojen, tarkemmin sanottuna tiedostojärjestelmien yritys. Ohjelmistomme toimii yli miljardilla laitteella, ja se löytyy uusimmista lippulaivapuhelimista, autoista, reitittimistä, droneista ja kameroista. Yrityksen tarina alkoi NTFS-3G: stä, kun presidenttimme ja teknologiajohtajamme Szabolcs “Szaka” Szakactics teki NTFS: n toimimaan Linux-laitteiden kanssa. Tällä hetkellä kehitämme omia tiedostojärjestelmiämme ja toteutuksia sekä ulkoiseen että sulautettuun tallennustilaan ja teemme yhteistyötä useimpien autoalan yritysten sekä monien älypuhelinvalmistajien kanssa.

Täällä Tuxerassa vierailemme melko usein XDA-foorumeilla, varsinkin kun teemme vianetsintälaitteen vianetsintää tai löydämme mukautetun ROM-/ytimen, jolla pelata. Monet kollegani käyvät usein XDA: ssa lukeakseen viimeisimmistä syväteknologian uutisista Android- ja Linux-ekosysteemeistä.

K: Tiedostojärjestelmät ovat olennainen osa laitteitamme, mutta vain harvat tietävät niiden roolista, parannuksista, vahvuuksista ja heikkouksista. Mikä on sen lahja, ja miksi useampien ihmisten pitäisi olla kiinnostuneita tiedostojärjestelmistä, jotka pitävät yhdessä heidän tietojaan?

V: Tiedostojärjestelmät ovat Linux-ytimen tärkeä osa, joka vastaa kaikesta laitteen ja sen tallennustilan välisestä vuorovaikutuksesta. Joka kerta, kun otat kuvan, avaat sovelluksen tai katsot videota – tiedostojärjestelmällä on keskeinen rooli, jotta käyttöjärjestelmä käyttää ja tallentaa kaikki tiedostot. Tiedostojärjestelmät eivät olleet niin jännittäviä vähään aikaan, suurin syy on, että suorituskyvyn pullonkaula tuli tallennustilasta.

Mutta koska salaman nopeudet ovat tulossa erittäin nopeiksi, etenkin UFS: n käyttöönoton myötä, ohjelmisto on nyt modernisoitava, jotta se pysyy salaman suorituskyvyn tasalla. Tiedostojärjestelmä ei vain voi vaikuttaa tallennusnopeuksiin, vaan sillä on myös tärkeä rooli puhelimen suorituskyvyn ylläpitämisessä pitkällä aikavälillä. Väärin tehtynä tallennus pirstoutuu, mikä on ilmiö, jossa tallennustilan tehoton käyttö voi heikentää laitteen suorituskykyä. Tällaisen mahdollisuuden vähentäminen minimiin on tiedostojärjestelmän tärkeä ominaisuus.

K: Mikä on F2FS (primer) ja miksi se alkoi tulla Androidille? Mitkä OEM-valmistajat johtivat maksua?

V: F2FS on avoimen lähdekoodin tiedostojärjestelmä, jonka pääkohta on, että se on suunniteltu flash-tallennusarkkitehtuurille. NAND-tallennustilaa (flash) käytetään kaikissa nykyisissä Android-puhelimissa yleensä eMMC- tai UFS-ratkaisuina. Samsung kehitti projektin alun perin, ja se on herättänyt suurta kiinnostusta joidenkin mobiililaitteiden OEM-valmistajilta. Meillä ei ole tietoja siitä, mistä OEM-valmistajat aloittivat tämän muutoksen. Mutta mitä tiedän henkilökohtaisesti, Motorola oli ensimmäinen, ja monet muut OEM-valmistajat, kuten OnePlus ja Huawei, seurasivat tätä muutosta pian.

K: Mitä etuja se tarjosi? OEM-valmistajat mainitsevat nopeammat tallennustoiminnot ja käyttöliittymän suorituskyvyn, mutta onko muita etuja?

V: piki oli melko yksinkertainen, F2FS tuo paremman suorituskyvyn flash-pohjaiseen tallennustilaan. Järjestelmäsi käynnistyisi nopeammin (nopeammat lukunopeudet), kirjoitusnopeudet olisivat suuremmat, mikä mahdollistaisi raskaan 4K: n, korkeamman kuvanopeuden hidastetun ja 360 asteen videoiden tallentamisen. Lisäksi järjestelmän ja tallennustilan välinen latenssi olisi erittäin pieni, mikä tarkoittaa, että animaatiot ja sovellusten avaaminen tuntuisivat paljon näppärämmiltä.

K: Ongelmat näyttävät keskittyvän erityisesti suorituskyvyn heikkenemiseen. Voisitko selittää sen tarkemmin? Mikä on syynä?

V: Ajatus F2FS: stä oli todellakin loistava, jotta saavutettaisiin nopein mahdollinen suorituskyky flash-laitteille. Mutta on myös tärkeää keskittyä suorituskykyyn pitkällä aikavälillä. Laitteisto voi aina olla nopea, mutta näiden nopeuksien jatkuva ylläpitäminen on paljon vaikeampaa. Android-käyttötapauksessa laitteen tallennustila on suurimman osan ajasta lähes täynnä ja luku-kirjoitustoimintoja tapahtuu joskus jopa sekunnissa tuhansia. Monet suositut sovellukset suorittavat palveluita taustalla, mikä tarkoittaa, että sovellus suorittaa joitain luku-/kirjoitustoimintoja, vaikka et avaa sitä. Väärin tehtynä kirjoitustoiminnot voivat lisätä tallennustilan pirstoutumista huomattavasti, jolloin jokainen seuraava luku-/kirjoitustoiminto hidastuu entisestään.

Näemme tallennustilan pirstoutumisen yhtenä syynä Android-laitteiden suorituskyvyn heikkenemiseen. Nyt on selvitettävä, johtuvatko ongelmat laitteiston yhteensopivuudesta ja kuinka tiedostojärjestelmä toimii tallennus eri OEM-valmistajilta vai keskittyykö F2FS-arkkitehtuuri alkunopeuksiin, mikä vaikuttaa pitkällä aikavälillä esitys. Ongelmat voivat johtua myös bugeista, koska tiedostojärjestelmä on vielä kehitteillä.

K: Onko muita suorituskyky- tai luotettavuusongelmia, jotka ovat vähemmän tunnettuja?

V: Eräs mielenkiintoinen asia, jonka löysimme, on, että F2FS: llä on odottamaton ylimääräinen ylimäärä, ainakin pari sataa Mt tallennustilaasi välimuistia ja tallennustilan ylläpitoa varten. Tämä on ehdottomasti järkevää, jos sinulla on 64 Gt tallennustilaa tai enemmän, mutta budjettipuhelimissa, joissa on 8 Gt, 16 Gt ROM-koot, tämä voi olla ongelma.

Tärkein havainto on, että nykyinen F2FS-toteutus sopii erinomaisesti vain luku -ympäristöihin, kun haluat saavuttaa suurempia nopeuksia. F2FS: n on keskityttävä parantamaan pitkän aikavälin tallennussuorituskykyään korkeassa vuorovaikutuksessa pienten tiedostojen kanssa, koska näin tapahtuu Android-ympäristössä.

Tämä on tavallaan teorioiden taistelua. Voit joko kuvitella, että laitteiston suorituskyky on niin nopea, että heikkeneminen ei ole ongelma. Tai katsot asiaa päinvastoin, missä laitteisto on niin nopea, että pitäisi saavuttaa hieman hitaampi suorituskyky, joka voidaan ylläpitää pitkällä aikavälillä. F2FS valitsi ensimmäisen lähestymistavan, eikä tässä ole vääriä vaihtoehtoja, se on tärkeä kokeilu ja oppimiskäyrä koko toimialalle. Tästä huolimatta näemme tällä hetkellä, että pitkän aikavälin suorituskyvyn tulisi olla pääpaino juuri nyt.

K: Jotkut OEM-valmistajat ovat luopuneet F2FS: n käytöstä, kun taas toiset, kuten Huawei, tukevat edelleen F2FS: ää viimeaikaisissa laitteissa. Luuletko, että suunta on jompikumpi? (Hidas omaksuminen tai täydellinen hylkääminen)

V: On olemassa useita skenaarioita, miksi OEM-valmistajat jatkaisivat F2FS: n käyttöä.

  • OEM: llä voi olla oma F2FS-toteutus, joka tuo joitain korjauksia tunnettuihin ongelmiin.

  • OEM-valmistajalla voi olla erittäin hyvät suhteet flash-tallennuslaitteen valmistajaan, koska sillä on pääsy NAND: n FTL-kerrokseen ja viritys tiedostojärjestelmä toimii hyvin laitteiston kanssa voi tuoda merkittäviä parannuksia, mukaan lukien pirstoutumista flash varastointi.

  • OEM voisi mieluummin keskittyä puhelimen alkuperäiseen suorituskykyyn, sillä älypuhelimen keskimääräinen elinkaari on noin 2 vuotta, ja puhelimen hidastuessa he ostavat jo uuden.

  • OEM: llä voi myös olla jokin eheytyspalvelu käynnissä, tämä voi osittain ratkaista F2FS-ongelmat.

Nämä ovat joitakin mahdollisia skenaarioita, mutta samaan aikaan näemme, että jotkut OEM-valmistajista ovat jo palata Ext4:ään, esimerkiksi OnePlus 3T käytti F2FS: ää, mutta kaikki uudemmat OnePlus-mallit käyttävät Ext4.

K: F2FS tarvitsee tällä hetkellä jotain käynnissä olevaa eheytysratkaisua, joka voisi ratkaista F2FS: n kanssa tällä hetkellä esiintyvän ongelman.

V: Eheytystyökalut ovat olleet olemassa jo jonkin aikaa. Suurin etu on, että ne voivat jakaa/kirjoittaa muistilohkoja uudelleen tallennustilan pirstoutumisen vähentämiseksi. Mutta tämän lähestymistavan ongelmana on, että kirjoitat flash-muistisolut uudelleen, mikä lyhentää tallennustilan käyttöikää. Paras skenaario olisi kirjoittaa tiedot ensin älykkäästi. Vahinkojen hallinta ei ole paras ratkaisu.

Ajattele sitä kuin tekisit sotkua huoneessa heittämällä paljon tavaraa ympäriinsä ja alkamalla sitten järjestää niitä laatikoihin. Mikset tekisi sitä heti?

K: Ovatko OEM-valmistajat onnistuneet torjumaan tai ratkaisemaan joitain F2FS: ää jarruttavia ongelmia? Esimerkiksi Huawei hylkää heikentävän suorituskyvyn ja mainostaa nopeampaa käyttökokemusta ajan myötä, osittain heidän "AI"nsa ansiosta.

V: Jos tekoäly voi analysoida tallennuskäyttäytymistä ja kirjoittaa tiedostojärjestelmän uudelleen toimimaan tietylle flash-laitteelle, tämä voi todennäköisesti ratkaista pirstoutumisongelmat. Tekoäly voi myös analysoida, mitä sovelluksia tai ominaisuuksia henkilö käyttää eniten, ja esilataa / tallentaa ne vastaavasti – puhelimen ominaisuuksien tekeminen näyttävämmältä, mikä ei ratkaise pirstoutumisongelmaa vaikka. Pääoletukseni on, että suurin osa optimoinneista liittyy käyttäjätilaan, ei joihinkin syväteknisiin tiedostojärjestelmän optimointiin.

K: Mistä muista jännittävistä tiedostojärjestelmäkehityksistä meidän tulisi olla tietoisia? Miten ne vaikuttaisivat käyttökokemukseen, vaikkakin hienovaraisella tai matalalla tasolla?

V: F2FS ja Ext4 ovat edelleen erittäin tärkeitä ja ovat avoimen lähdekoodin tiedostojärjestelmiä. Ext4 on kypsempi ja luotettavampi, mutta saattaa rajoittaa salaman suorituskykyä; F2FS on nopeampi, mutta myös kokeellisempi. Koko tilanne, jossa ohjelmistosta tulee pullonkaula, tekee tiedostojärjestelmistä jälleen jännittäviä. Olemme siirtymässä joka sekunti, joka millisekunnin arvoihin ympäristöillä ja tiedostojärjestelmillä on tärkeä rooli tässä suorituskyvyn parantamisessa. Jännittävin kehitystyö tiedostojärjestelmille olisi luoda todella flash-optimoitu ratkaisu, joka voi ylläpitää flashin suorituskykyä.

Tuxeralla kehitämme Tuxera Flash File Systemiä, jossa teemme esimerkiksi laitteistokohtaisia ​​ohjelmistoja optimoinnit varmistavat, että tiedostojärjestelmä on optimoitu tietylle laitteelle, käyttötapaukselle ja flashille muisti. Koska olemme läsnä autoteollisuudessa, keskitymme pääasiassa flash-muistin pitkän aikavälin suorituskykyyn ja heikkenemiseen. Tämä on enemmänkin laitteiston ja ohjelmiston optimointityyppiä, josta Steve Jobs puhui. Koneoppimisen soveltaminen tällaisten "ohjaimien" luomiseen on mielestämme todella jännittävää koko tallennusteollisuudelle.

K: Myös fyysinen flash-tallennustilamme nopeutuu jatkuvasti. Miten näet tämän tosiasian vaikuttavan sekä loppukäyttäjäkokemukseen että tiedostojärjestelmien tulevaisuuteen?

V: Kun laitteisto nopeutuu, ohjelmiston on varmistettava, että se pysyy näiden kehittyneiden laitteistoarkkitehtuurien tasolla. Tämä on tiedostojärjestelmien suurin haaste tällä hetkellä ratkaistavaksi. Laitteen luku- ja kirjoitusnopeusominaisuudet voivat olla uskomattomat, mutta jos ohjelmistopino tuo lisää latenssia, käyttökokemus ei tunnu niin äkilliseltä. Tämä on jännittävää aikaa tiedostojärjestelmän kehittämiselle, koska on selkeä tarve nopeammalle, nopeammalle ja silti luotettavammalle mobiiliteknologialle.

Mutta kun salama nopeutuu, pääkysymykseksi tulee, mikä on nopeus, jolla suorituskyky muuttuu merkityksettömäksi? Ajattele sitä kuin Retina-näytön resoluutiota, jossa suurempi pikselitiheys ei todellakaan tee kuvasta terävämpää ihmissilmälle.

K: Kiitos ajastasi.

V: Kiitos!