Sistema de archivos paralelos
- 10 minutos
NFS evolucionó del entorno empresarial. Está diseñado para controlar el acceso simultáneo a archivos a gran escala. Pero hay un límite superior para el rendimiento y la escala que puede obtener con las soluciones NFS. También hay clases de cargas de trabajo que requieren un acceso paralelo mucho mayor a los archivos, incluida la capacidad de que varios procesos simultáneos escriban en alguna sección de un archivo.
La necesidad de leer y escribir a gran escala ha crecido significativamente durante las últimas dos décadas. Las soluciones del sistema de archivos paralelos son la opción principal para acelerar las cargas de trabajo de alto rendimiento más grandes. Los sistemas de archivos paralelos se originaron en centros de superequipos. Ahora se implementan ampliamente para varios escenarios. Por ejemplo, soluciones de procesamiento sísmico e interpretación utilizadas por las principales empresas de petróleo y gas, y el análisis secundario o terciario de los datos genómicos.
Esta unidad presenta un tratamiento ligero de los sistemas de archivos paralelos. Si ha estado ejecutando estas cargas de trabajo, probablemente esté familiarizado con los controladores, las necesidades y la arquitectura de estas soluciones. Hay un área gris entre las soluciones de NAS distribuidas que ofrecen servicios de NFS y sistemas de archivos en paralelo. El uso de sistemas de archivos paralelos podría satisfacer mejor sus requisitos.
Después de completar esta unidad, estará más familiarizado con las características principales de los sistemas de archivos paralelos.
Los sistemas de archivos paralelos han sido históricamente una clase completa de funcionalidad que requiere conocimientos detallados de E/S de la aplicación. Esta información está aquí para ayudar a crear comprensión, no experiencia.
Sistemas de archivos NAS distribuidos (NFS) frente a sistemas de archivos paralelos
Tanto el NAS distribuido como los sistemas de archivos paralelos son sistemas de archivos compartidos. Varios clientes leen los archivos simultáneamente, los archivos se escriben en y se bloquean, los metadatos se pueden modificar y mucho más.
Puede escalar ambos sistemas agregando o actualizando tecnologías de hardware de almacenamiento, agregando servidores front-end para escalar el acceso de cliente o mejorar la conectividad de red.
E/S en paralelo
Los sistemas de archivos paralelos dividen los archivos en bloques discretos o franjas y distribuyen estos archivos entre varios servidores de almacenamiento. Hay sistemas de archivos distribuidos que segmentan los datos. La diferencia estriba en que los sistemas de archivos en paralelo las exponen directamente a los clientes, mediante la comunicación con los propios servidores de almacenamiento de hospedaje. La división en franjas permite una E/S en paralelo significativa en un sistema NAS distribuido estándar. Los clientes NFS que se ejecutan con los entornos NAS de escalabilidad horizontal más comunes deben acceder a un archivo a través de un único servidor. Cuando los clientes acceden a un solo servidor, provoca problemas cuando el número de solicitudes simultáneas crece más allá de lo que el servidor puede controlar. Y el enfoque de sistemas de archivos en paralelo para el acceso y la fragmentación en paralelo hace que sean una buena opción para las cargas de trabajo que necesitan acceder a archivos grandes en un gran número de clientes simultáneos.
Estos son tres sistemas de archivos paralelos principales:
- GPFS de IBM, conocido como Spectrum Scale
- Lustre, que es de código abierto, pero tiene algunas implementaciones comerciales
- BeeGFS
Estos sistemas logran E/S en paralelo de diferentes maneras. GPFS usa servidores conocidos como dispositivos de almacenamiento de red (NSD) que se conectan a una red de área de almacenamiento de alto rendimiento (SAN). Por lo tanto, los servidores de GPFS tienen una E/S de disco sin procesar como almacenamiento de copia de seguridad. BeeGFS tiene muchos de los mismos componentes arquitectónicos que Lustre, pero también tiene una arquitectura de metadatos distribuida sólida. BeeOND, breve para BeeGFS a petición, habilita entornos BeeGFS a petición que usan almacenamiento en cada cliente. Estos entornos de sistema de archivos temporales se pueden usar para el almacenamiento en búfer en ráfagas.
Sin embargo, en ambos casos, los sistemas de archivos paralelos se pueden escalar agregando más servidores de almacenamiento, lo que a su vez ofrece más E/S paralela a los clientes. Y el recuento total de clientes puede ser grande, que va desde las decenas de miles.
Metadatos
Los clientes NFS interactúan directamente con un servidor NFS, que proporciona información de metadatos y recupera datos para los clientes. Debe ajustar el tamaño del componente de servidor según la cantidad de clientes y la tasa de tráfico esperada. Este componente puede convertirse en un cuello de botella. Los proveedores de NAS pueden implementar algunas optimizaciones de metadatos, pero la mayoría de las implementaciones nfS no reconocen un servicio de metadatos independiente.
Los sistemas de archivos paralelos, por el contrario, suelen implementar estrategias para escalar mejor el acceso a los datos de cliente. Lustre, por ejemplo, implementa un servidor de metadatos independiente (MDS). Los clientes recuperan todos los metadatos de ese sistema. Y los clientes lustre pueden acceder directamente al servidor de almacenamiento donde se encuentra un archivo determinado y pueden leer y escribir varios subprocesos paralelos. Este enfoque permite que la arquitectura escale el ancho de banda en función del número de servidores de almacenamiento implementados.
Tamaño de bloque
Hemos analizado el tamaño de bloque anteriormente, en el contexto de NFS. Los tamaños de bloque del sistema de archivos paralelos pueden ser mayores que los tamaños de bloque NFS. El valor predeterminado rsize/wsize para los clientes NFS suele ser de 64 000. Lustre, por ejemplo, tiene tamaños de bloque en el rango de los megabytes. Este tamaño mayor tiene dos efectos. En primer lugar, la lectura y escritura de archivos grandes es superior en un sistema de archivos paralelo. Pero los sistemas de archivos paralelos ofrecen poca ventaja cuando los tamaños de archivo son pequeños y el número de archivos es grande.
Complejidad
Las soluciones del sistema de archivos distribuidos que ejecutan NFS son fáciles de configurar y ejecutar para casos de uso comunes. Al igual que cualquier sistema, se pueden ajustar para el rendimiento, incluida la manipulación de tamaños de bloque de servidor cliente (rsize/wsize) en función de las cargas de trabajo.
Los sistemas de archivos paralelos suelen funcionar con cargas de trabajo complejas en entornos de escalado. Es más probable que requieran configuración y ajuste para garantizar un rendimiento y una escala suficientes.
Consideraciones sobre la implementación
Azure ofrece varias ofertas de sistema de archivos en paralelo propias. Puede ir a Azure Marketplace para ver las opciones, que incluyen BeeGFS y Lustre. (Busque Whamcloud). También puede instalar Lustre en máquinas virtuales Linux estándar o puede usar las plantillas de Azure Resource Manager (ARM) que se encuentran en el sitio de inicio rápido de Azure .