Se presenta una implementación asincrónica de DISCARD para Btrfs

Para el sistema de archivos btrfs representado Implementación asincrónica de la operación DISCARD (marcar bloques liberados que ya no necesitan ser almacenados físicamente), implementada por ingenieros de Facebook.

La esencia del problema: en la implementación original, DISCARD se ejecuta sincrónicamente con otras operaciones, lo que en algunos casos conduce a problemas de rendimiento, ya que las unidades tienen que esperar a que se completen los comandos correspondientes, lo que requiere tiempo adicional. Esto puede ser un problema si la implementación DISCARD de la unidad es lenta.

Con una implementación asincrónica, no es necesario esperar a que la unidad complete DESCARTAR durante la operación FS normal, lo que elimina el problema al transferir esta operación a un segundo plano. La implementación presentada también realiza algunas optimizaciones. Por ejemplo, espera un tiempo porque le preocupa que el bloque pronto se use de tal manera que no tenga ningún sentido ejecutar el procedimiento DISCARD, y también intenta fusionar regiones antes de ejecutar realmente DISCARD para reducir el número total de operaciones.

Fuente: opennet.ru

Añadir un comentario