Cong Wang, som arbejder med trafikstyringssystemet (TC, Traffic Control) i Linux-kernen og udvikler projektet Multikernel, har præsenteret et nyt filsystem DAXFS i listen over Linux-kernens udviklere. DAXFS bruger RAM til datalagring, arbejder i en skrivebeskyttet tilstand og minder i funktionalitet om de begrænsede filsystemer ramfs og tmpfs. Kernen modul med implementeringen af DAXFS samt værktøjet mkdaxfs til oprettelse af filsystemet er offentliggjort under GPLv2 licensen. Efter gennemgang overvejes muligheden for at integrere DAXFS i hovedkernen.
Den centrale funktion i det nye filsystem er anvendelsen af DAX (Direct Access) subsystemet til at arbejde uden om sidestørrelseskassen og til direkte adgang til delt fysisk hukommelse. I ramfs og tmpfs gemmes indholdet i sidestørrelseskassen, hvilket ved brug af ét filsystem i flere containere eller kerner, der kører ved hjælp af Multikernel-teknologi, fører til opbevaring af flere kopier af data i den fysiske hukommelse. Udfyldning af ramfs og tmpfs kræver også unødvendige kopieringsoperationer uden mulighed for at udføre mapping af eksisterende hukommelsesområder.
Direkte adgang til hukommelsen i DAXFS muliggør at udelukke unødvendige kopieringsoperationer og organisere arbejdet uden om det traditionelle input/output-stak baseret på blokapparater og bufferingsmekanismer, samt at undgå fragmentering af hukommelsesallokering ved samtidig brug af ét filsystem i forskellige containere og multikernel-kerner. DAXFS arbejder i Zero-Copy tilstand og giver direkte indholdet af filer fra hukommelsen uden unødvendig dublering af data i sidestørrelseskassen og med mulighed for mapping af sammenhængende områder af fysisk hukommelse i hver instans af containeren eller kernen. Derudover understøttes brugen af API dma-buf til at anvende hukommelse eksporteret af GPU, FPGA/SmartNIC eller CXL-enheder.
Filsystemet arbejder i en skrivebeskyttet tilstand og initieres ved at indlæse en forberedt filsystembillede til hukommelsen, hvilket forenkler implementeringen, muliggør at slippe for hukommelsesallokeringsoperationer under drift og udelukker komplicerede enhedshåndteringsmekanismer.
Et centralt anvendelsesområde for DAXFS er at anvende det sammen med Multikernel-teknologien, der gør det muligt at køre flere uafhængige Linux-kernelinstanser på én fysisk computer, som har direkte adgang til hardwareressourcerne og kan bruges til at køre flere isolerede systemmiljøer.
DAXFS kan også anvendes til at organisere delt adgang for flere containere eller kerner til et grundlæggende systembillede, der er placeret i delt hukommelse; reducere overhead ved tilgang til information i hukommelsen af hardwareacceleratorer; organisere adgang til hukommelsen fra flere værter uden netværks-I/O eller til vedvarende hukommelse, ved hjælp af enheder baseret på CXL-bussen (Compute Express Link).
Kilde: opennet.ru
