• DAXFS – ett nytt Linux-filsystem som läser direkt ur minnet

    DAXFS är ett nytt experimentellt filsystem för Linux som vill göra något ovanligt: låta systemet läsa filer direkt ur delat fysiskt minne, utan omvägen via den traditionella lagringsstacken. Genom att bygga på Direct Access kan samma skrivskyddade data delas mellan flera kernelinstanser och till och med ligga kvar i minne som kommer från GPU:er, FPGA:er eller CXL-enheter. Idén kan minska både latens och RAM-förbrukning i allt från containermiljöer till framtida minnespooler och acceleratorbaserade system.

    Linuxvärlden har fått ett nytt, ovanligt tillskott. Kernelutvecklaren Cong Wang på företaget Multikernel har presenterat ett experimentellt filsystem med namnet DAXFS – ett filsystem som helt hoppar över den traditionella vägen via hårddiskar, block-I/O och sidcache, och istället läser data direkt ur fysiskt minne.

    Det kan låta som en detalj för specialister, men DAXFS pekar mot hur framtidens system kan dela data snabbare, snålare och smartare, särskilt i miljöer med containrar, acceleratorer och delat minne.

    Vad är DAX – och varför är det intressant?

    Namnet DAXFS kommer från DAX (Direct Access), en funktion i Linuxkärnan som gör det möjligt för program att komma åt lagringsmedia som om det vore vanligt RAM-minne. Istället för att läsa data i block, kopiera dem till sidcache och sedan vidare till programmet, kan DAX läsa direkt från minnesadressen.

    Resultatet blir lägre fördröjning, färre minneskopior och lägre RAM-förbrukning. DAX används redan i dag tillsammans med så kallat persistent memory, men DAXFS tar idén ännu längre.

    Hur skiljer sig DAXFS från RAMFS och TMPFS?

    Linux har länge haft minnesbaserade filsystem som RAMFS och TMPFS. De är snabba, men de använder fortfarande sidcache och allokerar minne separat för varje instans.

    DAXFS fungerar annorlunda. Det mappar sammanhängande fysiskt minne direkt till filsystemet, filinnehåll läses via direkta minnesläsningar och samma data kan delas mellan flera system utan att kopieras.

    Man kan likna det vid att flera datorer läser ur samma uppslagna bok, istället för att var och en gör sin egen kopia av sidorna.

    Delat minne från GPU:er, FPGA:er och CXL

    En av de mest intressanta egenskaperna är att DAXFS kan använda minne som inte nödvändigtvis sitter på CPU:n.

    Via Linux-gränssnittet dma-buf kan filsystemet exponera GPU-minne, FPGA-minne och CXL-anslutet minne. Allt detta kan presenteras som vanliga filer, utan att data kopieras.

    Det möjliggör zero-copy-åtkomst till stora, statiska dataset, effektiv delning mellan CPU och acceleratorer samt minskad belastning på systemets vanliga RAM. Åtkomsten är medvetet skrivskyddad, vilket förenklar designen och ökar säkerheten.

    Medvetet minimalistiskt

    DAXFS är inte tänkt att ersätta traditionella filsystem som ext4 eller XFS. I stället är det byggt för ett smalt användningsområde och är därför avsiktligt enkelt.

    Filsystemet är endast läsbart, använder ett självständigt image-format, saknar dynamisk minnesallokering, har ingen avancerad metadatahantering och innehåller ingen komplex enhetshantering.

    Denna enkelhet gör filsystemet lättare att förstå, granska och experimentera med.

    Vad kan man använda DAXFS till?

    DAXFS riktar sig till specifika men växande användningsområden.

    Inom container- och molnmiljöer kan samma container- eller Docker-basimage delas mellan flera Linuxkärnor. Genom att kombinera DAXFS med OverlayFS kan man få skrivbara containrar med minimal RAM-åtgång.

    I CXL-baserade system kan delat minne användas istället för långsamma nätverksöverföringar, där data läses direkt från en gemensam minnespool.

    För acceleratorer möjliggörs zero-copy-åtkomst till statiska AI-modeller och effektiv dataåtkomst i HPC- och AI-system.

    Experimentellt – men lovande

    Koden finns öppet tillgänglig på GitHub och utvecklaren betonar att DAXFS är ett experimentellt förslag. Om filsystemet någon gång inkluderas i Linuxkärnan avgörs av diskussioner och granskning i utvecklargemenskapen.

    Oavsett framtiden visar DAXFS hur Linux fortsätter att utforska nya sätt att hantera minne, lagring och delning av data i takt med modern hårdvara.

    Förklarade begrepp

    DAX (Direct Access)
    En Linux-teknik som gör det möjligt att läsa data direkt från minne utan att gå via sidcache eller block-I/O. Det minskar latens och minnesanvändning.

    Sidcache (Page Cache)
    En del av RAM-minnet där Linux lagrar nyligen lästa filer för att snabba upp framtida åtkomst. Effektivt, men kan leda till att samma data lagras flera gånger i minnet.

    Block-I/O
    Det traditionella sättet att läsa och skriva data i fasta block från lagringsenheter som hårddiskar och SSD:er.

    RAMFS och TMPFS
    Minnesbaserade filsystem i Linux. TMPFS kan begränsas i storlek och använda swap, medan RAMFS växer obegränsat och kan orsaka minnesbrist.

    dma-buf
    Ett Linux-API som gör det möjligt att dela minnesbuffertar mellan olika enheter, till exempel mellan GPU och CPU, utan kopiering.

    GPU (Graphics Processing Unit)
    En processor specialiserad på parallella beräkningar, ofta använd för grafik, AI och maskininlärning.

    FPGA (Field-Programmable Gate Array)
    En programmerbar hårdvarukomponent som kan anpassas för specifika beräkningar efter tillverkning.

    CXL (Compute Express Link)
    En modern anslutningsteknik som gör det möjligt att dela minne mellan CPU:er och externa enheter med låg latens.

    OverlayFS
    Ett Linux-filsystem som kombinerar ett skrivskyddat lager med ett skrivbart, ofta använt i containerteknik.

    Zero-copy
    En teknik där data inte kopieras mellan olika minnesområden, vilket sparar både tid och minne.

    FAKTA: DAXFS
    Vad är det? Ett experimentellt, läsbart Linux-filsystem byggt på Direct Access (DAX).
    Nyckelidé Filer mappas direkt mot sammanhängande fysiskt minne, vilket ger direkta minnesläsningar.
    Varför? Mindre RAM-överhead när många system/containrar annars hade duplicerat samma skrivskyddade data i minnet.
    Vad skiljer det från tmpfs? Tmpfs/ramfs använder sidcache och allokerar per instans; DAXFS pekar mot delat fysiskt minne.
    Stöd för acceleratorminne Kan använda device-backat minne (t.ex. GPU/FPGA/CXL) via dma-buf för skrivskyddad åtkomst.
    Designval Minimalistiskt: read-only image, ingen runtime-allokering, enkel metadata.
    Typiska use cases Delad container-basimage mellan kernelinstanser, DAXFS + OverlayFS för containrar, CXL-minnespoolning, zero-copy statiska data.

  • Linux 6.18 är här – snabbare, smartare och redo för framtidens hårdvara

    Linux 6.18 markerar ett tekniskt kliv framåt med tydliga förbättringar i prestanda, säkerhet och hårdvarustöd. Den nya kärnan introducerar effektivare minneshantering, kraftigt optimerad nätverksprestanda och ett moderniserat säkerhetsramverk, samtidigt som den utökar stödet för såväl avancerad serverinfrastruktur som inbyggda system. Versionen är nu släppt och väntas snart nå användare via distributionsuppdateringar.

    Linux 6.18 är här – snabbare, smartare och redo för framtidens hårdvara

    Linux-kärnan 6.18 har nu släppts officiellt. Trots något fler buggrättningar än önskat i slutskedet ansåg Linus Torvalds att versionen var redo att publiceras.

    Inriktningen för denna release är förbättrad prestanda, skalbarhet, ökad säkerhet samt bredare hårdvarustöd.

    Snabbare minnesallokering med “sheaves”

    En av de största nyheterna är förbättringar i SLUB-allokatorn. Kärnan använder nu per-CPU-cacher för små minnesobjekt, vilket minskar behovet av synkronisering mellan CPU-kärnor. Detta ger upp till cirka 20 procent bättre prestanda vid hög belastning och snabbare hantering av minnesoperationer.

    Förbättrad swap-prestanda

    Linux 6.18 inför första fasen av det nya “swap table”-systemet, vilket gör att hantering av swap blir mer effektiv, särskilt vid högt minnesutnyttjande. Tester visar förbättringar på ungefär 5–20 procent i genomströmning och antal förfrågningar per sekund.

    Persistent cache i kernel via dm-pcache

    En ny device-mapper-target, dm-pcache, gör det möjligt att använda persistent minne som cache framför långsammare lagringsenheter. Detta kan utnyttjas för att skapa ett mellanlager mellan RAM och SSD eller hårddisk på kernel-nivå utan att skriva särskild användarkod.

    Förbättringar inom nätverk

    UDP-mottagningsvägen har optimerats med NUMA-medveten låsning och förbättrad datastrukturdesign. Prestandaökningar på cirka 50 procent rapporteras, särskilt vid extrem belastning.

    Stöd tillkommer för Accurate Explicit Congestion Notification (ECN), vilket ger mer detaljerad återkoppling kring nätverksträngsel. Standardstorleken för socketmottagningsbuffert höjs till 4 MB. Dessutom förbättras skalbarheten med buffertdelningstekniken dibs.

    PSP-krypterade TCP-förbindelser

    Transportskyddet förbättras genom stöd för PSP-krypterade TCP-anslutningar. PSP är utformat för hårdvaruacceleration och kan betraktas som ett alternativ mellan IPsec och TLS, vilket lämpar sig för miljöer där nätverksavlastning är vanlig.

    Signerade BPF-program och förbättrat säkerhetssystem

    Kärnan kan nu verifiera kryptografiskt signerade BPF-program vid inladdning. Även audit-systemet förbättras för att bättre hantera flera Linux Security Modules samtidigt.

    Virtuell maskin-hårdvaruaccess och kontrollflödesskydd

    En virtio SPI-drivrutin introduceras för att hypervisors ska kunna ge virtuell åtkomst till SPI-enheter genom standardiserad virtio-hantering. På x86 erbjuder kärnan nu SEV-SNP CipherText Hiding, vilket hindrar obehöriga CPU-kärnor från att läsa krypterat minne. KVM får även stöd för shadow stacks och indirekt grenövervakning på Intel samt shadow stacks på AMD.

    Förändringar inom filsystem och blocklager

    Ext4 vidareutvecklas med utökade reserverade ID-stöd och nytt ioctl-gränssnitt för åtkomst till superblock-parametrar. OverlayFS får stöd för case-folding och FUSE kan utföra stora kopieringsoperationer direkt.

    Flera gamla och föråldrade funktioner i XFS inaktiveras, och online fsck är nu aktiverat som standard utan att klassas som experimentellt. Bcachefs tas bort helt ur kärnan. Vissa filsystem inför låsfria bitmap-implementeringar för att minska resurskonflikter.

    Bredare hårdvarustöd

    Den nya versionen inkluderar uppdaterade eller helt nya drivrutiner för grafikprocessorer (även nyare Mali-varianter), systemkretsar, nätverkskort, lagringskontroller, USB-enheter, ljud, strömregulatorer, sensorer och styrning av in- och utdata.

    Sammanfattning

    Linux 6.18 ger betydande förbättringar inom minneshantering, nätverksprestanda, swap, säkerhet, virtualisering och stöd för modern hårdvara. Resultaten visar märkbara effektivitetsvinster i server- och datacentermiljöer samt vid högbelastade system.

    Kärnan finns tillgänglig på kernel.org och väntas rullas ut till användare av rullande distributionsmodeller inom de närmaste veckorna. För system som kräver hög prestanda, avancerad virtualisering eller intensiv nätverkshantering rekommenderas uppdatering så snart den erbjuds.

    Linux Kernel 6.18 – Fakta

    Släppdatum: Officiellt lanserad av Linus Torvalds
    Prestanda: Upp till 20 % snabbare minnesallokering via nya SLUB-“sheaves”
    Swap: Ny “swap table” ger effektivare hantering under minnespress
    Nätverk: Cirka 50 % högre UDP RX-prestanda, stöd för Accurate ECN
    TCP-kryptering: PSP-baserade anslutningar med hårdvaruacceleration
    Skalbarhet: Större socketbuffer (4 MB) och förbättrad låshantering
    Säkerhet: Stöd för signerade BPF-program och modernare LSM-integration
    Virtualisering: Shadow stacks, branch tracking och virtio SPI-stöd
    Filsystem: Utökningar i ext4, case-folding i OverlayFS, FUSE optimerat
    Persistent cache: dm-pcache kan använda CXL/DAX-minne som snabb caching-lager
    Hårdvarustöd: Utökade drivrutiner för GPU:er, SoC:er, sensorer och I/O

    Rekommenderas för:
    – Server- och datacentermiljöer
    – System med hög nätverksbelastning
    – Virtualiserings- och containerplattformar
    – System som utnyttjar persistent minne

Etikett: overlayfs

  • DAXFS – ett nytt Linux-filsystem som läser direkt ur minnet

    DAXFS är ett nytt experimentellt filsystem för Linux som vill göra något ovanligt: låta systemet läsa filer direkt ur delat fysiskt minne, utan omvägen via den traditionella lagringsstacken. Genom att bygga på Direct Access kan samma skrivskyddade data delas mellan flera kernelinstanser och till och med ligga kvar i minne som kommer från GPU:er, FPGA:er…

  • Linux 6.18 är här – snabbare, smartare och redo för framtidens hårdvara

    Linux 6.18 markerar ett tekniskt kliv framåt med tydliga förbättringar i prestanda, säkerhet och hårdvarustöd. Den nya kärnan introducerar effektivare minneshantering, kraftigt optimerad nätverksprestanda och ett moderniserat säkerhetsramverk, samtidigt som den utökar stödet för såväl avancerad serverinfrastruktur som inbyggda system. Versionen är nu släppt och väntas snart nå användare via distributionsuppdateringar. Linux 6.18 är här…