Se publican los resultados de la prueba de rendimiento del sistema de archivos Reiser5

Se han publicado los resultados de las pruebas de rendimiento del proyecto Reiser5, que desarrolla una versión significativamente rediseñada del sistema de archivos Reiser4 con soporte para volúmenes lógicos que tienen "escalado paralelo", que, a diferencia del RAID tradicional, implica la participación activa del sistema de archivos. en la distribución de datos entre los dispositivos componentes del volumen lógico. Desde la perspectiva de un administrador, la diferencia significativa con respecto a RAID es que los componentes de un volumen lógico de escala paralela son dispositivos de bloque formateados.

Los resultados de las pruebas presentados evalúan el rendimiento de operaciones de archivos comunes, como escribir un archivo en un volumen lógico o leer un archivo de un volumen lógico compuesto por un número variable de unidades de estado sólido. También se consideró la realización de operaciones en volúmenes lógicos, como agregar un dispositivo a un volumen lógico, eliminar un dispositivo de un volumen lógico, restablecer datos de discos proxy y migrar datos de un archivo normal (no especial) a un dispositivo específico. Medido.

Para ensamblar los volúmenes se utilizaron unidades de estado sólido (SSD) en una cantidad de 4 copias. La velocidad de una operación en un volumen lógico se define como la relación entre la cantidad de espacio ocupado en todo el volumen lógico y el tiempo que lleva completar la operación, incluida la sincronización completa con las unidades.

La velocidad de cualquier operación (con la excepción de vaciar datos de un disco proxy en un volumen compuesto por una pequeña cantidad de dispositivos) es mayor que la velocidad de copiar datos de un dispositivo a otro. Al mismo tiempo, a medida que aumenta el número de dispositivos que componen el volumen, aumenta la velocidad de las operaciones. La excepción es la operación de migración de archivos, cuya velocidad se acerca asintóticamente (desde arriba) a la velocidad de escritura en el dispositivo de destino. Acceso secuencial de bajo nivel: Lectura de dispositivo, Escritura M/s, M/s DEV1 470 390 DEV2 530 420 Lectura/escritura secuencial de archivos grandes (M/s): Número de discos en el volumen Escritura Lectura 1 (DEV1) 380 460 1 ( DEV2) 410 518 2 (DEV1+DEV2) 695 744 3 (DEV1+DEV2+DEV3) 890 970 4 (DEV1+DEV2+DEV3+DEV4) 950 1100 Copia en serie de datos desde/hacia un dispositivo formateado Del dispositivo Al dispositivo Velocidad (M/s) DEV1 DEV2 260 DEV2 DEV1 255 Agregar un dispositivo a un volumen lógico: Volumen Dispositivo a agregar Velocidad (M/s) DEV1 DEV2 284 DEV1+DEV2 DEV3 457 DEV1+DEV2+DEV3 DEV4 574 Quitar un dispositivo desde un volumen lógico: Volumen Dispositivo a eliminar Velocidad (M/s) DEV1+DEV2+DEV3+DEV4 DEV4 890 DEV1+DEV2+DEV3 DEV3 606 DEV1+DEV2 DEV2 336 Restablecer datos del disco proxy: Volumen Disco proxy Velocidad ​(M/s) DEV1 DEV4 228 DEV1+DEV2 DEV4 244 DEV1+DEV2+ DEV3 DEV4 290 DEV1 RAM0 283 DEV1+DEV2 RAM0 301 DEV1+DEV2+DEV3 RAM0 374 DEV1+DEV2+DEV3+DEV4 RAM0 427 Volumen de migración de archivos Velocidad del dispositivo de destino (M/s) DEV1+DEV2+DEV3+DEV4 DEV1 387 DEV1+DEV2 +DEV3 DEV1 403 DEV1+DEV2 DEV1 427

Cabe señalar que el rendimiento se puede mejorar aún más si el procedimiento para emitir solicitudes de E/S se paraleliza entre los componentes del volumen lógico (actualmente, por simplicidad, esto se hace en un bucle con un solo subproceso). Y también si lee solo aquellos datos que están sujetos a movimiento durante el reequilibrio (ahora, para simplificar, se leen todos los datos). El límite teórico para la velocidad de agregar/quitar un segundo dispositivo en sistemas con escalado paralelo es el doble de la velocidad de copia del primer disco al segundo (respectivamente, del segundo al primero). Ahora la velocidad para agregar y quitar un segundo disco es respectivamente de 1.1 y 1.3 velocidades de copia.

Además, se ha anunciado un desfragmentador O(1) que procesará todos los componentes de un volumen lógico (incluido el disco proxy) en paralelo, es decir. en un tiempo que no exceda el tiempo de procesamiento del componente más grande por separado.

Fuente: opennet.ru

Añadir un comentario