Red Hat está desarrollando un nuevo sistema de archivos NVFS, efectivo para memoria NVM

Mikuláš Patočka, uno de los desarrolladores de LVM y autor de una serie de invenciones, relacionadas con la optimización del funcionamiento de los sistemas de almacenamiento, que trabaja en la empresa Red Hat, presentó en la lista de correo de los desarrolladores del núcleo de Linux, un nuevo sistema de archivos NVFS, diseñado para crear un sistema de archivos compacto y rápido para chips de memoria no volátil (NVM, non-volatile memory, como NVDIMM), que combina el rendimiento de la RAM con la posibilidad de almacenamiento permanente del contenido.

En el desarrollo de NVFS se consideró la experiencia del sistema de archivos NOVA, creado en 2017 específicamente para memoria NVM, pero no incorporado en el núcleo de Linux y limitada con soporte para núcleos de Linux desde 4.13 hasta 5.1.
El sistema de archivos propuesto NVFS es significativamente más simple que NOVA (4972 líneas de código frente a 21459), proporciona una utilidad fsck, tiene un rendimiento más alto, soporta atributos extendidos (xattrs), etiquetas de seguridad, ACL y cuotas, pero no admite instantáneas. La arquitectura NVFS es similar a
el sistema de archivos Ext4 y se integra bien en el modelo de sistemas de archivos basado en la subsistema VFS, lo que permite minimizar el número de capas y prescindir de un módulo que no requiera parches en el núcleo.

NVFS utiliza la interfaz del núcleo DAX para acceder directamente a los dispositivos de memoria permanente omitiendo el caché de página. Para optimizar el trabajo con memoria NVM, donde se utiliza la direccionamiento por bytes, el contenido del almacenamiento se mapea en el espacio de direcciones lineales del núcleo sin utilizar el nivel tradicional de dispositivos de bloques y un caché intermedio. Para almacenar el contenido de los directorios se utiliza un árbol radix en el que cada nombre de archivo está hasheado y el valor del hash se utiliza durante la búsqueda en el árbol.

La integridad de los datos se garantiza mediante un mecanismo de «actualizaciones suaves» (como en UFS de FreeBSD y en FFS de OpenBSD) sin el uso de registro. Para evitar la corrupción de archivos en NVFS, las operaciones de modificación de datos se agrupan de tal manera que un fallo no puede llevar a la pérdida de bloques o inodos, y la integridad de las estructuras se recupera utilizando la utilidad fsck. La utilidad fsck opera en modo multihilo y proporciona un rendimiento a nivel de 1.6 millones de inodos por segundo.

En en pruebas de rendimiento NVFS realizó una operación de copia de árbol con los textos fuente del núcleo de Linux en memoria NVM aproximadamente un 10% más rápido que NOVA, un 30% más rápido que ext4 y un 37% más rápido que XFS. En la prueba de búsqueda de datos, el sistema de archivos NVFS fue un 3% más rápido que NOVA, y un 15% más rápido que ext4 y XFS (pero con caché de disco activo, NOVA fue un 15% más lenta).
En la prueba de un millón de operaciones con directorios, NVFS superó a NOVA en un 40%, a ext4 en un 22% y a XFS en un 46%. Al simular la actividad de una base de datos, el sistema de archivos NVFS superó a NOVA en un 20%, a ext4 en 18 veces y a XFS en 5 veces. En la prueba fs_mark, los resultados de NVFS y NOVA fueron aproximadamente equivalentes, mientras que ext4 y XFS quedaron atrás en aproximadamente un 300%.

El retraso de los sistemas de archivos tradicionales en memoria NVM se debe a que no están diseñados para la direccionamiento de bytes, que se aplica a la memoria no volátil, que se comporta como memoria RAM convencional. La lectura desde unidades convencionales garantiza la atomicidad de la operación a nivel de lectura/escritura de sectores, mientras que la memoria NVM permite el acceso a nivel de palabras de máquina individuales. Además, los sistemas de archivos tradicionales intentan reducir la intensidad de acceso al medio, que se considera inherentemente más lento que la memoria RAM, y también tratan de agrupar operaciones para garantizar lecturas secuenciales al usar discos duros, gestionar colas de solicitudes, combatir la fragmentación y dividir las prioridades de la ejecución de diferentes operaciones. Para la memoria NVM, tales complejidades son innecesarias, ya que la velocidad de acceso a los datos es comparable a la de la RAM y el orden de acceso no tiene importancia.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster