Ricerca nel sito web

DAXFS proposto come filesystem a memoria condivisa zero-copy per Linux


Una nuova proposta per Linux introduce DAXFS, un filesystem di sola lettura che bypassa la cache delle pagine per l'accesso diretto alla memoria condivisa.

Cong Wang, uno sviluppatore di kernel presso Multikernel, ha introdotto un nuovo filesystem Linux chiamato DAXFS sulle mailing list del kernel Linux. Come suggerisce il nome, DAXFS si basa sull'infrastruttura Direct Access (DAX) del kernel Linux, permettendo ai filesystem di accedere direttamente alla memoria fisica condivisa senza passare attraverso lo stack tradizionale di I/O a blocchi.

Secondo l'annuncio, a differenza dei noti RAMFS o TMPFS, che si basano sulla cache delle pagine e allocano memoria per ciascuna istanza, DAXFS mappa direttamente nel filesystem aree contigue di memoria fisica. Le letture dei file si risolvono in caricamenti diretti dalla memoria, riducendo l'overhead di memoria in ambienti in cui dati identici in sola lettura verrebbero altrimenti replicati nella RAM.

Il nuovo filesystem è progettato per supportare la memoria esportata da GPU, FPGA o dispositivi collegati tramite CXL tramite l'API dma-buf, consentendo l'accesso in sola lettura ai dati memorizzati direttamente nella memoria supportata dal dispositivo.

Intenzionalmente minimale nella portata, DAXFS utilizza un formato di immagine autonomo e in sola lettura ed evita l'allocazione in fase di esecuzione, la gestione di metadati complessi e la logica di gestione dei dispositivi, rendendolo adatto a determinati casi d'uso.

Questi includono la condivisione di un contenitore comune o di un'immagine di base Docker tra istanze kernel indipendenti, l'uso della memoria condivisa invece dei trasferimenti di rete negli scenari di pooling della memoria CXL, la riduzione dell'uso della RAM combinando un'immagine di base DAXFS condivisa con OverlayFS per i contenitori e la fornitura di accesso a copia zero ai dati statici memorizzati nella memoria dell'acceleratore.

Il codice è disponibile pubblicamente su GitHub, poiché l'autore ha sottolineato che DAXFS è una proposta sperimentale. Qualsiasi percorso verso l'inclusione upstream dipenderebbe da ulteriori discussioni e revisioni all'interno della comunità di sviluppo del kernel Linux.

Per ulteriori informazioni, consultare il messaggio sulla mailing list del kernel.