Red Hat ontwikkel nuwe NVFS, doeltreffend vir NVM-geheue

Mikuláš Patočka, een van die ontwikkelaars van LVM en die skrywer van die reeks uitvindings, wat verband hou met die optimalisering van bergingstelsels, werk by Red Hat, voorgelê nuwe lêerstelsel op die poslys vir Linux-kernontwikkelaars NVFS, wat daarop gemik is om 'n kompakte en vinnige FS te skep vir nie-vlugtige geheueskyfies (NVM, nie-vlugtige geheue, soos NVDIMM), wat die werkverrigting van RAM kombineer met die vermoë om inhoud permanent te stoor.

By die ontwikkeling van NVFS is die ervaring van die FS in ag geneem NEW, in 2017 spesifiek geskep vir NVM-geheue, maar nie aanvaar in die Linux-kern en beperk ondersteuning vir Linux-kerne van 4.13 tot 5.1.
Die voorgestelde NVFS-lêerstelsel is baie eenvoudiger as NOVA (4972 reëls kode teenoor 21459), bied die fsck-hulpmiddel, het hoër werkverrigting, ondersteun uitgebreide eienskappe (xattrs), sekuriteitsetikette, ACL's en kwotas, maar ondersteun nie momentopnames nie. argitektuur NVFS naby
FS Ext4 pas goed in die model van lêerstelsels gebaseer op die VFS-substelsel, wat jou toelaat om die aantal lae te minimaliseer en oor die weg te kom met 'n module wat nie nodig het om in die kern te pleister nie.

NVFS gebruik 'n kernkoppelvlak DAX vir direkte toegang tot aanhoudende geheue toestelle wat die bladsykas omseil. Om NVM-geheuehantering, wat greepadressering gebruik, te optimaliseer, word die inhoud van die aandrywer gekarteer na die kern se lineêre adresspasie sonder die tradisionele bloktoestellaag en intermediêre kas. Word gebruik om gidsinhoud te stoor. basis boom (radiksboom), waarin elke lêernaam gehas word en die hash-waarde gebruik word wanneer die boom nageslaan word.

Data-integriteit word verseker deur die meganisme "sagte opdaterings” (soos in UV van FreeBSD en FFS van OpenBSD) sonder om joernaal te gebruik. Om lêerkorrupsie in NVFS te vermy, word datamodifikasiebewerkings op so 'n manier gegroepeer dat 'n ongeluk nie kan lei tot die verlies van blokke of inodes nie, en die integriteit van die strukture word herstel met behulp van die fsck-nutsding. Die fsck-hulpprogram loop in 'n multi-threaded-modus en bied werkverrigting op die vlak van opsomming van 1.6 miljoen inodes per sekonde.

В prestasietoetse NVFS het ongeveer 10% vinniger as NOVA, 30% vinniger as ext4 en 37% vinniger as XFS 'n Linux-kernbronboomkopiebewerking op NVM-geheue uitgevoer. In die data-soektoets was NVFS vinniger as NOVA met 3%, en ext4 en XFS met 15% (maar met aktiewe skyfkas was NOVA 15% stadiger).
In die miljoen gids-bewerkingstoets het NVFS 40% beter gevaar as NOVA, ext4 met 22% en XFS met 46%. Wanneer DBMS-aktiwiteit gesimuleer is, het NVFS met 20% beter gevaar as NOVA, ext4 met 18 keer en XFS met 5 keer. In die fs_mark-toets was NVFS en NOVA omtrent dieselfde, terwyl ext4 en XFS ongeveer 3 keer agter was.

Die vertraging van tradisionele FS op NVM-geheue is te wyte aan die feit dat hulle nie ontwerp is vir byte-adressering nie, wat gebruik word in nie-vlugtige geheue, wat soos gewone RAM lyk. Lees vanaf konvensionele aandrywers verseker die atomiteit van die operasie op die sektorlees/skryfvlak, terwyl NVM-geheue toegang bied op die vlak van individuele masjienwoorde. Daarbenewens probeer tradisionele FS'e om die intensiteit van toegang tot die media te verminder, wat as ooglopend stadiger as RAM beskou word, en probeer ook om bedrywighede te groepeer om sekwensiële lees te verseker wanneer hardeskywe gebruik word, versoekrye verwerk, fragmentasie beveg en die uitvoering prioritiseer van verskillende operasies. . Vir NVM-geheue is sulke komplikasies onnodig, aangesien die datatoegangspoed vergelykbaar is met RAM, en die toegangsvolgorde maak nie saak nie.

Bron: opennet.ru

Voeg 'n opmerking