Red Hat er ved at udvikle et nyt NVFS-filsystem, der er effektivt til NVM-hukommelse

Mikuláš Patočka, en af ​​udviklerne af LVM og forfatter til en række opfindelserrelateret til optimering af lagersystemer, arbejde hos Red Hat, indsendt nyt filsystem på Linux-kernens udviklermailingliste NVFS, der har til formål at skabe en kompakt og hurtig FS til ikke-flygtige hukommelseschips (NVM, ikke-flygtig hukommelse, for eksempel NVDIMM), der kombinerer RAM-ydeevne med evnen til permanent at gemme indhold.

Erfaringerne fra FS blev taget i betragtning ved udviklingen af ​​NVFS NOVA, skabt specifikt til NVM-hukommelse i 2017, men ikke accepteret i Linux-kernen og begrænset understøttelse af Linux-kerner fra 4.13 til 5.1.
Den foreslåede FS NVFS er meget enklere end NOVA (4972 linjer kode versus 21459), giver fsck-værktøjet, har højere ydeevne, understøtter udvidede attributter (xattrs), sikkerhedsetiketter, ACL'er og kvoter, men understøtter ikke snapshots. Arkitektur NVFS er tæt på
Ext4 filsystem passer godt ind i modellen af ​​filsystemer baseret på VFS undersystemet, som giver dig mulighed for at minimere antallet af lag og nøjes med et modul, der ikke kræver patches til kernen.

NVFS bruger kernegrænsefladen DAX for direkte adgang til vedvarende hukommelsesenheder ved at omgå sidecachen. For at optimere driften af ​​byte-adresseret NVM-hukommelse, mappes indholdet af drevet til kernens lineære adresserum uden brug af et traditionelt blokenhedslag og mellemliggende cache. Bruges til at gemme biblioteksindhold basistræ (radix tree), hvor hvert filnavn er hashed, og hash-værdien bruges ved søgning i træet.

Dataintegriteten sikres ved hjælp af "bløde opdateringer"(som i UFS fra FreeBSD og FFS fra OpenBSD) uden at bruge journalføring. For at undgå filkorruption i NVFS er dataændringsoperationer grupperet på en sådan måde, at et nedbrud ikke kan føre til tab af blokke eller inoder, og strukturernes integritet gendannes ved hjælp af fsck-værktøjet. Fsck-værktøjet fungerer i multi-threaded-tilstand og giver brute-force ydeevne på 1.6 millioner inoder pr. sekund.

В præstationstest NVFS udførte Linux-kernens kildetrækopieringsoperation på NVM-hukommelse omkring 10 % hurtigere end NOVA, 30 % hurtigere end ext4 og 37 % hurtigere end XFS. I datahentningstesten var NVFS hurtigere end NOVA med 3 %, og ext4 og XFS med 15 % (men med aktiv diskcache var NOVA 15 % langsommere).
I testen af ​​million directory operations klarede NVFS sig bedre end NOVA med 40 %, ext4 med 22 % og XFS med 46 %. Ved simulering af DBMS-aktivitet overgik NVFS-filsystemet NOVA med 20 %, ext4 med 18 gange og XFS med 5 gange. I fs_mark-testen viste NVFS's og NOVA's ydeevne sig at være omtrent på samme niveau, mens ext4 og XFS haltede omkring 3 gange bagud.

Forsinkelsen af ​​traditionelle filsystemer på NVM-hukommelse skyldes, at de ikke er designet til byte-adressering, som bruges i ikke-flygtig hukommelse, som ligner almindelig RAM. Læsning fra konventionelle drev sikrer atomicitet af operationen på sektorlæse/skriveniveau, mens NVM-hukommelse giver adgang på niveau med individuelle maskinord. Derudover forsøger traditionelle filsystemer at reducere intensiteten af ​​adgangen til mediet, som betragtes som åbenlyst langsommere end RAM, og forsøger også at gruppere operationer for at sikre sekventiel læsning ved brug af harddiske, behandle anmodningskøer, bekæmpe fragmentering og adskille prioritering af forskellige operationer. . For NVM-hukommelse er sådanne komplikationer unødvendige, da hastigheden af ​​dataadgang er sammenlignelig med RAM, og adgangsrækkefølgen er ligegyldig.

Kilde: opennet.ru

Tilføj en kommentar