Red Hat está a desenvolver un novo sistema de ficheiros NVFS que é eficiente para a memoria NVM

Mikuláš Patočka, un dos desenvolvedores de LVM e autor dunha serie de inventosrelacionados coa optimización dos sistemas de almacenamento, traballando en Red Hat, introducido novo sistema de ficheiros na lista de correo do programador do núcleo de Linux NVFS, destinado a crear un FS compacto e rápido para chips de memoria non volátil (NVM, memoria non volátil, por exemplo NVDIMM), combinando o rendemento da RAM coa capacidade de almacenar contido de forma permanente.

A experiencia do FS foi tida en conta ao desenvolver NVFS NOVA, creado especificamente para memoria NVM en 2017, pero non aceptado no núcleo de Linux e limitado soporte para núcleos Linux de 4.13 a 5.1.
O FS NVFS proposto é moito máis sinxelo que NOVA (4972 liñas de código fronte a 21459), proporciona a utilidade fsck, ten un maior rendemento, admite atributos estendidos (xattrs), etiquetas de seguridade, ACL e cotas, pero non admite instantáneas. Arquitectura NVFS está preto de
O sistema de ficheiros Ext4 encaixa ben no modelo de sistemas de ficheiros baseados no subsistema VFS, o que lle permite minimizar o número de capas e conformarse cun módulo que non require parches para o núcleo.

NVFS usa a interface do núcleo DAX para o acceso directo a dispositivos de memoria persistente, evitando a caché da páxina. Para optimizar o funcionamento da memoria NVM dirixida por bytes, o contido da unidade mapea ao espazo de enderezos lineal do núcleo sen o uso dunha capa de dispositivo de bloque tradicional e unha caché intermedia. Úsase para almacenar contidos do directorio árbore de base (árbore de raíz) na que cada nome de ficheiro está dividido e o valor hash úsase cando se busca na árbore.

A integridade dos datos está garantida mediante o "actualizacións suaves"(como en UFS de FreeBSD e FFS de OpenBSD) sen usar o diario. Para evitar a corrupción de ficheiros en NVFS, as operacións de cambio de datos agrúpanse de tal xeito que un fallo non pode levar á perda de bloques ou inodos e restablece a integridade das estruturas mediante a utilidade fsck. A utilidade fsck funciona en modo multiproceso e ofrece un rendemento de forza bruta de 1.6 millóns de inodos por segundo.

В probas de rendemento NVFS realizou a operación de copia da árbore de orixe do núcleo de Linux na memoria NVM un 10 % máis rápido que NOVA, un 30 % máis rápido que ext4 e un 37 % máis rápido que XFS. Na proba de recuperación de datos, NVFS foi máis rápido que NOVA nun 3%, e ext4 e XFS nun 15% (pero coa caché de disco activa, NOVA foi un 15% máis lento).
Na proba de millóns de operacións de directorio, NVFS superou a NOVA nun 40%, ext4 nun 22% e XFS nun 46%. Ao simular a actividade de DBMS, o sistema de ficheiros NVFS superou a NOVA nun 20 %, ext4 en 18 veces e XFS en 5 veces. Na proba fs_mark, o rendemento de NVFS e NOVA resultou ser aproximadamente ao mesmo nivel, mentres que ext4 e XFS quedaron atrás unhas 3 veces.

O atraso dos sistemas de ficheiros tradicionais na memoria NVM débese ao feito de que non están deseñados para o enderezo de bytes, que se usa na memoria non volátil, que parece RAM normal. A lectura de unidades convencionais garante a atomicidade da operación a nivel de lectura/escritura do sector, mentres que a memoria NVM proporciona acceso a nivel de palabras individuais da máquina. Ademais, os sistemas de ficheiros tradicionais tratan de reducir a intensidade de acceso aos medios, que se consideran obviamente máis lentos que a RAM, e tamén tentan agrupar as operacións para garantir a lectura secuencial cando se usan discos duros, procesar as colas de solicitudes, combater a fragmentación e separar prioridades de diferentes operacións. . Para a memoria NVM, tales complicacións son innecesarias, xa que a velocidade de acceso aos datos é comparable á RAM e a orde de acceso non importa.

Fonte: opennet.ru

Engadir un comentario